On the Economics of Requirements-Based Test Case Prioritization

1. RESEARCH PROBLEM Software testing is a strenuous and expensive process. At least 50% of the total software cost is spent on testing activities [12]. Companies are often faced with time and resource constraints that limit their ability to effectively complete testing efforts. Companies generally save test suites for reuse; test suite reuse accounts for almost half of the maintenance cost [9]. As the product goes thru several versions, executing all the test cases in a test suite can be expensive [9]. Prioritization of test cases can be cost effective when the time allocated to complete testing is limited [9]. Test case prioritization (TCP) involves the explicit planning of the execution of test cases in a specific order and is shown to improve the rate of fault detection [3, 9]. The current software TCP techniques are primarily coverage-based (statement, branch or other coverage) [3, 9]. Coverage-based white-box prioritization techniques are most applicable for regression testing at the unit level and are harder to apply on complex systems [2]. These techniques require testers to read and understand the code, which can be time consuming [2], and may assume that all faults are equally severe.

[1]  Sebastian G. Elbaum,et al.  Software reliability as a function of user execution patterns , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[2]  L. Williams,et al.  Requirements-Based Test Case Prioritization , 2004 .

[3]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[4]  Yanping Chen,et al.  Specification-based regression test selection with risk analysis , 2002, CASCON.

[5]  Mary Jean Harrold,et al.  Testing: a roadmap , 2000, ICSE '00.

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

[7]  Gregg Rothermel,et al.  Test Case Prioritization: A Family of Empirical Studies , 2002, IEEE Trans. Software Eng..

[8]  Frank Moisiadis,et al.  Prioritising use cases and scenarios , 2000, Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000.

[9]  Gary Mogyorodi,et al.  Requirements-based testing: an overview , 2001, Proceedings 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems. TOOLS 39.

[10]  Yashwant K. Malaiya,et al.  Requirements volatility and defect density , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).