Regression Testing for Scrum Masters – Part 2
How to Optimize Regression Testing?
● Test Prioritization: Two-level approach
2) Full Regression. Before release, a full regression is run to ensure that the product is working as planned.
● Test Prioritization: Risk-based approach
With this, the test team choose the test cases affected by the modifications in the application based on priority, where time and effort are reduced. There are three categories:
1) High Priority. The test cases here are the crucial functions of the application. These areas include: defect-prone, highly perceptible to end users, and affected by many changes. About 10% of the system.
2) Medium Priority. These test cases are areas that are mostly affected by bugs detected on the previous releases. About 30% of the system including the negative tests, boundary, etc.
These two are covered in the test suite for the agile regression or also called a mini-regression.
3) Low Priority. The 60% of the remaining test cases of the functionality. Test engineers use these for the full test prior to a major release.
How to Optimize Regression Testing?
● Test Prioritization: Collaborative approach
With this, the team members can contribute their unique perspective and knowledge to run regression tests. There is a regression test board available where each member of the team is allowed to make little changes based on their knowledge. For example, a developer will know that the feature added will affect a certain area, so that information will be added to that board. The regression test team will spend the time to consult the board for the regression tests. This creates a more efficient approach.
However, caution is needed with these prioritization approaches, a technical debt which will compromise the whole implementation of a project may arise. This technical debt indicates the effort required to accomplish the uncompleted work during the sprints or project life cycle.
● Automation approach
To effectively use regression testing and to control the technical debt, automation testing is the optimization strategy to consider. This will reduce the testing period and spares the engineers to repeatedly run a large number of test cases all over again. However, this approach is best to be considered when regression testing has reached maturity level already and when major changes have been made in the project. In-line with this, it is best to review test cases after every major release and make sure to get rid of the obsolete test cases.
Manual testing goes first and will still stay since automation will be base on the manually repeated tests that detect bugs on previous iterations.
Our Favourite Agile Books
We found these books great for finding out more information on Agile Scrum:
Scrum Masters
In regression testing, a scrum master is the one who facilitates the sprint planning, release planning, retrospectives and the defect analysis activities. They’re the one who will create the traceability matrix for the requirements and test procedures to ensure test coverage. They analyze and communicate any recommendations to technical and leadership programs to improve the product, process or technology. They are there to ensure any obstacles affecting the team are removed. They will support the team in drafting the definition of ready and definition of done.