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.
The following scheduling approaches can be adopted:
Traditional Testing Approach – The team does an iteration regression after a sprint cycle. After some sprint cycles, the product goes through full regression testing.
Delayed Week Approach – In this approach, the iteration regression is not confined within a timeline and can carry over to the following week. This works for teams that are still familiarizing themselves with the product.
Delayed Sprint Approach – In the current iteration, the team performs regression testing on the features made during the previous iteration. This is a fairly common approach and makes do without the two levels of regression.
Risk-Based and Collaborative Regression Testing
If a team is short on time, they can choose to prioritize the test cases to execute during regression testing. In using a risk-based approach, the team categorizes their test cases into the following priorities:
High – These are test cases that cover the critical, highly visible, or defect-prone features of the product. It is usually about 10% of all the test cases.
Medium – Being around 30% of all the test cases, these cover exceptional conditions (boundary testing, negative testing, etc.).
Low – These makeup 60% of the remaining functionalities, and are usually only involved when full regression is to be done.
Another approach that can be used is collaborative regression testing. The team can use a “regression board”, where changes done to the product are written on post-its and placed on a board. A team member can declare the prioritization of testing that change by how high (or low) they position the post-it.
Recommended Further Reading
The following materials may assist you in order to get the most out of this course: