Testing is a fundamental element of quality assurance and is gaining increasing popularity in the software development scene. Among so many testing trends and methodologies, in this article we’ll look at Shift-Right, which emphasises carrying out tests later in the development process, in production environments and focusing on real scenarios.
We’ll cover the benefits, techniques, implementation, challenges and successful examples of the Shift-Right approach, besides exploring its integration with other testing practices.
What is Shift-Right?
The concept of Shift-Right testing (also called ‘testing in production’) is simple but implies a certain boldness: it involves carrying out tests continuously when the software is already in a production environment. It complements the traditional practice of Shift-Left, which consists of incorporating tests as early as possible in development, avoiding problems rather than detecting them.
And where is the boldness in the Shift-Right approach? In the fact that it leaves the ‘safe’ environment of development and puts the software in contact with users, potentially bringing insights that would be difficult to obtain otherwise. It focuses on ensuring that testing accompanies not only the development stages, but also the entire deployment process and the post-launch stages of the product, involving testing in real environments and ensuring that it is possible to catch errors that sometimes only appear in actual conditions of use.
Shift-Left vs. Shift-Right
Shift-Left guarantees testing at the beginning of the development stages, with the aim of finding as many bugs as possible, as soon as possible, and correcting them before the deployment phase. These measures aim to reduce the gap between writing the code and the possible bugs found, which consequently reduces costs and correction time.
Shift-Right, on the other hand, covers the entire stage after this flow, concentrating on validating the functionality and usability of the product and solving the problems raised by the client. In short, it tends to improve the user journey, ensuring that the product is bug-free in the first few hours after implementation and before future updates.
Shift-Left vs. Shift-Right in the software development cycle
Both resources aim to evaluate and guarantee the quality and performance of new solutions and functionalities in the DevOps process and software development lifecycle, focussing on continuous testing methods. The logic behind the Shift-Left and Shift-Right principles in Agile practice is basically ‘fail-fast’. The main focus is on detecting risks before they become problems.
The benefits of Shift-Right
The main benefit of this methodology is the ability to provide a real users’ point of view, who, because they are not involved in the development stages, end up seeing the application more objectively.
We can also point out the following benefits:
- Reduced costs and time
It avoids high costs and prolonged downtime by identifying previously undetected problems. - Alignment with customer expectations
It captures direct feedback from end users, ensuring that the software meets real expectations and needs. - Risk management
It implements strategies to avoid negative impacts on users, such as rapid rollbacks and testing in controlled environments. - Culture and collaboration
It highlights the need for an organisational culture that promotes collaboration between development, operations and quality teams, guaranteeing transparency and shared responsibility.
Main Shift-Right techniques
Shift-Right includes a variety of techniques that can be applied at different stages of the development lifecycle. Some of the most common are:
- SIEM (Security Information and Event Management)
Security information and event management. It’s a solution that helps organisations detect, analyse and respond to threats. - SOAR (Security Information and Event Management)
Security orchestration, automation and response. It seeks to relieve the burden on IT teams by coordinating, executing and automating tasks. - A/B Testing
An approach to testing hypotheses by creating a control group, introducing different scenarios, functionalities, visuals, etc., and comparing the reactions obtained with the intended reaction. - API security testing
Tracking traffic and outbound calls to understand their behaviour and detect security incidents.
Each of these techniques has its own advantages and disadvantages, so the choice of the ideal technique depends on the specific context of the project and the objectives of the testing team.
Conclusion
Shift-Right, just like its sibling Shift-Left, is essential to ensure that quality is present throughout the product’s development and lifespan, providing a consistent and safe user experience for customers.
I can say that it’s a crucial step in the whole flow, since it’s where we validate real scenarios, acting as if we were the customers themselves. In many cases, companies invite customers with whom they have a good relationship to carry out beta tests to ensure that everything is working as it should.
It's worth emphasising that this isn’t a guarantee that there won't be any more bugs, but rather that the probability of finding them is as low as possible. In other words, it's a way of ensuring that the post-deliverable remains working properly.