What is Regression Testing?

Regression testing is a type of testing which is carried out to ensure that changes made in the fixes or any enhancement changes are not impacting the previously working functionality. It need to be is executed after enhancement or defect fixes in the software or its environment.

Keywords:regression testing definition, regression testing types,regression testing process, steps to perform regression testing
Whenever the defect fixes are done, a set of test cases that need to be run to verify the defect fixes are selected by the test team. After this an impact analysis is done in order to find out what areas may get impacted due to those defect fixes. Now  on the basis of this  impact analysis, some more test cases are selected to take care of the impacted areas.
  
Types of Regression Testing 

Generally there are two types of regression testing:

1. Regular Regression Testing.

A Regular Regression testing is done between test cycles to ensure that the defect fixes that are done and the functionality that were working with the earlier test cycle continues to work.

2. Final Regression Testing

 A “final regression testing” is performed to validate the build that hasn’t changed for a period of time. This build is deployed or shipped to customers.

 When to do Regression Testing ?


Whenever changes happen to software, regression testing is done to ensure that these do not adversely affect the existing functionality. A regular regression testing can use multiple builds for the test cases to be executed. However, an unchanged build is highly recommended for final regression testing. Sometime the there is a possibility that  test cases that failed due to the defects should be included for future regression testing.

 Generally a regression testing is performed in following situations.

1. Change is in requirements and code is modified according to the requirement.
2. Defect fixing.
3. New feature is added to the software.

Regression Testing Process Steps

A test methodology for an effective regression testing generally includes  following steps

1. Performing an initial “Smoke” or “Sanity” test.
2. Understanding the criteria to select the test cases for Regression Testing.
3. Prioritization of test cases.
4. Methodology for select test cases
5. Resetting the test cases for test case.