The Changing Role of Testing in DevOps
DevOps is the main methodology transforming how software and product development is happening today. However, the name implies that only development and IT operations are key, while giving an impression that testing is not as essential. In my opinion, it should really be called “DevTestOps.”
Although testing is just as important as ever, thanks to DevOps, who does the testing and how it is done are changing.
First, the role and skills of tester are changing. Testers have to get involved from day one and be part of gathering requirements. They also have to become comfortable with the code and be able to analyze it. The focus shifts from testing alone to working as part of the team in order to ensure quality is built into the software development process. With DevOps, testing becomes everyone's responsibility.
Second, without automation, it is hard to complete all the testing within the typical two-week sprint cycle. If testers are traditionally engaged in the second week of the sprint cycle, testing would never get done by the end of the sprint. In DevOps, automation is a must for a successful sprint cycle.
DevOps calls for a higher level of integration between the various stakeholders, from the process of writing the code to testing the code and, finally, the code deployment. The emphasis is on the use of continuous integration and automated testing tools. DevOps blurs the boundaries between the roles of the different contributors in the chain, mandating that everyone has to contribute across the entire software development lifecycle. As a result, the QA engineers can develop automation frameworks and configure automation test cases at any point along the chain.
You can't test in quality; you have to build it in from the start of the software development process. In the last decade or so, testing and testers have made a special place for themselves after the development stage of the assembly line.
But today, testers have to possess more than just good testing skills. They should become more technically adept, learn the basics of coding, and be able to collaborate with developers. Testers should also elevate their skills to become automation experts.
The key is not embedding testers at one point in the software development chain, but embedding testing along the entire product development process. In DevOps, quality is everyone’s job.