Shift-Left Testing

January 8, 2019
John Kensinger
John Kensinger

Shift-left testing counters a more traditional approach to testing typically inherent to Waterfall methodology, whereby testing occurs near the end of the software development lifecycle: Requirement, Design, Implementation, Testing, Deployment, and Maintenance. However, as ultimately realized, the cost of testing at the end of the software lifecycle can be too high due to retroactive fixes, re-hauls, and pivots. If a critical issue is found too close to the product launch, release delay or reworking can result in huge losses.

Accordingly, the notion of shift-left testing has grown in popularity, where the testing phase is moved from right to left in the software lifecycle chronology. Testing is thus to be performed earlier in the cycle as well as more frequently throughout. This means testing takes place continuously, not just at the end of the cycle, offering an alternative approach to testing that keeps up with the increasingly-common methodology of continuous deployment.


Types of Shift-Left Testing

Traditional - Traditional shift-left testing places testing priority a little higher up on the totem pole, where it focuses on unit and integration testing as opposed to acceptance and system-level testing.

Incremental - Incremental shift-left testing is involved when complex stages of development are broken down into smaller segments that build upon each other. This allows developers to make sure that each segment is working properly before another segment is added. This form of testing is most commonly used for complex systems, typically those involving hardware integrations.

Agile - Agile shift-left testing is similar to incremental testing, except it’s taken to a smaller and more agile incremental degree, whereby projects take the form of short “sprints” in lieu of larger (traditional) or broadly segmented (incremental) projects.

Model-Based - Model-based shift-left testing pushes the case even further by initiating testing immediately with executable requirements, architecture, and design. In this case, testing is introduced directly after implementation.


Ultimately, each type of shift-left testing requires testers to get involved in the development lifecycle earlier and remain involved throughout all stages. The above forms of testing encourage test-driven development, which helps to prevent the addition of nonfunctional software early on rather than finding it and fixing it further along in the cycle.

In summary, here are the benefits of shift-left testing:

  • 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

Read More

January 17, 2020
QA Squads: a new offering from test IO, amplified by EPAM

Going beyond software  Customers come to test IO for many different reasons. Sometimes, an internal product or QA team needs a force multiplier for real-world testing – to extend the existing QA team’s processes and activities beyond their internal team. Other times, it’s crisis mode – perhaps QA leadership has left the company, or there is a critical product release upcoming that […]

November 25, 2019
iOS testing: TestFlight or Resigner

Here's our guide to which method you should use you to distribute your IOS app to the crowd.

November 15, 2019
Exploratory Testing vs. Test Case Testing

Exploratory testing emphasizes creativity and learning. Test Case testing emphasizes planning and execution. Which one is right for you?

Ship Faster, Sleep Better

Get a Demo
twitterfacebooklinkedin