One thing I keep hearing from our clients is the need for earlier testing, to “shift left”. So, in this blog post I’m writing about that. What does shift left mean in software testing?
The first thing is to think about, where does the need for earlier testing rise from? Of course, it means that there is a bottleneck of testing at the end of the release pipeline. New features get developed faster than current features get through validation and verification phases. Testing is the only thing that keeps everyone else waiting. Developers are blocked from pushing new features. Managers are unhappy when releases must be postponed into the future. Sound familiar?
I think that the answer is not just about updating the tools but updating the QA process. Make a controlled shift left in your development pipeline. Integrating test automation into early stages of software development is one part of the transformation. Virtualizing test environments into containers is another. Creating early mockups for virtualizing integration tests before going into system testing environment. Automated regression tests to ensure functionality constantly. Quick feedback loops, test results notifications and monitoring. Code reviews and pipelines as infrastructure… and a lot more can be attributed under the shift left movement.
Changing the organizational mindset or culture is always the hardest part of the transformation. The developers, testers and the project management all must have same idea about the testing process. Everyone has to agree to the new ways of doing where quality is taken into consideration from the beginning of the development process.
In the end, shift left is about integrating testing into your development process early. This way you can avoid the bottlenecks in future development. The tools can and will change but the idea is stays. The idea that quality is a part of the process from the start.
Sources:
Shift-left testing, Wikipedia, Available: https://en.wikipedia.org/wiki/Shift-left_testing