The LEAP

Automation insights and productivity tips from LEAPWORK.

All Posts

The Critical Role of Continuous Testing in Continuous Delivery

To keep up with the ever-increasing customer expectations to digital products and services, software providers are under pressure to be more and more thorough in their quality assurance of products. Read on to learn how continuous testing can support those efforts.

An effective way to improve quality assurance (QA) is to fail fast.

The purpose of failing fast is to catch and fix a bug as close to its origin as possible, before it makes its way further down the release pipeline.

Because it’s much easier and less costly to fix an error in the context of which it was created, it’s always preferable for an error not to change hands.

The traditional waterfall approach to software development does not support the objective of failing fast, as software testing is postponed until the final stages of a release. As such, another approach to QA is required.

Enter continuous testing.

What is continuous testing?

The move towards a more agile production of software has introduced the concept of Continuous Delivery (CD).

Author and long-time developer Jez Humble defines CD as “the ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.”

A common challenge when developing software following CD principles is the issue of constraint: You can only deliver as fast as your slowest asset.

After a feature has been developed, but before it is released, what's most time-consuming is testing and all its related activities: bug fixing, deployment to test environments, etc.

There’s a rule of thumb in software development: You can release whenever you’re satisfied with the quality. 

Whereas agile development does not in itself ensure good quality, continuous delivery aims to help answer the question “What’s the quality of our software right now?” at any given point in the pipeline.

Continuous testing is a means to be able to answer that question, as this method is all about:

  • Testing at earlier stages of the release pipeline
  • Testing more often before release
  • Testing everywhere, that is, across environments and devices

Continuous testing helps software teams approach the ideal of being able to evaluate quality at several stages of a pipeline where code is continuously developed, delivered, and deployed.

The agile development cycle with continuous testing and continuous delivery

Facts about agile development, continuous delivery and continuous testing

Continuous testing and test automation

In practice, continuous testing is achieved by having various tests (e.g. regression, functional, integration, and performance tests) being executed at their respective stages of the release pipeline, ideally without requiring human involvement to increase speed, lower costs, and reduce human error stemming from repetitive work.

This is called orchestrated automation and automated testing is an essential part of that.

Continuous testing cycleTo adopt continuous testing successfully in a CD setup then, requires a test automation solution that’s a good fit for your pipeline. It’s important to note, however, that test automation does not in itself enable continuous testing, but it is absolutely a prerequisite for scaling testing – whether continuous or traditional.

Conclusion

Continuous testing is about thorough, frequent, and reiterative execution of tests along the release pipeline. It enables early discovery of errors, and combined with other initiatives, such as Scrum, continuous testing helps you achieve agile development.

If you want to learn more about how to achieve continuous testing and the role of it in agile development, download our whitepaper: Agile Testing.

Download Whitepaper: Agile Testing

Aske Denning
Aske Denning
Content Marketing Manager at LEAPWORK

Related Posts

Best Practices for Building Maintainable and Scalable Test Automation

There’s a major difference between automating twenty test cases and automating 2000 test cases; while it’s completely possible to take an ad-hoc approach when there are only a few test cases, it becomes an entirely different story when test cases run into the thousands.

How to Build Stable Test Automation

Test automation brings many benefits with it, such as increased execution and reduced risk. But these benefits may be diminished if the tests aren’t performing as intended. There are several reasons why tests become unstable, most of which you can turn around by following these best practices and guidelines.

How to Effectively Analyze Test Automation Results

If you have introduced test automation as a means to achieve more efficient testing, you’re probably also interested in making the test result analysis process as efficient as possible. This requires the right approach and the right set of tools.