Shift left testing = a practice of testing frequently, as early as possible. That’s shift left testing in a nutshell!
The QA Team has an important role to play in executing DevOps. Shifting left requires two key DevOps practices to be considered which are continuous testing and continuous deployment. As you read through this article, you will understand how shifting left truly empowers DevOps.
This article also discusses the cultural shift this move encompasses, and the advantages that are inferred from it. Test automation has been the secret ingredient in making shift left testing work successfully, and with that, some tools have been listed to help you explore this further as well.
The topics discussed in this article are:
Shift right testing – A brief overview
In the traditional way of working in a project, in a waterfall method, the team would test much later in the project. The result was obvious as there was a high number of errors reaching the customer. A defect discovered late in the project is much more expensive to correct, both in finances and in terms of effort. A defect found late may even cause significant design changes and may involve a lot of effort addressing the issue. All this signifies the shift right way of testing.
Shift left testing– A culture shift from the traditional waterfall model towards agile methods.
Shift left testing is about –
With the incorporation of this methodology, the lines are blurred between the testers and developers, as they are always working with each other, and not as two separate entities. This becomes a significant cultural shift and has proven to result in robust products being built. After all, quality is the key in business outcomes, and The QA team holds the power behind customer satisfaction.
7 steps we took to implement shift left testing: My story
When did I first start believing in the power of shift left testing? Here is my story:
We, in the QA team, were running functional and integration tests. We ran them only at the end of every development cycle. However, we noticed that many defects were reaching the customer. Delays in the project and correction of defects reaching the customer were proving costly.
With this issue, we quickly got together and decided to revamp our test strategy – to shift left in testing. We decided to test all parts of the project.
The choice of the right automation testing tool; Some examples of tools:
The tool that you choose for automation should observe an open automation methodology – which lets you integrate your existing toolset/development setup easily. The wider range allowed for integration with different frameworks, tools, and software, which turns out beneficial for the project. For example, TestProject, Tricentis Tosca, etc., lets you integrate with several tools like Jenkins, JIRA, Selenium, and many more. PostMan, SOAPUI tools can be used for API test automation. Some BDD tools I recommend are Cucumber, JDave, etc.
Your QA team cannot always handle the burden of manually creating the tests in less time. With the help of an automation tool, this can be done automatically and quickly as well.
Advantages with shift left testing
How shift left testing is associated with DevOps
DevOps builds on the base of continuous feedback. With frequent testing, this is exactly what we got. Because of the fact that testers and developers, as well as the rest of the team, were in constant collaboration to make it work, the traditional silos setup was broken. There was an eventual removal of silos between the development and operations. Everyone started collaborating.
Also, it syncs well with the CICD practices, wherein there is continuous testing. We automated the tests and ran them as early as possible, and as often as possible. Apart from that, we also embedded service virtualization to mimic unavailable systems. It also syncs with the continuous deployment concept of CICD. Continuous deployment involves the automation of provisioning and deployment of new builds and hence enabling continuous testing to occur quickly, and in an efficient manner.
Shift left testing holds true to its definition in that it is a practice in SDLC in which the teams focus on the quality, and work on problem prevention rather than focus entirely on detection. The idea of testing earlier almost always gives benefit to the project. Let us keep the test strategy and the culture of the organization healthy and positive. Shift left testing has been amplified to get them both right, leading to a happy client and a happy team.