More and more software products are being developed using agile methods to meet the changing market and customer expectations. The shorter release cycles require a very high level of development quality. In most agile teams, software testers are often held responsible for the quality of the product.
To meet release cycles, development teams need to develop automated tests to achieve effective, reliable, and repeatable results. However, manual testing should not be neglected. Why? That’s what the following article describes.
How much automation makes sense?
Many companies make a serious mistake. Development teams are often required to cover 100% of the software with the help of automated tests. This may be plausible in theory but is almost impossible to implement in practice.
Although short release cycles require at least partial automation, the effort required for complete test coverage of all test levels, from unit to UI tests, would cost an enormous amount of time and money, which a company can use in a more targeted and efficient manner.
Manual testing is still necessary
Automated tests are not a magic bullet. They cannot and will not completely replace manual tests. Instead, a company must find an efficient mix of automation and manual testing depending on the software product. Here, a risk analysis at the beginning of development can be very useful to define critical areas in the product in advance and to plan appropriate test coverage with both automated and manual tests.
Another mistake that companies and development teams make: They place the main responsibility for quality in the hands of the software testers. They are expected to write the automated tests, take over the manual testing, and already collaborate in the requirements analysis. Considering the short release cycles, these complex tasks are impossible to manage by only one position in the team.
Change the quality mindset
To avoid these errors, companies must ensure that a change in the quality concept is implemented within the organization and especially in the development teams. Software testers must no longer be solely responsible within the team for the quality of the software product. All team members, from the product manager to the designer to the developer, must necessarily have a high-quality standard for their work. Transparency within the team plays a very important role here. If everyone in the team knows the status of the development and is informed about the next steps, the team can develop a holistic quality mindset.
First steps for more quality
The entire team is involved in the requirements analysis of the new product and provides early feedback on technical feasibility or any risks.
The product manager is in constant communication with the customer and transparently shares customer feedback with the team to get a better feel for the current quality of their work.
Developers are instrumental in the development of the automated tests and help software testers develop a robust regression test suite.
Software testers help the team to develop the idea of quality and are responsible for planning the testing activities.
The entire team can and should manually test the product. Software testers should train the team in different testing methods.
This is just a start to establish the idea of quality in the team. It is important to constantly improve these points and the way of working in the team, to question them and to check at regular intervals whether they correspond to the market and customer expectations.
If a company has developed a good quality concept and thoughts, the development teams should be given strong backing in terms of dealing with problems. Mistakes or critical feedback should be used to motivate the teams in a positive direction.
Establish holistic approach
Companies that demand 100% test coverage from their development teams are wasting valuable time and money. Both could instead go into a holistic approach to achieving good software quality.
Rather, development teams should be given the opportunity to experiment with their own approach to see where personal and technical skills can be best leveraged.
A healthy mix of automated and manual testing often delivers better results than high test coverage with pure test automation. Both types of testing should complement each other and not be seen as separate aspects within development.
It is imperative that both the development team and the company have a very high customer focus and quality mindset to ‚meet high customer expectations.
A holistic approach leads to best software quality and thus to satisfied customers.