Regression testing is type of testing used to ensure no new defect is introduced in the existing software program after modifying or updating it. When the unit is repaired it is then retested for all the old test cases. It ensures any enhancement changes are not impacting the previous running functionality.
Regression testing involves re-execution of all the prepared tests newly after changes in existing module code or in next version.
It is performed by automated testing tool.
It follows selective re-testing techniques but regression testing is one step ahead of re-testing.
Regression test can be performed on a new build when there are considerable changes in old functionality.
It is method of verification to perform functional testing.
Regression testing used for
– To check effect on old functionality of new added functionality
– To test continuous improvement added in software application
– To fix defect and performance issues
– To check behavior after adding of new functionality
Consider a project with two modules, updated by adding third module. Regression testing is to check the proper functionality of first two modules after updating.
Advantages of regression testing -:
1. Deep testing is done
2. Track or expose the code size and error
3. Run automated test cases
4. Reduce the risk
Disadvantages of regression testing -:
1. May need repeated test case
2. Cost effective and time consuming