Continuous Testing

Central to this is Continuous Testing, which Guru99 define in their tutorial as:

“Continuous Testing in DevOps is a software testing type that involves testing the software at every stage of the software development life cycle. The goal of Continuous testing is evaluating the quality of software at every step of the Continuous Delivery Process by testing early and testing often.”

They describe the transition as moving from a hand off-centric approach, with a distinct sequence of isolated events including requirements gathering, coding and testing, to as the name suggests, instead of adopting a process of testing early, testing often, testing everywhere, and automating, using tools like Selenium, Jenkins and Travis.

The experts at offer this tutorial, which explores how individual tools like Selenium can be integrated into an overall DevOps environment to achieve Continuous Testing.

They provide a high-level introduction that sets the scene for the challenge of how DevOps teams typically use a large array of many different tools, and then by focusing on the specific goal of ‘DevSecOps’, they walk through a detailed usage guide that showcases key features and explains how they support the Continuous Testing flow.

On their site SmartBear zooms in on the specific function of UI / browser testing within a context of Continuous Testing, highlighting challenges such as browsers like Google Chrome having a single user base with up to 10 different versions, each presenting multiple app testing issues. Their browser testing service offers various tools for addressing this challenge, through the use of the Selenium tool via different delivery models like a Cloud hosting service.

Continuous Testing Maturity

This InfoQ article provides a thorough review of the maturity journey an organization can go through to advance the sophistication of these CD practices. It defines five main pillars of Culture and Organization, Design and Architecture, Build and Deploy, Test and Verification and Information and Reporting.

In summary it is a process of better integrating previously siloed teams and development tools, automating repetitive coding and deployment functions and forming teams into a self-organizing structure around process flow and product ownership, rather than hierarchical departments.

It defines testing as one of the main pillars, and increasing maturity sees this evolve from being a final, isolated step in a sequence to being embedded directly into and throughout the process of software development. It also matures from manual to automated testing, with the most advanced Expert level also testing the business outcomes not just functional specification.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button