How does DevOps affect the modern tester? How Should it? How does the software testing lifecycle fit in with continuous integration and delivery? Will QA still have relevance in a DevOps organization? Here’s my take on these important questions.
Risk Assessment and Software Testing
I can’t stress the importance of risk assessment and software testing enough. In a world enamoured by the promise of DevOps, it’s not unusual for QA professionals and testers to fear that they will be left out. This anxiety is unfounded. In the words of DevOps writer Bill Dickenson, “As the number of release cycles rises, so does the risk of disruptive code entering the system and eroding the very value DevOps created.” When addressing this reality, QA and testing must be brought right into the flow of the process instead of being reserved for the end of the cycle. This is good news. Rather than being treated as an unavoidable source of delays or a hurdle to overcome, risk mitigation and testing can become a valuable part of every phase in the SDLC.
Continuous Integration and Deployment
Continuous Integration and Deployment are in place. Now is the time for continuous testing. At QA Consultants, we’re seeing an increase in requests for CT, and it is a fantastic concept that we encourage more organizations to pursue. In Ragnar Lonn’s article on continuous testing, he speaks of the importance of qualitative risk assessment and how automation can help mitigate risk throughout the SDLC. He also notes the difference between automation and CT. “In essence, automated testing constitutes the detection process for software issues and defect prevention, whereas Continuous Testing addresses the wider challenge of improving the effectiveness of these detection sensors.” In our experience, automated testing on check-in does not take away from manual tests or end-to-end testing. All are needed in the DevOps environment.
Speed is Essential
Speed Is Essential for DevOps-Oriented software testing. It would be wonderful to have weeks or months at the end of the SDLC to focus on testing. However, that is simply not feasible. Speed is vital. That’s one reason there’s an increasing demand for testers who can write code quickly and implement same-day tests that are run on check-in and then fixed and updated as needed.
As an example of how things have changed over the last decade, it’s no longer possible to wait for functional code complete to run performance tests. At QA Consultants, we have actually done load tests the same day on brand new code. Of course, that rapid load testing is only possible with modern tools that make experimentation possible—and the insight of people who thoroughly understand performance and load testing. Don’t get me wrong. This is not the ideal state and certainly not the only software test plan. You still want methodical, planned out and recurring performance tests just like with regression testing. But during a CD cycle deploying code every day, you can gain consistency running a load test every day as well.
Takeaways for QA and Software Testers
There are several takeaways for QA and Software Testers to maintain relevance.
- As we have already learned from Agile, organizations cannot use DevOps for development and have a waterfall QA approach. Those processes are not going to mix. Instead, QA must prepare to be assimilated.
- Traditional non-technical QA is at risk of becoming more UAT focused. QA must demonstrate value in developing risk mitigation strategies and technical solutions that are focused on achieving business goals.
- The SDET (Software Development Engineer in Test) role will see a rise in prominence. Testers will need to have more developed skills and knowledge to support their Developer counterparts on the DevOps team in all phases of the SDLC.
Finally, we need more developers who are willing to become part of the QA and testing conversation. It is my personal hope that we will see much higher levels of participation from the development community to create truly cross-functional teams for DevOps going forward.
If your organization is struggling to integrate QA and software testing into your DevOps workflow, contact our team here for insight and assistance today.
Brian Bernknopf is the Managing Director of the US operations at QA Consultants.