Test Case Prioritization Based on Varying Testing Requirement Priorities and Test Case Costs

Test case prioritization is an effective and practical technique in regression testing. It schedules test cases in order of precedence that increases their ability to meet some performance goals, such as code coverage, rate of fault detection. In previous work, the test case prioritization techniques and metrics usually assumed that testing requirement priorities and test case costs are uniform. In this paper, basing on varying testing requirement priorities and test case costs, we present a new, general test case prioritization technique and an associated metric. The case study illustrates that the rate of "units-oftesting-requirement-priority-satisfied- per-unit-test-case-cost" can be increased, and then the testing quality and customer satisfaction can be improved.

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

[2]  Laurie A. Williams,et al.  On the economics of requirements-based test case prioritization , 2005, ACM SIGSOFT Softw. Eng. Notes.

[3]  Gregg Rothermel,et al.  Incorporating varying test costs and fault severities into test case prioritization , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[4]  Mary Lou Soffa,et al.  TimeAware test suite prioritization , 2006, ISSTA '06.

[5]  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.

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

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

[8]  Neelam Gupta,et al.  Test Case Prioritization Using Relevant Slices , 2006, 30th Annual International Computer Software and Applications Conference (COMPSAC'06).

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

[10]  Adam A. Porter,et al.  A history-based test prioritization technique for regression testing in resource constrained environments , 2002, ICSE '02.

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

[12]  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).

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

[14]  Jin-Hua Zheng An Approach for Optimizing Test Suite Based on Testing Requirement Reduction , 2007 .

[15]  Barry W. Boehm Value-based software engineering: reinventing , 2003, SOEN.

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

[17]  Amitabh Srivastava,et al.  Effectively prioritizing tests in development environment , 2002, ISSTA '02.

[18]  Gregg Rothermel,et al.  Cost-cognizant Test Case Prioritization , 2006 .

[19]  Barry W. Boehm,et al.  Value-based software engineering: reinventing , 2003, SOEN.

[20]  Mark Harman,et al.  Search Algorithms for Regression Test Case Prioritization , 2007, IEEE Transactions on Software Engineering.

[21]  Gregg Rothermel,et al.  Selecting a Cost-Effective Test Case Prioritization Technique , 2004, Software Quality Journal.