Regression Testing For Product Owners
New product features can bring new problems during product development. An alteration in logic to one of the functionalities could affect another. An error handling standard may not have been followed when creating a new page with data entry forms. There will always be defects not captured during testing, and one of a product owner’s worst nightmares is seeing critical defects existing in the production environment.
Quality Assurance is a key component in any project, and it is especially in the forefront of all Agile projects. It is not enough to simply test an enhancement as it comes along. As a sprint draws closer to its end, there is a mass of changes big and small, each of them tested separately or together with a certain set of other features. It may or may not be enough, but there is always a risk in interacting with these changes and the application as a whole. There is a way to minimize those risks, and ways to strategize around it.
The Importance of Regression Testing
Delivering potentially releasable increments means that the team should ensure that the sprint didn’t cause snags in already existing features. This is what regression testing essentially is: an activity where the team checks how the current build affects the previous builds and the overall system. Whether it’s a bug fix or a new functionality, the team needs to guarantee that no new defects are introduced.
Regression testing holds a very important role in an agile project. It can also be a very time-consuming activity. Because testing grows geometrically in each sprint, the product owner, the Scrum Master, and the developers need to collaborate on a plan and strategy around quality assurance in their agile project.
Some of the items to plan for regression testing are:
What test cases to use
How to improve the test cases for regression testing
What tests can be automated, and how
What the timeline is for regression testing
Some teams get away without regression testing by checking only what matters during the sprint. This strategy may work, but if done arbitrarily, it is not sustainable and, worse, it can cause serious technical debt. The quality of the entire product needs to be considered during every sprint. There are some ways a team can go about regression testing, and they can choose what will fit their needs and constraints.
Our Favourite Agile Books
We found these books great for finding out more information on Agile Scrum:
Two-Level Regression Testing
In Agile development, there are two levels of regression testing:
Iteration regression – testing new features since the last release or within the iteration as well as parts of the application that could be affected.
Full regression – testing all the core features of the product to ensure the product is working as expected before a release.
On choosing the coverage of the regression testing, the team must consider when the last full regression testing was. Having a regularly scheduled end-to-end regression testing can help the team manage their timeline better.