Test case prioritization: A family of empirical studies

被引:537
作者
Elbaum, S [1 ]
Malishevsky, AG
Rothermel, G
机构
[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.1109/32.988497
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 potential goal of such prioritization is to increase a test suite's rate of fault detection. Previous work reported results of studies that showed that prioritization techniques can significantly improve rate of fault detection. Those studies, however, raised several additional questions: 1) Can prioritization techniques be effective when targeted at specific modified versions; 2) what trade-offs exist between fine granularity and coarse granularity prioritization techniques; 3) can the incorporation of measures of fault proneness into prioritization techniques improve their effectiveness? To address these questions, we have performed several new studies in which we empirically compared prioritization techniques using both controlled experiments and case studies. The results of these studies show that each of the prioritization techniques considered can improve the rate of fault detection of test suites overall. Fine-granularity techniques typically outperformed coarse-granularity techniques, but only by a relatively small margin overall; in other words, the relative imprecision in coarse-granularity analysis did not dramatically reduce coarse-granularity techniques' ability to improve rate of fault detection. Incorporation of fault-proneness techniques produced relatively small improvements over other techniques in terms of rate of fault detection, a result which ran contrary to our expectations. Our studies also show that the relative effectiveness of various techniques can vary significantly across target programs. Furthermore, our analysis shows that whether the effectiveness differences observed will result in savings in practice varies substantially with the cost factors associated with particular testing processes. Further work to understand the sources of this variance and to incorporate such understanding into prioritization techniques and the choice of techniques would be beneficial.
引用
收藏
页码:159 / 182
页数:24
相关论文
共 35 条
[1]  
[Anonymous], P ACM INT S SOFTW TE
[2]   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
[3]   A PHILOSOPHY FOR SOFTWARE MEASUREMENT [J].
BAKER, AL ;
BIEMAN, JM ;
FENTON, N ;
GUSTAFSON, DA ;
MELTON, A ;
WHITTY, R .
JOURNAL OF SYSTEMS AND SOFTWARE, 1990, 12 (03) :277-281
[4]   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
[5]  
Briand L. C., 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002), P345, DOI 10.1109/ICSE.1999.841025
[6]  
Delamaro ME, 1996, P C PERF COMP SYST P, P79
[7]   HINTS ON TEST DATA SELECTION - HELP FOR PRACTICING PROGRAMMER [J].
DEMILLO, RA ;
LIPTON, RJ .
COMPUTER, 1978, 11 (04) :34-41
[8]  
ELBAUM S, 2001, 016008 OR STAT U
[9]   Software evolution and the code fault introduction process [J].
Elbaum S.G. ;
Munson J.C. .
Empirical Software Engineering, 1999, 4 (3) :241-262
[10]  
ELBAUM SG, 1998, TRCS9802 U ID