An Extensive Study on Multi-Priority Algorithm in Test Case Prioritization and Reduction

LI Long-bo, Yanhui Zhou, Yuan Yuan, Shenghua Wu · 2021

Although test case prioritization and reduction are two different problems in regression testing, they are essentially interrelated. To improve the effectiveness of regression testing, we need to perform fewer test cases, and hope to detect program faults as early as possible. However, most existing techniques haven't proposed a better solution to solve these two issues at the same time. In this paper, we present a multi-priority algorithm combine mutation testing and clustering techniques, and use clustering techniques to put test cases with similar fault-detection ability into a cluster, the multi-priority algorithm selects a high-priority test in each cluster. The results show that the multi-priority algorithm not only reduces a large number of test cases, but also obtains the results of test case prioritization better than greedy algorithm and random reduction method. Especially, the average reduction size of test cases is 40.23% in total 556018 test cases, and removing test cases that trigger real program faults only accounts for 0.7435% of all tests. Our method achieves a greater reduction in the number of test cases at the expense of a mini loss of in fault-detection ability. The effectiveness of test case prioritization is 2.63% higher than other methods. In addition, we find that the different number of clusters affect the effectiveness of test case prioritization and reduction in regression testing.

Read the paper · More papers on PaperTik