Shift Left Testing?

apps1_0415 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 softwareblog-sqs-chart
  •  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.




Testing in a nutshell

What is Testing?

Regardless of the competency level of developers, all software likely to have errors or bugs. The process of finding bugs and report back to the team in a detailed manner is the main tasks of the ‘bug hunters’ or testers.

Why Testing?

Humans make mistakes!! Some may be unimportant but some of them are expensive. So simply we need to check everything we produce because anything can go wrong anytime.

Ideally testing should be done by someone else because finding your faults on your own is not possible all the time!!! So Testing is very important. That’s why testers are here!!!

There are lot of reasons behind software testing. Here are some of important points among those:

  • To ensure that what we create does what it’s supposed to do
  • Something that works when one person is using may not work when hundreds of people are using it
  • There are lots of different devices, browsers and operating systems out there
  • We owe it to our users and ourselves to deliver the best application we can
  • It’s important to keep ourselves inside the business.

Main activities of the fundamental test process

  • Test  planning and control
  • Test analysis and design
  • Test Implementation and execution
  • Evaluation exit criteria and reporting
  • Test closure activities

Test Levels

  • Component Testing
  • Integration Testing
  • System Testing
  • Acceptance Testing

Test Types

  • Functional Testing
  • Non Functional Testing
  • Structural Testing
  • Re-Testing and Regression Testing

While developers concentrate on ‘how to make’ the application, testers would mainly focus on ‘how to  break’ the implemented piece of software. Sometimes what testers pointing as a defect would called as a new feature by developers. That is why people say developers and testers are in the never ending war

Main job of a tester is to be a critic, to find out where the developer went wrong.  So are they really haters? No, they aren’t, because both developers and testers are working towards the same goal -> Success of the Project!!!