Will my tests tell me if I break this code?

Rainer Niedermayr, Elmar Juergens, Stefan Wagner

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

22 Scopus citations

Abstract

Automated tests play an important role in software evolution because they can rapidly detect faults introduced during changes. In practice, code-coverage metrics are often used as criteria to evaluate the effectiveness of test suites with focus on regression faults. However, code coverage only expresses which portion of a system has been executed by tests, but not how effective the tests actually are in detecting regression faults. Our goal was to evaluate the validity of code coverage as a measure for test effectiveness. To do so, we conducted an empirical study in which we applied an extreme mutation testing approach to analyze the tests of open-source projects written in Java. We assessed the ratio of pseudotested methods (those tested in a way such that faults would not be detected) to all covered methods and judged their impact on the software project. The results show that the ratio of pseudo-tested methods is acceptable for unit tests but not for system tests (that execute large portions of the whole system). Therefore, we conclude that the coverage metric is only a valid effectiveness indicator for unit tests.

Original languageEnglish
Title of host publicationProceedings - International Workshop on Continuous Software Evolution and Delivery, CSED 2016
PublisherAssociation for Computing Machinery, Inc
Pages23-29
Number of pages7
ISBN (Electronic)9781450341578
DOIs
StatePublished - 14 May 2016
Externally publishedYes
Event1st International Workshop on Continuous Software Evolution and Delivery, CSED 2016 - Austin, United States
Duration: 17 May 2016 → …

Publication series

NameProceedings - International Workshop on Continuous Software Evolution and Delivery, CSED 2016

Conference

Conference1st International Workshop on Continuous Software Evolution and Delivery, CSED 2016
Country/TerritoryUnited States
CityAustin
Period17/05/16 → …

Keywords

  • Code coverage
  • Mutation testing
  • Regression testing
  • Test suite effectiveness

Fingerprint

Dive into the research topics of 'Will my tests tell me if I break this code?'. Together they form a unique fingerprint.

Cite this