Coverage-Based Clustering and Scheduling Approach for Test Case Prioritization

Wenhao FU, Huiqun YU, Guisheng FAN, Xiang JI
2017 IEICE transactions on information and systems  
Regression testing is essential for assuring the quality of a software product. Because rerunning all test cases in regression testing may be impractical under limited resources, test case prioritization is a feasible solution to optimize regression testing by reordering test cases for the current testing version. In this paper, we propose a novel test case prioritization approach that combines the clustering algorithm and the scheduling algorithm for improving the effectiveness of regression
more » ... sting. By using the clustering algorithm, test cases with same or similar properties are merged into a cluster, and the scheduling algorithm helps allocate an execution priority for each test case by incorporating fault detection rates with the waiting time of test cases in candidate set. We have conducted several experiments on 12 C programs to validate the effectiveness of our proposed approach. Experimental results show that our approach is more effective than some well studied test case prioritization techniques in terms of average percentage of fault detected (APFD) values.
doi:10.1587/transinf.2016edp7356 fatcat:u3mcyrl4q5hc3mywmfntmp7qlu