Title :
Adaptive Test-Case Prioritization Guided by Output Inspection
Author :
Dan Hao ; Xu Zhao ; Lu Zhang
Author_Institution :
Key Lab. of High Confidence Software Technol., Peking Univ., Beijing, China
Abstract :
Test-case prioritization is to schedule the execution order of test cases so as to maximize some objective (e.g., revealing faults early). The existing test-case prioritization approaches separate the process of test-case prioritization and the process of test-case execution by presenting the execution order of all test cases before programmers start running test cases. As the execution information of the modified program is not available for the existing test-case prioritization approaches, these approaches mainly rely on only the execution information of the previous program before modification. To address this problem, we present an adaptive test-case prioritization approach, which determines the execution order of test cases simultaneously during the execution of test cases. In particular, the adaptive approach selects test cases based on their fault-detection capability, which is calculated based on the output of selected test cases. As soon as a test case is selected and runs, the fault-detection capability of each unselected test case is modified according to the output of the latest selected test case. To evaluate the effectiveness of the proposed adaptive approach, we conducted an experimental study on eight C programs and four Java programs. The experimental results show that the adaptive approach is usually significantly better than the total test-case prioritization approach and competitive to the additional test-case prioritization approach. Moreover, the adaptive approach is better than the additional approach on some subjects (e.g, replace and schedule).
Keywords :
program testing; software fault tolerance; C programs; Java programs; adaptive test-case prioritization approach; additional test-case prioritization approach; execution information; fault-detection capability; output inspection; test case execution order; total test-case prioritization approach; Adaptation models; Equations; Java; Schedules; Software; Software testing; adaptive approach; regression test; software testing; test-case prioritization;
Conference_Titel :
Computer Software and Applications Conference (COMPSAC), 2013 IEEE 37th Annual
Conference_Location :
Kyoto
DOI :
10.1109/COMPSAC.2013.31