In January, we posted an article talking about Shift-Left Testing and its role in the software development lifecycle.
As a quick recap, shift-left testing entails moving the testing phase from right to left in the software lifecycle. Testing is performed earlier in the cycle, and testing takes place continuously, not just at the end of the cycle. This offers an alternative approach to testing that keeps up with continuous deployment.
By shifting left, you can...
- Find bugs and other issues earlier and thus reduce the cost of mistakes found later in the software development lifecycle
- Test continuously throughout the development process to catch small issues before they snowball into larger ones
- Automate testing when possible to increase efficiency and ease of continuous testing
- Develop a more iterative and solidly built product
Chronologically in the SDLC, the earliest forms of shift-left testing typically revolve around automation (i.e. running unit tests). This is because the smallest units come first, and customer-facing features have not yet been implemented or fully built out (thus making it difficult to test for functionality). Of course, you can still test early and often using automation, but is there a place for manual testing at the far left?
If so, when? And how would you implement it?