Minimum Viable Test Strategy
Written test strategies are a long time and in the end nobody reads them. Many people are probably familiar with this. Even if they are read,...
The idea behind Shift Left is to consider quality as early as possible in the development process. The later quality problems are found, the more expensive and time-consuming they are to rectify. In other words, we try to implement all activities that contribute to high quality and also quality checks as early as possible. Not only clean unit tests play a major role here, but also the development environment, the code quality, the content of the user stories, etc.
“For many of my customers, it is surprising that the development environment plays a huge role, because I can bring a lot of quality into the coding itself” - Alexander Vukovic
Alex has been involved in software development since 1989 and has specialized in software testing since 1996. As a passionate developer, the quality of software is a matter close to his heart. His core areas are consulting, especially in agile quality coaching, method training, product owner, internal product development and load testing. In his spare time, he works as a lecturer for software testing and quality management at the Technikum Wien. He is currently working with the razzfazz.io development team on Node.js development, a highly scalable JavaScript server platform and JavaScript as a full-stack programming language.
Highlights of this episode:
In the “Shift Left” podcast episode, we discuss strategies for incorporating quality assurance early in the development process. Our discussion includes practical tips for application in the area of requirements, development environments and test procedures, including unit testing and contract-based testing.
In this episode, I had the opportunity to talk to Alex Vukovic, co-founder of Seqis and Agile Quality Coach, about the concept of ‘Shift Left’. This approach aims to integrate quality assurance measures as early as possible in the development process in order to increase efficiency and minimize error costs. By shifting quality assurance measures to the ‘left’, i.e. closer to the beginning of the development cycle, problems can be nipped in the bud and the entire process optimized.
Alex shared some valuable insights on how to apply the shift-left approach in practice. These include carefully crafting requirements and user stories, using advanced development environments with support for refactoring and static code analysis, and focusing on unit testing as a fundamental basis for robust software quality. These measures not only improve quality, but also speed up the development process.
A central aspect of the shift-left concept is the importance of a powerful development environment. Tools such as IntelliJ or Visual Studio Code offer powerful functions to support quality assurance measures directly in the coding process. For example, plugins for measuring cyclomatic complexity provide immediate feedback on the complexity of the code, which in turn helps to identify and resolve potential problems at an early stage.
Another important point is unit testing. They are the basic prerequisite for continuous quality improvement and form a fine-meshed network of regression tests that enable changes to be made safely while ensuring that existing functionalities are not impaired. Unit tests enable developers to work on code with confidence and security.
The integration of Consumer Driven Contract Testing provides an efficient way to ensure that APIs work correctly and are compatible with consuming services. Tools like PACT allow teams to define contracts for APIs and run automated tests against these contracts. This reduces the need for complex integration testing and supports faster development while maintaining quality.
Shift Left is more than just a methodology; it is a philosophy for improving quality in the software development process. By integrating quality assurance measures at an early stage and using suitable tools, teams can not only reduce error costs, but also deliver high-quality software more quickly.
Written test strategies are a long time and in the end nobody reads them. Many people are probably familiar with this. Even if they are read,...
Unfortunately, the acceptance test is often seen as the final test stage. If many errors are then found, the excitement and the amount of work...
Accessibility in software development plays a central role in making digital products accessible to all people. It is particularly important to...