What is Regression Testing?

This article gives the information of regression testing related to the software process. Whenever software is corrected some aspect of software configuration is changed. Regression testing is the activity that helps to determine whether changed component has introduced any error in the unchanged components. In short regression testing can be defined as retesting a previously tested program to check if fault occurred as a result of the change made.



It may be conducted by:

  • Manual testing – By re-executing a subset of all test cases.
  • Automated capture/playback tools– Capture the operation of an existing version of a system under test and then the operation can be played back automatically on later version of the system and any differences in behavior are reported.


Regression Testing



Regression test suite contain following classes of test cases.

  • Representative sample of tests exercises all software function.
  • Additional test that focus on function that are affected by changes.
  • Tests that focus on component that have been changed.



Generally, two types of regression testing:

  • Regular regression testing
  • Final regression testing


1.      Regular regression testing:

It is done between test cycles to ensure that the defect fixes that are done and the functionality that where working with the earlier test cycles continue to work.

2.      Final regression testing:

It is one to validate the final build before release. The configuration management engineer delivers that final build and other contents exactly as it would go to the customer.  The final regression testing is conducted for a specific period of duration, which is mutually agreed between the developments and testing teams.


  • When to Do Regression Testing:

Whenever changes happens to the software regression testing is done to ensure that these do not affect adversely the existing functionality. It is necessary to perform regression testing when-

  1. A reasonable amount of initial testing is already carried out.
  2. A good number of defects have been fixed.
  3. Defect fixes that can produce side effects are take care of.

When developer fixes a defect, the defects are sent back to the test engineer for verification. The test engineer needs to take the appropriate action of closing the defect if it is fixed or reopening if it is has been fixed properly. In this process regression testing needs to be done to avoid bad side effects. Regression testing can be performed irrespective of which test phase the product is in. Regression testing is different from retesting.


About Sourabh Bhunje

Sourabh Bhunje, B.E. IT from Pune University. Currently Working at Techliebe. Professional Skills: Programming - Software & Mobile, Web & Graphic Design, Localization, Content Writing, Sub-Titling etc.

Leave a comment