What better way to start a blog on continuous testing than with this “I Love Lucy” clip, and then an analogy:
Like Lucy and Ethel, many software testers have been scrambling to keep pace with accelerated processes—then along comes the supervisor saying, “You’re doing splendidly … Speed it up!”
This ever-increasing pace is just one of four aspects of the “perfect storm” driving the need for continuous testing.
What is Continuous Testing?
Continuous testing is the process of executing automated tests as part of the software delivery pipeline to obtain feedback on the business risks associated with a software release candidate as rapidly as possible.
Why do we need to rethink our approach to testing?
The expectations associated with test are changing–but legacy testing platforms aren’t keeping up. Legacy testing platforms take a “heavy” approach to testing. They rely on brittle scripts, deliver slow end-to-end regression test execution and produce an overwhelming level of false positives. As a result, they’ve achieved limited success with test automation. The overall test automation rate is 18 percent, on average–8 percent for enterprises. In a polling question, the audience confirmed that the results of test automation have been so-so, at best.
Now, software testers are facing increasingly complex applications, delivered at dramatically accelerated paces—and they’re expected to deliver trustworthy go/no-go decisions at the new speed of modern business. More of the same won’t get us there. We need to transform the testing process as deliberately and markedly as we’ve transformed the development process.
The Differences Between Test Automation and Continuous Testing
There are three main differences between test automation and continuous testing:
Risk: Exposing more and more innovative functionality to the user is now a competitive differentiator—but it also increases the number, variety and complexity of potential failure points. Most tests are designed to provide low-level details on whether user stories are correctly implementing the requirements—not high-level assessments of whether a release candidate is too risky to release. Would you instantly stop a release based on test results? If not, your tests aren’t properly aligned with business risks.
Breadth: Just knowing that a unit test failed or a UI test passed doesn’t tell you whether the overall user experience is impacted by recent application changes. To protect the end user experience, you need tests that are broad enough to detect when an application change inadvertently impacts functionality which users have come to rely on.
Time: If your organization has adopted DevOps and is performing continuous delivery, software may be released hourly—or even more frequently. In this case, feedback at each stage of the process can’t just be “fast”; it must be nearly instantaneous. If the business wants to minimize the risk of faulty software reaching an end user, you need some way to achieve the necessary level of risk coverage and testing breadth—fast.
What Are the Key Points of Continuous Testing?
- Continuous testing’s primary goal is assessing business risk coverage.
- Continuous testing establishes a safety net that helps the team protect the user.
- Continuous testing requires a stable test environment to be available on demand.
- Continuous testing is seamlessly integrated into the software delivery pipeline and DevOps toolchain.
- Continuous testing delivers actionable feedback appropriate for each stage of the delivery pipeline.
You can find a more extensive list (14 points) at the What is Continuous Testing page.
Where Can I Learn More About Continuous Testing?
Watch the complete continuous testing webinar to get more details on the above topics and also learn:
- How continuous testing impacts the organization
- What practices testers need to know to be successful with continuous testing
- How non-automated practices such as exploratory testing fit into continuous testing
If you want to learn more, download the white paper, “Continuous Testing vs Test Automation: What Testers Need to Know” or visit the What is Continuous Testing page.