TY - GEN
T1 - An empirical study of JUnit test-suite reduction
AU - Zhang, Lingming
AU - Marinov, Darko
AU - Zhang, Lu
AU - Khurshid, Sarfraz
PY - 2011
Y1 - 2011
N2 - As test suites grow larger during software evolution, regression testing becomes expensive. To reduce the cost of regression testing, test-suite reduction aims to select a minimal subset of the original test suite that can still satisfy all the test requirements. While traditional test-suite reduction techniques were intensively studied on C programs with specially generated test suites, there are limited studies for test-suite reduction on programs with real-world test suites. In this paper, we investigate test-suite reduction techniques on Java programs with real-world JUnit test suites. We implemented four representative test-suite reduction techniques for JUnit test suites. We performed an empirical study on 19 versions of four real-world Java programs, ranging from 1.89 KLoC to 80.44 KLoC. Our study investigates both the benefits and the costs of test-suite reduction. The results show that the four traditional test-suite reduction techniques can effectively reduce these JUnit test suites without substantially reducing their fault-detection capability. Based on the results, we provide a guideline for achieving cost-effective JUnit test suite reduction.
AB - As test suites grow larger during software evolution, regression testing becomes expensive. To reduce the cost of regression testing, test-suite reduction aims to select a minimal subset of the original test suite that can still satisfy all the test requirements. While traditional test-suite reduction techniques were intensively studied on C programs with specially generated test suites, there are limited studies for test-suite reduction on programs with real-world test suites. In this paper, we investigate test-suite reduction techniques on Java programs with real-world JUnit test suites. We implemented four representative test-suite reduction techniques for JUnit test suites. We performed an empirical study on 19 versions of four real-world Java programs, ranging from 1.89 KLoC to 80.44 KLoC. Our study investigates both the benefits and the costs of test-suite reduction. The results show that the four traditional test-suite reduction techniques can effectively reduce these JUnit test suites without substantially reducing their fault-detection capability. Based on the results, we provide a guideline for achieving cost-effective JUnit test suite reduction.
UR - http://www.scopus.com/inward/record.url?scp=84863156883&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84863156883&partnerID=8YFLogxK
U2 - 10.1109/ISSRE.2011.26
DO - 10.1109/ISSRE.2011.26
M3 - Conference contribution
AN - SCOPUS:84863156883
SN - 9780769545684
T3 - Proceedings - International Symposium on Software Reliability Engineering, ISSRE
SP - 170
EP - 179
BT - Proceedings - 22nd IEEE International Symposium on Software Reliability Engineering, ISSRE 2011
T2 - 22nd IEEE International Symposium on Software Reliability Engineering, ISSRE 2011
Y2 - 29 November 2011 through 2 December 2011
ER -