Article Preview
TopIntroduction
In the software life cycle, the test case is written to test the software. If the software is altered, the maintenance activity called testing based on regression is performed to check the validity of the software that has been modified. After the modification of software, a new test case is added to the existing test suite for checking the altered requirements; thereby, it increases the size, cost required for the test suite (Jenifer and Illavarsi, 2014; Navak et al., 2017). To improve the process of testing, the software improvements have to be done in regression testing, which will reduce the cost required for testing. Once the requirements are specified, the software is developed with the help of a lifecycle in the development of software. Different phases are involved in the software development after designing the software; the testing section is used to test the developed software, a different method of testing techniques is used to check the efficiency of the code. For testing the whole software, regression testing is used. In the regression testing, the previously executed test case is also checked to check whether the previous code is working fine. The testing process is carried out to check whether fixing of new bugs does not result in new bugs which affect the previous bug-free functions (Sabharwal et al., 2011; Alsmadi and Alda, 2012). The regression testing is required (i) when there is a change in the requirement and code, (ii) when a new feature is added to the software (iii) when the issue has to be detected. There are four types of regression techniques (i) Reset all technique, (ii) regression test selection technique, (iii) prioritization of test case (iv) hybrid approach. The regression testing is performed using the RESET ALL technique to test the modified software by resetting all the test cases. All the test case has to be re-executed; however, it consumes more time. Regression test case selection technique in which part of the test of a test suite is selected for re-execution and the test case is categorized into a reusable based test case and obsolete based test case. The test suite that can be reused in the next cycle is called a reusable test case, and the test case, which cannot be utilized, is an obsolete test case. Test case prioritization technique in which the test case is executed based on the Priority based on some goals or criteria. In the Prioritization of test cases, the test cases are not discarded. The fourth type of testing based on regression is the hybrid approach is the combination of both, that is, the selection of test cases and the Prioritization of test cases(Huang et al.,2010; Muthusamy and seetharaman,2013;Ray and Mohapatra,2014) Various techniques can be used for the regression test case. The test case can be categorized based on the various factors like random, optimal, branch coverage, statement coverage, failure rates, and total number of fault occurred in the test suite.
In the regression testing, the previously executed test case is also checked to check whether the previous code is working fine. The testing process is carried out to check whether fixing of new bugs does not result in new bugs which affect the previous bug-free function (Kayes,2011).
Figure 1.
Activities carried out during the regression technique