A Survey of Flaky Tests

Tests that fail inconsistently, without changes to the code under test, are described as flaky . Flaky tests do not give a clear indication of the presence of software bugs and thus limit the reliability of the test suites that contain them. A recent survey of software developers found that 59% clai...

Full description

Saved in:
Bibliographic Details
Published inACM transactions on software engineering and methodology Vol. 31; no. 1; pp. 1 - 74
Main Authors Parry, Owain, Kapfhammer, Gregory M., Hilton, Michael, McMinn, Phil
Format Journal Article
LanguageEnglish
Published 31.01.2022
Online AccessGet full text
ISSN1049-331X
1557-7392
DOI10.1145/3476105

Cover

Loading…
More Information
Summary:Tests that fail inconsistently, without changes to the code under test, are described as flaky . Flaky tests do not give a clear indication of the presence of software bugs and thus limit the reliability of the test suites that contain them. A recent survey of software developers found that 59% claimed to deal with flaky tests on a monthly, weekly, or daily basis. As well as being detrimental to developers, flaky tests have also been shown to limit the applicability of useful techniques in software testing research. In general, one can think of flaky tests as being a threat to the validity of any methodology that assumes the outcome of a test only depends on the source code it covers. In this article, we systematically survey the body of literature relevant to flaky test research, amounting to 76 papers. We split our analysis into four parts: addressing the causes of flaky tests, their costs and consequences, detection strategies, and approaches for their mitigation and repair. Our findings and their implications have consequences for how the software-testing community deals with test flakiness, pertinent to practitioners and of interest to those wanting to familiarize themselves with the research area.
ISSN:1049-331X
1557-7392
DOI:10.1145/3476105