How to do regression testing?

What is regression testing?

It is a testing method that ensures the changes or modifications that have been introduced in the code do not alter or modify the existing functionalities of the software product or application.

Following are the steps that need to be worked upon in order to perform regression testing:

1. Changes in source code needs to be identified: The changes in source code are identified. Changed components are also detected.

2. Product requirements and identified changes need to be prioritized: The code modifications and product requirements that have been identified are prioritized by aligning the test process with test cases and requisite tools.

3. Those test cases that need to be re-run should be selected: Those test cases should be selected that need to be re-run that are based on the source code-modified module. The entire test suite need not be tested. Post-test case selection, test cases should be categorized into obsolete and reusable test cases, wherein the shortlisting of reusable ones is done for carrying out regression testing activities.

4. The test case execution time should be ascertained based on test scenarios: Test case variables such as regression test designs, test data preparation etc., are assessed to ascertain how they will impact the test case execution time.

5. The manual and automated test cases need to be categorized: The test cases are separated into manual and automated ones. Automated test cases are more efficient compared to manual ones. The test code can be reused multiple times in the automated scenario. Hence, test cases need to be categorized accordingly.

6. Test case prioritization: The ranking of collected test cases is done based on their significance (high, medium or low). Those test cases that urgently need attention are given high priority followed by medium and low importance-based test cases. Priorities are assigned based on user participation and the product's ability.

7. Test cases should be scheduled and executed: There is an appropriate, scheduled time for each test case to be individually conducted. Based on the requirements and needs, manual or automated testing can be employed. For faster test case execution, tools such as IBM Rational Functional Tester, Selenium etc., can be used.  

Comments