How DevOps Has Changed the Landscape of Testing
The focus on automation and “continuous everything,” from integration, deployment, and now with all the buzz about continuous testing, makes the day-to-day activities of a tester in DevOps a challenging endeavor. It creates a bit of an identity crisis: If I'm not the one doing the testing and I am not entrenched in automation, then how am I contributing?
Testing Was Never Ours
It's naive for testers to believe that testing and its execution was ever something we owned exclusively. It may not always seem like it, but developers have been testing their changes locally for a long time. As organizations transitioned from waterfall to agile and now into DevOps, a cultural movement tends to come along with it that ingrains a culture of testing into roles that may have rejected it in previous eras.
DevOps has developers accepting responsibility over not just their code, but also its deployment and its effects on production through monitoring and observability.
Loving Testing Means Letting It Go
What testers have always been passionate about is releasing high-quality software that makes users happy. Testing, uncovering bugs, considering edge cases, and being a customer advocate were just the primary expressions of the passion testers have for the software they support. Testers were a check to balance the optimism (and biases) of developers with the reality of implementation and requirements.
This separation and segregation of developers and testers eroded into a false dichotomy as agile and DevOps imposed deeper levels of accountability on developers. There is less of a requirement to be unbiased because healthy agile brings teams closer to their customers, meaning there is less need to guess and predict usage.
Healthy DevOps brings this same intimacy to the environment, where your software is running through monitoring and observability. The value of a dedicated test executor in this reality diminishes because it is too late in the development cycle and too isolated to be efficient.
The real transition for testers in DevOps is coming to grips with the fact that the act of testing is not your primary responsibility—quality is.
Testers lack the power and authority to control the quality of software. You may have had to halt a release from time to time, but it tends to be a pyrrhic victory.
Rather than focus on assuring product quality, testers need to pivot to assuring their teams focus on quality. The goal is to foster a culture of continuous collaboration and source their testers’ mindsets to collectively establish a holistic test strategy.