Skip main navigation

Continuous testing in DevOps

In this article, we discover testing in DevOps. We specifically look at continuous testing, beta testing and progressing exposure.

Continuous testing has a place in every DevOps environment. You ideally want to reach a point where your testing is integrated with your deployment pipeline.

This enables you to test at every level that you need to get high-quality code and confidence into what you are shipping.

What is Continuous Testing?

Continuous testing is the execution of tests repeatedly against a code base and deployment environment.

In practice, It is the most difficult part of a continuous delivery pipeline to keep up to date. It provides quality gates throughout the pipeline and increases confidence in code long before production.

Types of Testing

Traditionally, testing was time-consuming and costly. With DevOps, continuous testing spreads the load of the test throughout the development lifecycle of your application. In doing so, automation is the key.

You may want to experiment with automating some of these common tests in your continuous testing:

  • Unit testing is where you test units of a system in isolation
  • Integration testing is where you test components together in scenarios
  • User interface (UI) testing where you test your system at scale
  • Manual and exploratory testing where you use your human intellect to try to break the application

The depth of testing often progresses as an environment gets closer to production. For that reason, you can use an iterative and incremental approach to testing.

Benefits of Continuous Testing

There is a myriad of benefits to continuous testing. Having different levels of quality gates throughout your pipeline allows you to gather context for your developers and operations team at each failure point.

It gives increased confidence that your code is going to make it and that you are delivering a quality application.

Beta Testing and Progressive Exposure

Beta testing and progressive exposure are important strategies in DevOps to receive critical feedback in production.

Beta testing is a form of external user acceptance testing where beta versions of an application are released to a limited audience, known as beta testers. Versions are released to groups of people for more testing and sometimes made available to the public for more feedback.

Progressive exposure is a technique that entails switching small numbers of users over to a new version of the software for feedback, then progressively exposing more users to the features over time.

Both techniques involve a small group of users who test new versions of an application. Rapid feedback means that you will quickly know which features are relevant and that you will have the information you need to strategize and implement ways to improve the application.

Any performance issues will only affect the small number of users testing the new version. These topics are covered in more depth in the section on application performance monitoring later in this course.

This article is from the free online

Microsoft Future Ready: Fundamentals of DevOps and Azure Pipeline

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now