Selecting a cost-effective test case prioritization technique

被引:126
作者
Elbaum, S [1 ]
Rothermel, G
Kanduri, S
Malishevsky, AG
机构
[1] Univ Nebraska, Dept Comp Sci & Engn, Lincoln, NE 68588 USA
[2] Oregon State Univ, Dept Comp Sci, Corvallis, OR 97331 USA
关键词
test case prioritization; regression testing; empirical studies;
D O I
10.1023/B:SQJO.0000034708.84524.22
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Regression testing is an expensive testing process used to validate modified software and detect whether new faults have been introduced into previously tested code. To reduce the cost of regression testing, software testers may prioritize their test cases so that those which are more important, by some measure, are run earlier in the regression testing process. One goal of prioritization is to increase a test suite's rate of fault detection. Previous empirical studies have shown that several prioritization techniques can significantly improve rate of fault detection, but these studies have also shown that the effectiveness of these techniques varies considerably across various attributes of the program, test suites, and modifications being considered. This variation makes it difficult for a practitioner to choose an appropriate prioritization technique for a given testing scenario. To address this problem, we analyze the fault detection rates that result from applying several different prioritization techniques to several programs and modified versions. The results of our analyses provide insights into which types of prioritization techniques are and are not appropriate under specific testing scenarios, and the conditions under which they are or are not appropriate. Our analysis approach can also be used by other researchers or practitioners to determine the prioritization techniques appropriate to other workloads.
引用
收藏
页码:185 / 210
页数:26
相关论文
共 24 条
[1]   THE AUTOMATIC-GENERATION OF LOAD TEST SUITES AND THE ASSESSMENT OF THE RESULTING SOFTWARE [J].
AVRITZER, A ;
WEYUKER, EJ .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1995, 21 (09) :705-716
[2]   AUTOMATIC-GENERATION OF TEST SCRIPTS FROM FORMAL TEST SPECIFICATIONS [J].
BALCER, MJ ;
HASLING, WM ;
OSTRAND, TJ .
PROCEEDINGS OF THE ACM SIGSOFT 89: THIRD SYMPOSIUM ON SOFTWARE TESTING, ANALYSIS, AND VERIFICATION ( TAV 3 ), 1989, 14 :210-218
[3]   Understanding the effects of changes on the cost-effectiveness of regression testing techniques [J].
Elbaum, S ;
Kallakuri, P ;
Malishevsky, A ;
Rothermel, G ;
Kanduri, S .
SOFTWARE TESTING VERIFICATION & RELIABILITY, 2003, 13 (02) :65-83
[4]   Test case prioritization: A family of empirical studies [J].
Elbaum, S ;
Malishevsky, AG ;
Rothermel, G .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (02) :159-182
[5]   Incorporating varying test costs and fault severities into test case prioritization [J].
Elbaum, S ;
Malishevsky, A ;
Rothermel, G .
PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2001, :329-338
[6]  
ELBAUM S, 2001, P 7 INT SOFTW METR S
[7]  
HUTCHINS M, 1994, PROC INT CONF SOFTW, P191, DOI 10.1109/ICSE.1994.296778
[8]  
JONES J, 2001, P INT C SOFTW MAINT
[9]   Using regression trees to classify fault-prone software modules [J].
Khoshgoftaar, TM ;
Allen, EB ;
Deng, JY .
IEEE TRANSACTIONS ON RELIABILITY, 2002, 51 (04) :455-462
[10]  
KIM JM, 2002, P INT C SOFTW ENG MA