| Usama Muhammad
What is Regression Testing?
Regression Testing is defined as the type of software testing to confirm that a recent program or a change in code has not adversely affected existing features. Regression Testing is nothing but a full or partial selection of already executed test cases which are re-executed to ensure existing functionalities work fine.
Why Should we do Regression Testing?
The purpose of Regression Testing is to verify if code change introduces issues/defects into the
existing functionality. There are so many kinds of possible changes that can impact the existing
functionality in an application system. Even the simplest change to the code could impact
previously tested functionality.
Regression testing involves the implementation of specific test cases and comparing them to previously recorded outcomes. Understandably, this procedure forms the basis of the reports used to illustrate software defects or deviation from use-cases.
How to Perform Regression Testing?
Once the bugs are identified, required changes are made to fix it, then the regression testing is
done by selecting relevant test cases from the test suite that covers both modified and affected
parts of the code.
Software maintenance is an activity which includes enhancements, error corrections, optimization and deletion of existing features. These modifications may cause the system to work incorrectly. Therefore, Regression Testing becomes necessary. Regression Testing can be carried out using the following techniques:
- Retest All This is one of the methods for Regression Testing in which all the tests in the existing test bucket or suite should be re-executed. This is very expensive as it requires huge time and resources.
- Regression Test Selection Regression Test Selection is a technique in which some selected test cases from test suite are executed to test whether the modified code affects the software application or not. Test cases are categorized into two parts, reusable test cases which can be used in further regression cycles and obsolete test cases which can not be used in succeeding cycles.
- Prioritization of Test Cases Prioritize the test cases depending on business impact, critical & frequently used functionalities. Selection of test cases based on priority will greatly reduce the regression test suite.
Selecting Test Cases for Regression Testing
Effective Regression Tests can be done by selecting the following test cases:
- Test cases which have frequent defects
- Functionalities which are more visible to the users
- Test cases which verify core features of the product
- Test cases of Functionalities which has undergone more and recent changes
- All Integration Test Cases
- All Complex Test Cases
- Boundary value test cases
- A sample of Successful test cases
- A sample of Failure test cases
Difference between Retesting and Regression Testing:
Retesting means testing the functionality or bug again to ensure the code is fixed. If it is not
fixed, Defect needs to be re-opened. If fixed, Defect is closed.
Regression testing means testing your software application when it undergoes a code change to ensure that the new code has not affected other parts of the software.
Learn more about Imperium's Power App Services. We hope this information was useful, and we look forward to sharing more insights into the Power Platform world.