Agile/DevOps shift-left testing

Shift-left testing is an approach to software testing and system testing in which testing is performed earlier in the life-cycle (i.e., moved left on the project timeline). It is the first half of the maxim "Test early and often."

Shift-left testing is important because it helps to prevent the following types of harm due to late testing:

  • Testers may be less involved in initial planning, often resulting in insufficient resources being allocated to testing.

  • Many requirements, architecture, and design defects are not uncovered and fixed until after significant effort has been wasted on their implementation.

  • Debugging (including identifying, localizing, fixing, and regression testing defects) becomes harder as more software is produced and integrated.

  • Encapsulation (object-oriented programming) makes it harder to perform white box testing and to achieve high levels of code coverage during testing.

  • There is less time to fix defects found by testing, thereby increasing the likelihood that they will be postponed until later increments or versions of the system, which creates a “bow wave” of technical debt that can sink projects if it grows too large.

Agile/DevOps shift-left testing Model:

Last updated