Do everything possible at all levels of the organization to try to shift the testing effort upstream of the solution
Whatever the name you assign to software quality practices, there are mainly four classes of testing styles for any artifact:
The test principle “Early testing” [ISTQB 2018] relates to testing as soon as possible, that is to say tests types A if possible, eventually B if Testers can participate in the product ideation process. The idea of “Shift Left Testing” is pulling the testing effort towards A, as much as possible, i.e. shifting the testing effort on the left side of the SDLC. However, with agile development, the product is built iteratively which means that types C and D will participate in “testing early” for the next product increment.
Therefore early testing strategy should be thought of as continuously performing and improving testing wherever in the SDLC. Thus, the Swiss cheese model [Reason 2006] can be used to manage the appropriate quality standard to apply regarding the context [Bach 2019]:
The Swiss cheese model highlights the necessity to combine tests that is confirmed by the table here below which provides an average percentage of defects found in type C static tests [Firesmith 2014]:
Average Percentage of Defects Found
as a Function of Static Verification Method and Defect Type [Firesmith 2014]
When combining static and dynamic, the total effectiveness would reach only 99.27%.
This figure may seem fair, though it does not take into account the financial impact behind it : between $22.2 billion and $59.5 billion annually [NIST 2002][Firesmith 2014] or even up to $113 billion knowing that only $30 billion would end world hunger [Initial State 2014].
To raise the bar regarding defect identification, we need to tackle the hidden devil in every detail through numerous testing techniques that offer different perspectives on the item we want to test as per the “Testing is context dependent” principle [ISTQB 2018], just as you would walk around a car to inspect for defects when you buy it.
Another benefit of shift left testing is that Non Functional Requirements (NFR) are taken into account very early. This is utmostly critical because NFR are among the “Architecturally Significant Requirements” (ASR) [Chen 2013], i.e. they impact drastically the way the architecture will look like.
The so-called “Continuous Testing” is a combined series of activities and mindset which includes
Every time a test is done to prevent some undesirable situations, there should be some kind of gouvernance knowledge that should guide you, beyond the simple and explicit requirements. This is what is named “Double Loop Learning” [Argyris 1977]. The more you try to anticipate, the more fuzzy those explicit requirements may be. This is why X-Teams and PanTesting should be of great help to dive even more into the Shift Left matter.
Since Agilitest is designed for Functional End-to-End testing, Agilitest is usually involved at the end of the SDLC and there is a risk that those tests would delay the product delivery or lower the flow or happen after the Sprint and deployment.
Shift left is extremely valuable when it comes to test scripts automation because it gives you the opportunity to run your tests during the Sprint. This testing strategy leads towards some agile practices at least regarding team collaboration [Subrahmanyam 2021] because testing at the end appears to be a pitfall [Firesmith 2014][Magowan 2020].