From DevOps to DevTestOps - A Journey Through Continuous Testing

DZone 's Guide to

From DevOps to DevTestOps - A Journey Through Continuous Testing

Learn about continuous testing as part of a DevOps pipeline, and why it's essential to delivery quality software at speed.

· DevOps Zone ·
Free Resource

The 2017 State of DevOps report has rendered impressive statistics on organizations that are high performers with respect to their DevOps Implementation. According to the report, those companies have achieved 46x more frequent software deployments, 96x faster recovery from failures and a staggering 440x faster lead time for changes. With such increased focus on how customer satisfaction is met with accelerated software delivery cycles, the project management processes have been refined than ever before.

One of the key areas that have seen increased scope as an essential component for such growth is testing. Organizations, with the quest to race ahead of their competitors, are adopting the "Test Early, Test Often" approach to ensure quality with increased agility.  But the evolution of this DevOps model further would demand a much greater focus on testing.

Continuous Testing in DevOps

The concept of Continuous Testing categorizes testing as a fundamental, continuous process across the DevOps pipeline rather than as an individual project element. Continuous testing is a crystallized essence of the growing testing focus on DevOps to "Shift Left"- a term coined to illustrate how testing has been "up streamed" in the project cycle all the way to the requirements definition phase. Thus, continuous testing, as a process model, ensures that no stone is left unturned when it comes to continuous integration and deployment.

Along with the conceptualization expanding roles of Continuous Testing model, the DevOps world is also computing the effects it can have on everyday project implementation. Sure, a successfully integrated continuous testing pipeline would ensure greater accuracy, but it also comes with increased cost metrics. So how open are organizations in shifting the focus of their project delivery from DevOps to DevTestOps?

A 2017 research report by Freeform Dynamics titled "Continuous Testing as Digital Business Enabler" gives insights not just on organizations focus on Continuous Testing but on their evolving DevOps model on the whole. The research concluded that, out of 923 IT and testing professionals

  • Over 43% had reported that their organizations are adopting a mix of formal and informal continuous delivery methods and 31% had reported to have completely transitioned to thorough, formal methods.
  • Over 49% considered Continuous Testing to be important as opposed to 26% who thought it to be critical for their project implementation.
  • When it comes to implementation of Continuous Testing, 63% of them agree that traditional testing tools are complex or expensive and 79% has agreed that adoption of this process can be made easier with the right tools; over 72% believe that continuous testing requires a major cultural shift in the organizations' approach to project development.

Continuous Testing vs. Test Automation

While test automation involves individual test cases automated to perform certain functionality, it is largely used to detect the presence of error. Continuous testing, on the other hand, imbibes test automation in the pipeline and offers much more valuable business insights. This difference also highlights one of the major misconceptions about DevOps- that it is about automating everything.

In order to materialize DevOps, much like implementing Continuous Testing, organizations have to think about automating DevOps pipelines. But executing automation in silos, organizations tend to distort the ultimate aim of DevOps as a project model- to enhance project delivery through collaboration.

Building a Templated Approach to Continuous Testing

Continuous Testing, thus, is all about how organizations execute their testing practices- not as a individual stages but as essential modules across every single project level. By shifting left, companies now need a much nuanced approach to their testing process so that they are able to effectively harness its potential.

By building a templated approach, taking into account all the essential components that any organization need for their DevOps implementation, organizations can close all the gaps in ensuring success. An example of a drawing a templated approach to continuous testing comprises of 5 basic parameters- Distribution, Technology, Scale & Load, Environment & Security and Release. When a detailed evaluation of these 5 criteria is done, DevOps teams will have a very clear idea of their entire process pipeline.

In conclusion, the success of any project model begins with a well-defined vision. By inculcating Continuous Testing as the backbone of the entire DevOps process, organizations are taking a huge leap in the way they think about project delivery. To learn in detail about how organizations can look at Continuous testing through a templated approach, with detailed tools guidance, join this webinar “Enabling Continuous Testing in an Agile-paced DevOps Environment” on April 5th. Register your spot here.  

ci/cd, continuous testing, devops, test automation

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}