16
loading...
This website collects cookies to deliver better user experience
Retest all involves rerunning all of your existing tests on the new codebase, retesting your entire software solution to reveal the regressions. This technique is used when the software undergoes significant functional and non-functional changes. QA teams usually perform it at the final stages of product delivery or before major releases. This practice is most suitable for small and very well designed projects while in a large project it can be very lengthy and resource-intensive. It is also quite infeasible and time-consuming to perform such a massive total of tests manually, thus, this technique usually implies automated testing using various tools and test-driven development practices.
Regression test selection is a less resource-intensive alternative to retest all. It takes a good strategy and a risk-based approach to perform regression test selection and yield good results. Using this technique, the QA team doesn’t write a whole new regression test suite but rather revises all the existing test suites. The team takes the affected by recent changes part of code and selects the most relevant test cases that have repeatedly found bugs. This technique takes a lot less time and effort to perform, can be effectively performed manually and helps the QA team discard obsolete test cases, which makes it a great choice for iterative development.
The Hybrid technique is a combination of regression test selection and test case prioritization. Using this technique, QA teams first rerun the test cases of highest priority and then run all the remaining tests from the selected part of the test suite to make sure no obscure bug makes it through in-between versions.
Locate the changes in the source code and detect all the areas, components, and modules that might have been affected; analyze the impact of the changes on the existing functional and non-functional features; determine if the minimum conditions were met for the execution of regression testing.
Based on the analysis, compile a regression test suite made of the test cases relevant to the changes and the affected areas; categorize them into small groups with concise descriptions to make it easier for your team to identify and prioritize certain types of tests.
Prioritize the tests based on the severity of the impact (critical, high, medium, or low) the changes had on your functional and non-functional features. This will help you optimize your testing workflows to focus on dealing with the most problematic cases first, ones that hinder further development.
Plan and maintain a strict schedule for continuous regression testing throughout your software development life cycle. Find the right timing to perform the testing in a way it doesn’t cause any setbacks in development.