Coverage-Based Clustering and Scheduling Approach for Test Case Prioritization

Wenhao FU  Huiqun YU  Guisheng FAN  Xiang JI  

IEICE TRANSACTIONS on Information and Systems   Vol.E100-D   No.6   pp.1218-1230
Publication Date: 2017/06/01
Publicized: 2017/03/03
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2016EDP7356
Type of Manuscript: PAPER
Category: Software Engineering
regression testing,  test case prioritization,  clustering algorithm,  scheduling algorithm,  

Full Text: PDF>>
Buy this Article

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 testing. 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.