Skip to content
  • There are no suggestions because the search field is empty.

You Can't Master Testing Unless You Reinvent It

"Don't reinvent the wheel." Sound familiar? It's a familiar adage that, at first glance, seems like good advice. After all, why waste time replicating something already perfected?

However, upon closer inspection, you’d discover that the wheel is, ironically, one of history's most frequently reinvented inventions. Today we use wheels made of alloy, chrome, or steel and non-granite disks, with millions of variations on the wheel. This re-invention was required to cater to the changing requirements in the industry.

Mastering Testing, similarly, demands constant reinvention and change from us. As an experienced test automation engineer with over a decade in the field, I am completely convinced that the path toward mastering testing lies in continuously reinventing ourselves regarding how we think of testing, its process, tools, or techniques.

This doesn't mean we should disregard established practices or neglect to learn from them; rather, we should build upon this foundation.

Whether you're a test engineer, developer, agile project lead, or engineering manager, you've likely encountered this challenge at least once in your career. Seasoned professionals often find that previously reliable testing methodologies no longer yield the desired results for certain projects.

Reinvention serves two primary purposes

  1. Adaptation to new contexts
  2. A deeper understanding of how things work.

As automation engineers, we constantly face new changes, technologies, environments, and users' needs. A perfectly crafted, well-working testing strategy that worked flawlessly a few years ago might be obsolete or inadequate today. Reinventing the testing process enables to us adapt to newer challenges, optimize existing strategies, and improve the quality of our work.

Moreover, the reinventing process develops a much deeper understanding of testing methodologies; it is learning by doing or experimenting with its probable outcome, as opposed to merely learning theories.

The best analogy I can think of is a mechanic. Just as a great mechanic learns to take things apart, ponder how they work, and then put them back together in novel ways, as test engineers, we need to reassemble testing ideas, techniques, and processes in different ways.

Reinventing the way we test also helps speed up delivery with enhanced quality. From a business perspective, if we follow optimized strategies and are ahead in the competitive market, we will own a bigger share of the market.

Let's consider an example. A decade ago, testing was a time-intensive process, requiring significant manual effort and human resources. Forward-thinking companies that have reinvented and inculcated evolving testing strategies—such as automated tests and integrated build pipelines—have significantly reduced human intervention. They sped up their delivery cycles and frequency of releases, allowing them to gain higher customer satisfaction and higher retention, expanding their market share.

Challenges and Pitfalls when Reinventing Testing

In the early stages of our learning process, our reinvented tests, ideas, techniques, or documents may not be perfect. This is expected. The key is to keep our minds open, observe other testers, study, and continuously evaluate the outcomes of our experiments.

Even after years of experience, we should still be reinventing, reworking, and challenging our assumptions. It's a journey of constant learning and improvement, but it comes with its challenges.

Let's examine some of the pitfalls we may come across while challenging our traditional test mechanisms.

  1. Insufficient Test Coverage: A primary challenge is achieving comprehensive test coverage. Inadequate coverage can leave room for undiscovered defects, potentially leading to critical issues in production.

    To address this, testers need to create a well-structured test strategy covering various testing types, including unit, integration, system, and acceptance testing. Techniques like equivalence partitioning and boundary value analysis can help ensure thorough coverage of input variations.

    Additionally, leveraging tools such as code coverage analyzers and SonarQube can help assess overall code quality.
  2. Neglecting Non-functional Testing: Focusing solely on functional testing while neglecting non-functional aspects like performance, security, and usability can result in software that performs well in controlled scenarios but fails under real-world conditions.

    To avoid this, you must define necessary non-functional tests that must be carried out within the test cycle as part of the test strategy.
  3. Ignoring Edge Cases: Software often behaves unpredictably at its boundaries and under extreme conditions. Ignoring edge cases can lead to undiscovered vulnerabilities or inaccuracies.

    Neglecting edge cases can lead to undiscovered vulnerabilities or inaccuracies. Identifying potential edge case scenarios and conducting thorough boundary testing is key to mitigating such issues.

Practical Uses Cases where re-invention can be applied

You must remember that reinvention isn’t about throwing away everything old. The objective should be improvement, striking a balance between established strategies and new explorations. Here are some practical approaches to consider in your reinvention process:

  • Embrace automation – If you are yet to adopt automation, that would be the prominent step in your reinvention process. On the other hand, if you've already adopted automation, re-evaluate existing manual tests to determine if they can be automated using new strategies and technologies. In some cases, you can partially automate some tests to avoid human errors.
  • Challenge existing processes—In a recent project that I worked on, rather than simply diving into testing, we adopted a test grooming session prior to estimations, where we decided what kind of tests we needed to perform and the scope and depth of automation required. This helped us come up with precise estimations.
  • Leverage new technologies – Keep up with the latest trends and technologies in the testing field to ensure you’re not using old versions of libraries or outdated technologies. So allocate some time to research new technologies and check version upgrades.

In my project, we decided to move from Selenium to Playwright. Playwright has built-in capabilities to support auto-waits and offers seamless support for single-page applications, which we needed for our testing process.

Conclusion

By embracing reinvention and new ideas, you can transform yourself from an ordinary tester into a testing evangelist. Your transformation will inspire your team and organization to adopt world-class strategies, cutting-edge tools, and innovative testing processes. Perhaps you can invent the next groundbreaking testing technique.

 



MagicPod is a no-code AI-driven test automation platform for testing mobile and web applications designed to speed up release cycles. Unlike traditional "record & playback" tools, MagicPod uses an AI self-healing mechanism. This means your test scripts are automatically updated when the application's UI changes, significantly reducing maintenance overhead and helping teams focus on development.


Sajitha Tharaka Pathirana

Written by Sajitha Tharaka Pathirana

A Test automation enthusiast, passionate to help the teams to enhance their testing journey with his decade of experience in the field, developing automation platforms and tools to optimize the overall testing process.