What is shift-left testing?
Two ideals collide in software development: quality and speed of development. If you work too fast, you risk making mistakes. Anyone who pays attention to quality takes too long. Shift Left Testing is a tool to defuse the collision.
Software development traditionally follows the so-called waterfall model. The following phases are processed one after the other “from top to bottom” or on a timeline from left to right:
- Definition of requirements
- Development of the design
- Coding
- Testing
- publication
At first glance, this order makes perfect sense: Since the tests are at the end, all errors are corrected here. This seems practical because it allows the most perfect version of the software to be published.
Problems of the waterfall model
In everyday life, however, there were some problems of the waterfall model that can be solved by so-called shift left testing:
- If certain errors are not recognized early, this can lead to subsequent errors.
- If the software is developed on behalf of a customer, it is problematic if the customer is only involved in testing at the very end. If, for example, he criticizes a faulty design, this costs a lot of time.
- The days and weeks leading up to the release are actually hardly suitable for testing. Bug fixes, first updates and “polishing” processes determine everyday life.
- Even when testers create bug reports or submit suggestions for improvement, developers often simply don’t have the time to devote themselves to them.
The left shift
The waterfall is resolved during shift left testing. The order without tests now looks like this: Requirements – Design – Coding – Publication. Testing is pushed as far to the left as possible on the timeline and carried out several times.
The order looks like this: Requirements – Tests – Design – Tests – Coding – Tests – Publication. This procedure has the following advantages:
- Since there are no consequential errors, the development speed increases, although more is actually being tested.
- All stakeholders are involved at an early stage. This makes it possible to quickly identify any errors in the design, for example.
- Test protocols can be optimized. Because the testers are involved more and more, they can improve their own work. Firstly, this is because they have less time pressure. Second, they communicate much more with the parties involved in the development.
Shift left testing helps
Due to its advantages, Shift Left Testing is an effective tool to defuse the collision between the two ideals “speed” and “quality”. However, it is not the ultimate solution. For example, test phases can still be artificially extended or not taken seriously enough. The left shift is therefore not a panacea.