2015 Volume 32 Issue 3 Pages 3_111-3_125
It is ideal to test whether there is a regression in a software system or not by running all available test cases, whenever the system is modified. However, practitioners may not be able to run all test cases due to a lack of time or manpower, and then they usually prioritize the test cases and run some of them in decreasing order of priority. In order to make such regression testings more cost-effective, an application of 0–1 programming method to plan the regression testing has been studied in the past. While an empirical superiority of the 0–1 programming method-based testing over the conventional one has been reported, there is an issue of the testing completeness such that only a few functionalities might be tested. Thus, this paper utilizes a clustering technique for a more effective test case selection and proposes to formulate the regression testing as a 0–1 programming problem having constraints to cover all clusters of the test cases. The empirical work shows that the proposed method can detect regressions with about one-third (1/3) effort of the conventional method.