By: Cynthia Harvey
DevOps requires everyone who works in IT to undergo a cultural transformation. And that transformation is often particularly profound for those who work on the quality assurance (QA) or testing teams.
A dramatic cultural shift can sometimes seem unnerving for people who have worked in QA for a long time. However, many testing professionals whose companies have adopted DevOps approaches say that the changes were actually a tremendous benefit, both for them personally and for the company as a whole. DevOps-style testing often elevates the internal status of QA while increasing the quality of code that the company produces and giving the testing team more interesting and fulfilling work.
To understand how and why this happens, you need to understand five ways that DevOps testing processes differ from traditional testing:
1. Continuous Testing
Outside a DevOps environment, testing is usually an activity that happens right after development and right before code gets pushed into production. Testing professionals work independently from the dev team, and developers might even resent the QA people because they often serve as messengers bearing bad news about problems in the code.
However, using the DevOps approach, test engineers and architects work very closely with developers from the very beginning of a project. They start planning, strategizing and creating tests right away, and testing takes place continuously and concurrently with the development process.
2. Everyone’s Responsibility
In this new scenario, a lot more people are involved in testing. In fact, developers typically run tests on their own every day before committing their code. This takes testers out of their traditional role as gatekeepers and instead spreads the responsibility for creating quality code throughout the department. Instead of being seen as a bottleneck slowing down development, testers are now valuable collaborators who can help everyone get their jobs done.
3. Automation
Continuous testing means that a lot more tests are going to be run. And if you want to do that without massively increasing your headcount, you’re going to have to rely on automated tests. A lot of the low-level work that QA people used to do, instead gets performed by automated systems.
4. A New Role for QA
When they hear about this automation, some QA folks worry about their job security. But the truth is that DevOps teams still need testing experts. Your organization will always need people to be involved with test design, test case development and setting up the test automation and orchestration. Your firm will also need people to do the more refined and exploratory work that simply can’t be automated.
5. Experimentation
In practice, the reliance on automation frees testing professionals from the drudgery of repetitive, boring tests and enables to do more ad hoc, experimental work that computers can’t do on their own. This empowers QA to find ways to improve the code that might otherwise have gone unnoticed.
DevOps guru Gene Kim talks about three ways of thinking that underpin DevOps principles, and his “third way” is to create a culture of continual experimentation and learning. Continuous testing, automation and spreading testing responsibility throughout the IT organization free QA professionals up to do more of this “third-way” type of thinking, which in turn, improves code quality and the end product.
This blog post has only scratched the surface of what’s involved in DevOps testing. To learn more, check out the DevOps Institute DevOps Test Engineering (DTE)® Certification course. It covers culture and team aspects of test engineering, test strategies, test infrastructures, test tools, test automation, best practices, test management, and analysis.
About the Author
Cynthia Harvey is a freelance writer and editor based in the Detroit area. She has been covering the technology industry for more than fifteen years.