A Continuous Testing Crash Course for Software Testers

DZone 's Guide to

A Continuous Testing Crash Course for Software Testers

Expectations of testing are ramping up, and legacy testing platforms are falling behind. Learn about the need for continuous software testing.

· DevOps Zone ·
Free Resource

Tricentis’ recent Continuous Testing webinar started 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.

After setting the stage for both the importance and inevitability of continuous testing, Wayne Ariola provided software testers with a crash course in continuous testing. Here are some of the key continuous testing takeaways:

What Is Continuous Testing?

Continuous testing is the process of executing automated tests as part of the software delivery pipeline in order 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 testing 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%, on average–8% 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.

What Are the 3 Main Differences Between Test Automation and Continuous Testing?

There are 3 main differences between test automation and Continuous Testing:

  1. Risk
  2. Breadth
  3. Time

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?

The session presented the following “top 5” points of continuous testing:

  1. Continuous testing’s primary goal is assessing business risk coverage.
  2. Continuous testing establishes a safety net that helps the team protect the user.
  3. Continuous testing requires a stable test environment to be available on demand.
  4. Continuous testing is seamlessly integrated into the software delivery pipeline and DevOps toolchain.
  5. Continuous testing delivers actionable feedback appropriate for each stage of the delivery pipeline.

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 like exploratory testing fit into continuous testing.

If you prefer to read rather than watch, download the white paper Continuous Testing vs Test Automation: What Testers Need to Know or visit the What is Continuous Testing page.

continuous testing, devops, software testing, test automation

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}