Minimization of Test Cases and Fault Detection Effectiveness Improvement through Modified Reduction with Selective Redundancy Algorithm - Nikfal, Shima (2007)
In any software development lifecycle, testing is necessary to guarantee the quality of the end product. As software grows, the size of test suites grows too. Due to this grows, maintaining of test suites become more difficult. Therefore, test suite minimization techniques are required to control the test suite size. One way of doing this is by ensuring that the set of test suite includes the important test cases with all redundancies in test cases eliminated. Most test suite minimization techniques remove redundant test cases with respect to a particular coverage criterion at a time. A potential drawback of these techniques is that they may result in loss of test suite coverage with respect to other coverage criteria, thus affecting the ability of reduced test suite in detecting faults. To overcome this weakness, this research objective is to minimize the test suite by selectively including coverage redundancy while improving fault detection effectiveness. To achieve such goal, this research modifies and improves the Reduction with Selective Redundancy (RSR) algorithm. In the modify algorithm, test cases would be selected according to the branch coverage if they covered different branch combination. Then the algorithm gathers all the test cases based on the definition occurrence and def-use pair if they cover same definition occurrence of one variable but they don’t cover def-use pair of the same variable. Among these selected test cases, the algorithm identifies the redundant test cases based on definition occurrence, if they cover a similar combination of branch coverage except in one branch and also if the test cases cover a similar definition occurrence . The results show the algorithm used in this research can reduce the test suite size as well as significantly improve the fault detection effectiveness. The fault detection loss of reduced suite size was significantly less than the amount of suite size reduction. Moreover, the results reveal that test suit minimization based on branch combination is effective in term of faults detection.