Test Redundancy Measurement Based on Coverage Information: Evaluations and Lessons Learned

  • Authors:
  • Negar Koochakzadeh;Vahid Garousi;Frank Maurer

  • Affiliations:
  • -;-;-

  • Venue:
  • ICST '09 Proceedings of the 2009 International Conference on Software Testing Verification and Validation
  • Year:
  • 2009

Quantified Score

Hi-index 0.01

Visualization

Abstract

Measurement and detection of redundancy in test suites attempt to achieve test minimization which in turn can help reduce test maintenance costs, and to also ensure the integrity of test cases. Test suite reduction based on coverage information has been discussed in many previous works. However, the applications of such techniques on real test suites and realistic measurements of redundancy have not yet been experimented thoroughly. To address such a need, we formulate in this paper two experimental metrics for coverage-based measurement of test redundancy in the context of JUnit test suites. We then evaluate the approach by measuring the redundancy of four real Java projects. The automated measures are compared with manual redundancy decisions (performed through an inspection by a tester). The results and lessons learned are interesting and somewhat surprising in that besides they show usefulness of coverage information, they present a set of shortcomings (in terms of precision) for the simplistic coverage-based redundancy measurement approach as discussed in the literature. The root-cause analysis of our observations identify several key lessons learned which should help the testing researchers and practitioners in devising better techniques for more precise measurement of test redundancy.