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. It evolves and extends test automation to address the increased complexity and pace of modern application development and delivery.

devops cycle

Continuous Testing Definition: 14 Key Points

Continuous Testing’s primary goal is assessing business risk coverage

Continuous Testing provides instant insight on whether a release candidate is too risky to proceed through the delivery pipeline

Continuous Testing establishes a safety net that helps the team protect the user experience in accelerated development processes and avoid software failure headlines

Continuous Testing expects testing to be embedded within the development process, not tacked on at the end

Continuous Testing is seamlessly integrated into the software delivery pipeline and DevOps toolchain

Continuous Testing expects a stable test environment with valid test data to be available for each and every test run

Continuous Testing embraces everything from “shift left” (unit, component, coverage…) to “shift right” (monitoring/ APM, Testing in Production)

Continuous Testing involves executing the right set of tests at the right stage of the delivery pipeline—without creating a bottleneck

Continuous Testing delivers actionable feedback appropriate for each stage of the delivery pipeline

Continuous Testing evaluates each layer of a modern architecture at the appropriate stage of the delivery pipeline

Continuous Testing includes end-to-end tests that realistically assess the end-user experience across all associated technologies (front-end and back-end)

Continuous Testing’s tests must be broad enough to detect when an application change inadvertently impacts functionality that users have come to rely on

Continuous Testing reduces false positives by prioritizing robust, flexible modern test frameworks over brittle scripts

Continuous Testing involves continuously reviewing and optimizing the test suite to eliminate redundancy and maximize business risk coverage

Continuous Testing is Change

Everyone accepts that Agile and DevOps are all about change—transforming Dev/Ops people, processes, and technologies to deliver innovative software as rapidly as possible. In spite of all this change, one thing tends to remain the same: the software testing process. One recent study reports that 70% of organizations have adopted Agile, but only 30% automate testing. A separate study found that while Agile adoption is now near 88%, only 26% of Agile organizations have broadly adopted test automation.

In other words, testing processes remain stuck in the past even as organizations invest considerable time and effort into transforming their development processes to meet today’s and tomorrow’s business demands.

Most legacy testing tools and processes are unfit for the type of Continuous Testing that Agile and DevOps require due to:

  • Inability to “shift left”: Tests usually cannot be implemented until late in each sprint—when the UI and dependent components such as back-end APIs are finally completed and available for testing.
  • Slow execution time: Tests are time-consuming to execute, so it is not practical to run the complete regression test suite on each build. This means the team lacks instant feedback on whether their changes impact the existing user experience.
  • High maintenance: UI tests require considerable rework to keep pace with the frequent changes typical of accelerated release processes. This results in slow, burdensome maintenance and/or causes automation efforts to be abandoned.
  • Test environment instability: Test environment instability (inaccessible dependencies, test data issues, etc.) commonly cause timeouts, incomplete tests, false positives, and/or inaccurate results—preventing you from delivering the fast quality feedback Agile and DevOps require.

To enable Continuous Testing, automation rates needs to exceed 85%. And to achieve this, several changes are required:

  • Align testing with business risk to optimize test execution, implement automated quality gates, and provide critical insight for release decisions.
  • Minimize manual testing and shift it to session-based exploratory testing.
  • Shift testing efforts to the API layer when feasible.
  • Use test data management and service virtualization to enable continuous execution of realistic end-to-end tests—without false positives and timeouts.
  • Integrate functional testing into CI/CD so it’s a seamless part of the delivery pipeline.
Tricentis Tosca

What’s Required for Continuous Testing?

Continuous Testing and Test Automation

Industry research indicates that average test automation levels have been hovering around 20% for years. Today, changes across the industry are demanding more from testing at the same time that they’re making test automation more difficult to achieve:

  • Application architectures are increasingly more distributed and complex, embracing cloud, APIs, microservices, etc. and combining virtually endless combinations of different protocols and technologies within a single business transaction.
  • Thanks to Agile, DevOps, and Continuous Delivery, many applications are now released anywhere from every 2 weeks to thousands of time a day.  In response, the time available for test design, maintenance, and especially execution decreases dramatically.
  • Now that software is the primary interface to the business, an application failure is a business failure—and even a seemingly minor glitch can have severe repercussions if it impacts the user experience.  As a result, application-related risks have become a primary concern for even non-technical business leaders.

