Regression testing is done to ensure that enhancements or defect fixes made to the software work properly and do not affect the existing functionality.
There are four types of regression testing :
1.Corrective regression testing
2.Progressive regression testing
3.Retest-all regression testing
4.Selective regression testing
Corrective regression testing
It is used when when specifications are not modified and all test cases can be reused in the testing. It requires lesser time in finding the faults or bugs. It is one of the most popular types in the current generation and also for its convenience and repetitive use in testing.
Progressive regression testing
It is used in the software testing process when the specifications are modified or changed and all the new test cases must be created newly. Mostly recommended when you are developing new test cases. Allows the testers to perform the required step within the modified or updated version of the program without using the current program code. It too works fine when there are only a few changes to be performed in the model and also while creating new test cases.
Retest-all regression testing
It is used in the software testing process and it reuses all tests but this method of testing may require more time and cost as it does the unnecessary execution of tests. But when the modification to a system is small, this method of testing is not recommended. Also, It is not recommended to perform this testing for every software product because of time constraints as most of the clients prefer avoiding this.
Selective regression testing
It is used in the software testing process that uses a subset of the existing test cases for reducing the time and cost of the testing. The objective is to find the dependencies between a test case and the program entities it covers.
Steps involved in selective regression testing :
1.The first step is to identify the affected components of the software after the program has been changed.
2.After that is selects a subset of test cases from an existing test suite(set of test cases) that covers the components of software affected by the changes or modification.
3.Then, it tests the changed program to create the correctness of the program.
4.After that, it examines the test results for identifying the software failure.
5.If it finds any fault then it corrects that fault(s) that causes that failure.
6.At last, it updates the test suite and test history of the program.