An empirical study of incorporating cost into test suite reduction and prioritization

Software developers use testing to gain and maintain confidence in the correctness of a software system. Automated reduction and prioritization techniques attempt to decrease the time required to detect faults during test suite execution. This paper uses the Harrold Gupta Soffa, delayed greedy, traditional greedy, and 2-optimal greedy algorithms for both test suite reduction and prioritization. Even though reducing and reordering a test suite is primarily done to ensure that testing is cost-effective, these algorithms are normally configured to make greedy choices with coverage information alone. This paper extends these algorithms to greedily reduce and prioritize the tests by using both test cost (e.g., execution time) and the ratio of code coverage to test cost. An empirical study with eight real world case study applications shows that the ratio greedy choice metric aids a test suite reduction method in identifying a smaller and faster test suite. The results also suggest that incorporating test cost during prioritization allows for an average increase of 17% and a maximum improvement of 141% for a time sensitive evaluation metric called coverage effectiveness.

[1]  Atif M. Memon,et al.  Fault Detection Probability Analysis for Coverage-Based Test Suite Reduction , 2007, 2007 IEEE International Conference on Software Maintenance.

[2]  Gregory M. Kapfhammer,et al.  A Comprehensive Framework for Testing Database-Centric Software Applications , 2007 .

[3]  Mary Lou Soffa,et al.  Demand-driven structural testing with dynamic instrumentation , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

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

[5]  Atif M. Memon,et al.  Call-Stack Coverage for GUI Test Suite Reduction , 2008, IEEE Trans. Software Eng..

[6]  Mary Lou Soffa,et al.  Database-aware test coverage monitoring , 2008, ISEC '08.

[7]  Gregg Rothermel,et al.  Empirical studies of test case prioritization in a JUnit testing environment , 2004, 15th International Symposium on Software Reliability Engineering.

[8]  Neelam Gupta,et al.  A concept analysis inspired greedy algorithm for test suite minimization , 2005, PASTE '05.

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

[10]  Mary Lou Soffa,et al.  Test suite reduction and prioritization with call trees , 2007, ASE.

[11]  Michael J. Crawley,et al.  The R book , 2022 .

[12]  Charles W. Butler,et al.  Design complexity measurement and testing , 1989, CACM.

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

[14]  Daniel Mossé,et al.  Testing in resource constrained execution environments , 2005, ASE '05.

[15]  Mary Lou Soffa,et al.  Using coverage effectiveness to evaluate test suite prioritizations , 2007, WEASELTech '07.

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

[17]  Atif M. Memon,et al.  Call stack coverage for test suite reduction , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[18]  Rajiv Gupta,et al.  A methodology for controlling the size of a test suite , 1990, Proceedings. Conference on Software Maintenance 1990.