Continuous Testing helps the business control risk in light of the increased complexity and pace of modern application delivery. Continuous Testing evolves and extends traditional test automation in 3 primary ways: risk, breadth, and time/speed.

Continuous Testing vs. Test Automation

Continuous Testing, Continuous Integration, Continuous Delivery, and DevOps

As software becomes the key to creating a competitive advantage across all markets, enterprises no longer enjoy the luxury of selecting either ‘speed’ or ‘quality’ when delivering software. Both are critical. Now that agile practices have matured and DevOps initiatives have entered the corporate agenda, Continuous Integration (CI), Continuous Testing and Continuous Delivery (CD) have emerged as key catalysts for enabling quality at speed. Of the three, Continuous Testing is by far the most challenging.

While Continuous Integration is primarily a tool-driven activity and Continuous Delivery is a tool- and team-driven activity, Continuous Testing involves tools, teams, individuals, and services. Building and integrating code changes is certainly important. However, if the automated delivery process cannot identify how changes impact business risk or disrupt the end-user experience, then the increased frequency and speed of Continuous Integration and Continuous Delivery could become more of a liability than an asset.

Executed correctly, Continuous Testing serves as the centerpiece of the agile downstream process – executing automated tests as part of the software delivery pipeline in order to provide risk-based feedback as rapidly as possible. Mastering Continuous Testing is essential for controlling business risk given the increased complexity and pace of modern application delivery.

Gartner: Continuous Testing for Agile and DevOps

Beyond Continuous Testing with Artificial Intelligence

continuous testing with ai

We’ve already undergone quite a journey to arrive at Continuous Testing. Nevertheless, when we look into the future, it’s clear that even Continuous Testing will not be sufficient.  We’re fast approaching a time when Continuous Testing will be unable to keep pace with shrinking delivery cycles times, increasing technical complexity, and accelerating rates of change.

To ensure quality in an era where software will be processing an unimaginable number of data points in real time—for example, both figuratively driving the internet of things and literally driving “self-driving” cars—we need all the help we can get. Beyond Continuous Testing, we need “Digital Testing” to achieve further acceleration and meet the quality needs of a future driven by IoT, robotics, and quantum computing. AI, imitating intelligent human behavior for machine learning and predictive analytics, can help us get there.

Beyond Continuous Testing with Artificial Intelligence

Continuous Testing Resources

Top 11 Continuous Testing Resources of 2016

Blog

manual to continuous testing

From Manual Testing to Continuous Testing: Webinar Recap

Blog

Continuous Testing vs. Test Automation Featured Image

Continuous Testing vs. Test Automation

Whitepaper

Continuous Testing Tool Comparison

Continuous Testing Tool Comparison

Analyst Research

Retail Company Conquers SAP Testing using Tosca Testsuite Featured Image

Beyond Continuous Testing

Recorded Webinar

Why Use Tricentis for Continuous Testing

Tricentis is recognized as the Continuous Testing leader in both the Forrester Wave and the Gartner Magic Quadrant. We help testers adopt and advance Continuous Testing by:

  • Designing the most efficient set of tests and test data required to achieve the maximum business risk coverage, then delivering test results that report on business risks
  • Creating UI- and API-level tests that are resistant to insignificant changes and easy to update for intentional changes
  • Ensuring that rapidly-evolving applications don’t result in overwhelming false positives and burdensome test maintenance
  • Executing tests continuously, without environment instability and test data availability issues
  • Rapidly exposing (and reliably reproducing) risks beyond the reach of automated testing
  • Integrating functional testing into the software delivery pipeline and DevOps toolchain

What Next?

Get details on how Tricentis helps software testers adopt and advance Continuous Testing through risk-based testing, model-based test automation, service virtualization, test data management, and more.

More about Continuous Testing with Tricentis