DevOps is an Opportunity for Software QA

The DevOps approach has been sometimes considered as a thread for software testers, as it might be a trick to minimize the software testing activities. In this article, Tom Gilmore explains why DevOps should be considered as an opportunity for software quality assurance (QA) as it will support the move towards test automation.

Author: Tom Gilmore,

If you look around most QA message boards you still see the topic of automated testing versus manual testing being debated over and over. I am not going to get into this debate because I believe the overwhelming evidence, industry direction and true nature of what quality assurance is supposed to be dictates that we should be moving to automated testing.

What I am going to discuss is my belief that DevOps actually presents a great opportunity to those in QA who can see the underlying foundation of what DevOps is. DevOps borrows from the quality principles of Deming, TQM and Lean, with the emphasis being on preventing issues instead of detecting them. In other words, doing quality assurance instead of quality control.

Devops for Software Testing and QA

Picture by Anders Jildén source:

So how is this an opportunity for QA, because research is showing that the majority of successful DevOps implementations have started from “within” not as top down directives. This means there is an opportunity for QA members to get involved in introducing DevOps to the organization from the beginning.

So how could someone in QA go about helping introduce DevOps to the organization? Here are a few ideas. First, we need to remember that a key to DevOps is breaking down the traditional silos (QA, Dev, BA, Ops, etc…) and moving to cross functional teams. This means it is good to look for like minded individuals in Dev, QA, BA’s and Ops who are also interested in introducing the benefits of DevOps.

Trying to introduce methods such as Specification by Example, Behavior-Driven Development (BDD) or Acceptance Test-Driven Development (ATDD) to your agile team is one place you can start. Work with your team to see if you can get them to try using this for the acceptance criteria, remember we don’t necessarily need to introduce a BDD or ATDD tool at first to do this. Once your team gets this in place and starts to see the benefits, try introducing it to other agile teams and evangelizing the benefits your team has discovered using this method.

Another area where you can get involved is automated testing. Here is where it can come in handy to reach out to like minded developers or operations folks. Even if you are not technically comfortable with automated testing yet, these new friends can probably help you get setup and started. If you do some simple research you will find that a number of folks in the open source automated testing community have put together toolsets that can be downloaded and allow you to get started automating right away. Remember a few things here, first you don’t need to automate everything right away and the toolset you choose isn’t necessarily the toolset you will put into place when you try to scale DevOps. A great place to show the organization the benefits of automated testing is creating a simple set of smoke tests.

The last opportunity I will discuss is educating others. Since DevOps is based on the principles, processes and tools of Deming, TQM and Lean and Quality Assurance is also based on these same underlying principles it is a natural for QA to help educate others. The truth is that the vast majority of organizations who attempt to move to DevOps are going to fail because they simply believe that it is about adopting tools, be one of the innovators who can educate the organization on the required cultural and process changes that are truly required to be successful in adopting DevOps.

About the Author

Tom Gilmore is a software architect and quality engineer with more than 20 years of experience in quality assurance, Agile development and automated testing. He focuses on helping organizations develop solutions to improve quality, improve DevOps and decrease release time. This article was originally published on and is reproduced with permission from