World Quality Day
World Quality Day provides an opportunity to take a look at the development of software quality and the changes in software testing over the last 20...
The integration of Shift Left and Shift Right into the development process offers holistic quality assurance. Shift Left promotes early testing to avoid bottlenecks and increase development efficiency. Shift Right complements this with monitoring in the production phase to analyze real-world usage data and enable continuous improvement. Together, these approaches ensure robust and reliable software quality.
Today I’m talking to Björn Scherer about shift left and shift right. We look at how to efficiently distribute testing activities across the entire development process and why it makes sense to test intensively in the production phase too. Björn shares valuable insights and concrete examples from his work, such as the use of synthetic monitoring for proactive error detection. Our conversation shows how a holistic approach can significantly improve software quality. An inspiring episode for anyone interested in advanced testing methods!
“If things are going great and something falls over, we have fixed it before the first customer has noticed that something is broken.” - Bjoern Scherer
Björn Scherer has been passionate about software quality assurance for over 18 years. For more than 10 years he has been working in the Generali Group, where he helps development teams to use test automation as a booster for their software development process through sustainability, stability and insights from the test results. For several years he has been working as Lead Test Engineer for CosmosDirekt, where he supports the transition to a DevOps organization by further developing the test methodology and automation. Previously, Björn helped many projects with load & performance tests to achieve stable load behavior in the service of the T-Systems TestFactory.
At the end of a development process, there are often bottlenecks in testing activities. Despite agile methods and DevOps practices, this problem persists. The shift-left principle aims to carry out tests as early as possible in the development process. This approach allows potential problems to be identified and resolved early on before they become costly. It is crucial to design tasks in parallel to avoid bottlenecks and ensure an efficient workflow.
In contrast to the shift-left approach, shift-right aims to carry out quality assurance measures after the go-live. Often, not all tests can be fully completed before going live, so a minimal test set is sufficient to enable the go-live. This is where increased monitoring in production is added to monitor the system under real conditions and react to potential problems at an early stage. This approach enables continuous improvement of application quality through actual usage data and direct feedback from production.
Both approaches - Shift Left and Shift Right - offer valuable advantages and, in combination, can ensure more comprehensive quality assurance. While Shift Left enables parallelization through early testing and detects errors at an early stage, Shift Right provides valuable insights into the actual use and stability of the application in productive operation. An integrative approach, for example through the use of Acceptance-Test-Driven Development (ATDD), closely links development and test processes and thus promotes end-to-end quality assurance.
A central component of the shift-right approach is synthetic monitoring. This proactive test procedure comprises regularly executed scenarios that ensure that the system functions properly even without active users. Synthetic monitoring plays a particularly important role in user interfaces (UI-based applications), as these are often more prone to errors. It helps to identify and resolve potential problems before they have a negative impact on users and therefore contributes significantly to the stability and reliability of the application.
A particular challenge in synthetic monitoring is the management of test data in production environments. It is essential to create synthetic test data that resembles real customer data but does not contain any real personal data. Careful handling of this data enables real use cases to be tested realistically without compromising the user experience or operational data. Effective test data management thus ensures the consistently high quality of the tests carried out while protecting the integrity of the production environment.
Shift left refers to the principle of carrying out test activities as early as possible in the development process. Tests are integrated into early phases of development in order to identify and rectify potential errors or problems in good time. This avoids quality problems and reduces development costs as errors are rectified at an early stage.
Shift Left and Shift Right are two different approaches to software testing. While Shift Left focuses on early testing in the development process, Shift Right aims to monitor and test the application after go-live in production. Shift Right thus enables the collection of real-time data to improve quality and user experience.
Shift Left reduces development risks and costs by detecting and correcting errors at an early stage. The approach also promotes efficient collaboration between developers and testers and ensures higher software quality, as requirements are checked at an early stage and weaknesses are identified in good time.
Shift Right complements traditional testing by ensuring that the software also runs stably in real production environments. Through monitoring and testing after go-live, problems that were not visible during development can be identified. Shift Right also offers the opportunity to analyze user behavior and continuously improve the application.
Synthetic monitoring is a component of the shift-right approach. Tests are carried out automatically and regularly in the production environment to ensure that the application is stable and error-free. This enables proactive detection and elimination of problems before they affect the user experience.
Synthetic monitoring helps to identify errors before they become visible to users. As it runs continuously and without user interaction, it can detect weaknesses in stability and performance at an early stage. This improves the availability and reliability of the application and protects the user experience.
Test data management in production environments is challenging, as test data must resemble real customer data but must not contain any real personal data. The generation of synthetic data that nevertheless creates realistic test conditions is crucial in order to comply with data protection regulations and not impair the production environment.
Shift Left fits well into agile development processes as it supports the principles of early error detection and continuous improvement. Test activities are integrated directly into the sprints and test automation is encouraged. This enables closer collaboration between developers and testers and ensures fast feedback and shorter development cycles.
The combination of Shift Left and Shift Right offers holistic quality assurance that covers the entire software life cycle. While Shift Left improves development efficiency through early testing and error detection, Shift Right ensures that the software remains stable even after go-live. Together, they enable consistent quality and a positive user experience.
Acceptance-Test-Driven Development (ATDD) supports both Shift Left and Shift Right by creating a close link between requirements and tests. ATDD defines tests as part of the requirements definition, which strengthens collaboration between developers, testers and product owners. This ensures quality assurance from development to production.
World Quality Day provides an opportunity to take a look at the development of software quality and the changes in software testing over the last 20...
Integrating quality into the software development process should be a priority from the outset. The experience gained in testing can be a valuable...
Test data plays a central role in modern software development. It enables data errors to be identified at an early stage and quality assurance to be...