The key outcome of moving to a new DevOps operating model is a greatly increased frequency of software releases, transforming from a slow-moving, infrequent and lumbering waterfall release schedule, to one of high velocity, multiple release throughput.
Central to this is Continuous Integration and Deployment, where the development and deployment to production is an ongoing process such that it becomes the unconscious norm for the team rather than a monolith activity requiring extensive planning and subject to large scale failure.
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.
In the Infoworld article, Isaac Sacolick defines an outline strategy for Continuous Testing. He identifies that integration with tools like Jenkins is essential and that not all types of testing are suitable for incorporation into the CI/CD pipeline, such as long-running tests that may be better addressed through overnight batch jobs.
He suggests a persona-based approach, prioritizing based on the different stakeholders who would benefit most from automating testing into the pipeline process, such as QA teams, API developers, security and operations teams, who may be most dependent on the feedback Continuous Testing generates.
In their tutorial video, IBM explores some of the core challenges that arise from Continuous Testing, suggesting the key is inverting the ratio of effort applied to UI, API and unit testing, highlighting issues such as trying to automate too much of the UI testing, where it is likely to change frequently and thus break the scripts.
As another example of the type of vendor innovation that supports the adoption of Continuous Testing is how Tricentis describe further incorporating performance testing into the practice. Through their acquisition of Neotys, they now blend together functional and performance testing. Like many aspects of testing, assessing the scalability of applications was a step typically taken at the end of the development cycle, indeed one separate even to code testing. With the blending of testing throughout the DevOps lifecycle, this type of enhancement enables development teams to better embed the capability directly into their daily work.
Other vendors also explore this critical aspect of tooling and its relationship to the DevOps workflow.
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.
The experts at SoftwareTestingHelp.com then 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.
This article provides an introductory snapshot into the benefits and challenges of evolving to a fast-paced DevOps culture underpinning Continuous Integration and Testing practices. Experts with tools like Selenium and the team and skills practices needed to successfully adopt them, 2i is ideally positioned to support your organisation in making this transformation.
Follow Us on LinkedIn
For more industry-leading insights and engagement with like-minded testing professionals, be sure to follow our 2i LinkedIn page.