Incorporating varying test costs and fault severities into test case prioritization

Test case prioritization techniques schedule test cases for regression testing in an order that increases their ability to meet some performance goal. One performance goal, rate of fault detection, measures how quickly faults are detected within the testing process. In previous work (S. Elbaum et al., 2000; G. Rothermel et al., 1999), we provided a metric, APFD, for measuring rate of fault detection, and techniques for prioritizing test cases to improve APFD, and reported the results of experiments using those techniques. This metric and these techniques, however, applied only in cases in which test costs and fault severity are uniform. We present a new metric for assessing the rate of fault detection of prioritized test cases that incorporates varying test case and fault costs. We present the results of a case study illustrating the application of the metric. This study raises several practical questions that might arise in applying test case prioritization; we discuss how practitioners could go about answering these questions.

[1]  Sebastian G. Elbaum,et al.  Code churn: a measure for estimating the impact of code change , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[2]  John C. Munson,et al.  Software Evolution and the Fault Process , 1999 .

[3]  John C. Munson Software measurement: Problems and practice , 1995, Ann. Softw. Eng..

[4]  TsaiWei-Tek,et al.  Regression testing in an industrial environment , 1998 .

[5]  Filippo Lanubile,et al.  Comparing models for identifying fault-prone software components , 1995, SEKE.

[6]  James I. McManus,et al.  Handbook of Software Quality Assurance , 1987 .

[7]  Lionel C. Briand,et al.  Investigating quality factors in object-oriented designs: an industrial case study , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[8]  John D. Musa,et al.  Software Reliability Engineering , 1998 .

[9]  Joseph Robert Horgan,et al.  A study of effective regression testing in practice , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[10]  Gregg Rothermel,et al.  Test case prioritization: an empirical study , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[11]  Wei-Tek Tsai,et al.  Regression testing in an industrial environment , 1998, CACM.

[12]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

[13]  John D. Musa,et al.  Software-Reliability-Engineered Testing , 1996, Computer.