An Empirical Study of JUnit Test-Suite Reduction

  • Authors:
  • Lingming Zhang;Darko Marinov;Lu Zhang;Sarfraz Khurshid

  • Affiliations:
  • -;-;-;-

  • Venue:
  • ISSRE '11 Proceedings of the 2011 IEEE 22nd International Symposium on Software Reliability Engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.