When I first heard this topic, I was like what the heck is this testing type. Later i figured out that this is not a testing type, but a practice with regards to the time period that the testing activities can be carried out, where we can simply define the shift Left testing as taking the testing activities in to the early phases in the Software Development Life Cycle.
We need to take our testing in to early phases, why, because it’s a well-known fact that defect introducing percentage is higher in the early stages than the latter phases.
Main purposes of using the shift left testing is to:
- Increase the quality of the software
- Minimize the test cycle duration
- Prevent critical defect identification only at the end of the development life cycle, because it will be more expensive to fix the defects which have only been identified at the end.
As i red in the Wikipedia, there are four basic ways to do shift left testing, which are state as follow.
- Traditional Shift Left Testing
As in the following figure, Traditional Shift Left Testing mainly concentrate on unit Testing and the integration testing rather focus on Acceptance and System Level testing, Which indicates that the testing is lower down on the right hand side of the V model. Simply it has moved in to the left hand side of the V.
- Incremental Shift Left Testing
In the Incremental Shift Left testing, each part of the single waterfall V model testing activities are shifted left as small number of increments allocating the short time duration. Red arrows in the following figure is indicating this.
- Agile/DevOps Shift Left Testing
Agile/DevOps shift Left Testing may contains one or more small number of Vs as in the above two testing.
- Model-Based Shift Left Testing
Model Based testing result in to immediate testing without waiting long time as in traditional model or a time period as in incremental model or at least a short time as in Agile/DevOps since this type of testing moves the QA activities directly to the left hand sisde of the V
According to the IBM, ” The term Shift Left refers to a practice in software development where teams focus on quality, work on prevention instead of detection, and begin testing earlier than ever before.”
Disclaimer: All the figures i used to illustrate the topic, have been downloaded from the internet.