Automated test coverage is a crucial aspect of software development, as it helps ensure that all aspects of the software are functioning as intended. However, there are two distinct approaches to automated test coverage: Shift Left and Shift Right.
Shift Left testing refers to testing that occurs early in the software development life cycle (SDLC), such as during the design and development phases. It involves testing individual units of code and ensuring that they are functioning as intended before integrating them with other units. This approach helps catch bugs and issues early in the development process, reducing the likelihood of major issues later on.
Shift Right testing, on the other hand, refers to testing that occurs after the software has been deployed. It involves monitoring the software in a production environment and identifying any issues or bugs that arise. This approach allows for real-world testing and can help identify issues that may not have been caught during the development phase.
The diagram of the test coverage is based on the balance of the shift left and shift right.Hence Quality at every stage of Continuous Integration (CI) & Continuous Delivery (CD)
I recommend exploratory testing for all phases of continuous testing.
Both shift left and shift right testing are important for ensuring comprehensive test coverage. Shift left testing helps catch issues early in the development process, while shift right testing allows for real-world testing and identification of issues that may not have been caught during the development phase.
Ultimately, a balanced approach that incorporates both shift left and shift right testing is likely to result in the best possible test automation coverage and overall software quality.
Let's wrap up with a quick recap of Shift Left & Shift Right !
Shift Left
| Shift Right |
Shift Left approach enables testers to add an automation tool like unit or API testing into their build process to ensure quality. | Shift Right testing involves monitoring your application in the wild where it's exposed to real users. |
Shift Left approach enables testers to add an automation tool like unit or API testing into their build process to ensure quality. | Testing in production environments to ensure software performance and stability in the real world, A/B testing, Canary testing. |
Shift-left testing involves less rework, as the approach streamlines the development process to deliver fast.
| Gathering reviews and feedback from application users to provide high satisfaction |
Rigorous brainstorming sessions enable testers to detect bottlenecks in advance to better design | Testing real load levels and usage scenarios that aren’t possible in the pre-production environment Identifying any production issues early i.e. Better customer experience! |
Nice