As waterfall software development gave way to agile, testing lagged behind and was accused of causing all the bottlenecks. But not anymore. The rise of continuous testing means that testing can keep pace with agile software development and help you get software to market faster.
Ten years ago, it was all about waterfall delivery. You spent months, years engineering a piece of software, tested it at the end of the process, found the anomalies and then went back to fix them. Finding and solving glitches as you go is a no brainer – so waterfall gave way to agile and DevOps and software development became faster and unleashed all manner of innovative working practices. Everyone wants to act like a tech start-up and create state of the art products, right?
Right. Although not as easy as it sounds. The cultural and operational overhaul that most organisations went through to reach an agile state of mind has been arduous. Untangling spaghetti junctions of working practices and processes has been a headache, along with figuring out how testing fits into the puzzle.
Easing the bottlenecks
When the software release cycle reduces from years or months, to days or even hours, how does testing adapt to ensure the software released in production doesn’t break or cause any bottlenecks?
I think if you spoke to most developers who work in an agile or DevOps environment, testing would be their biggest bug bear, because it causes the most traffic jams and hold ups.
So how do you solve that? Continuous testing. If software production is continuous, then testing and quality assurance (QA) need to work in the same way. In a nutshell, continuous testing is about transforming testing and QA into an on-going element of the software delivery cycle, rather than conducting it at specific points during that process. The goal of continuous testing in an agile or DevOps environment is to conduct ‘in sprint testing’ – so every type of test, some of which are automated, some are not – are conducted within each sprint, meaning at the end of each phase, you get software that is fully functioning.
But like the move to agile, the move to continuous testing isn’t easy.