Shift left testing is an approach used to speed software testing and facilitate development by moving the testing process to an earlier point in the development cycle. Shifting left is a reference to moving testing to the left on a timeline.
Shift left testing is designed to be a better model for shift left (fast lane) development because traditional testing models that wait until later in the development cycle can bottleneck development.
- Traditional shift left testing focuses on unit and integration testing through API testing and modern test tools.
- Incremental shift left testing breaks complex development down into smaller pieces, allowing them to be tested in smaller segments that build upon each other. Incremental shift left testing is widely adopted.
- Agile/DevOps performs testing in numerous sprints. The model is often restricted to developmental testing without operational testing. Agile/DevOps is a popular and ongoing testing type transition.
- Model-based shift left testing includes executable requirements, architecture and design models to eliminate 45-65 percent of errors introduced in these early phases. The model-based approach is the newest trend in shift left testing.
By involving testers sooner, developers hope to catch problems earlier in the development cycle, leaving time available to correct found issues and preventing compound errors. When defects and errors are discovered earlier, less effort is wasted working with a flawed implementation. Detecting problems earlier facilitates debugging, which becomes more difficult as software becomes more complete, with more features integrated. Early involvement also helps ensure that sufficient resources are allocated for testing because testers are more involved in planning stages.
The shift left approach illustrates the common development adage and advice, “Test early and often.”