arrow
Return

Empirically evaluating flaky test detection techniques combining test case rerunning and machine learning models

delete2023-04-28
delete6
delete
OA
AI
O
Owain Parry *
G
Gregory M. Kapfhammer
M
Michael Hilton
P
Phil McMinn
DOI:10.1007/s10664-023-10307-wdelete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
A flaky test is a test case whose outcome changes without modification to the code of the test case or the program under test. These tests disrupt continuous integration, cause a loss of developer productivity, and limit the efficiency of testing. Many flaky test detection techniques are rerunning-based, meaning they require repeated test case executions at a considerable time cost, or are machine learning-based, and thus they are fast but offer only an approximate solution with variable detection performance. These two extremes leave developers with a stark choice. This paper introduces CANNIER, an approach for reducing the time cost of rerunning-based detection techniques by combining them with machine learning models. The empirical evaluation involving 89,668 test cases from 30 Python projects demonstrates that CANNIER can reduce the time cost of existing rerunning-based techniques by an order of magnitude while maintaining a detection performance that is significantly better than machine learning models alone. Furthermore, the comprehensive study extends existing work on machine learning-based detection and reveals a number of additional findings, including (1) the performance of machine learning models for detecting polluter test cases; (2) using the mean values of dynamic test case features from repeated measurements can slightly improve the detection performance of machine learning models; and (3) correlations between various test case features and the probability of the test case being flaky.
Keywords:
Software testing
Flaky tests
Machine learning

Journal

Empirical Software Engineering cover
Empirical Software Engineering
IF:
3.6
Papers:
2.0K
Citations:
5.3K

Organization

U
University of Sheffield
Scholars:
3.0W
Papers: 2.9W
Citations: 3.9W
Allegheny College cover
Allegheny College
Scholars:
224
Papers: 175
Citations: 276
C
Carnegie Mellon University
Scholars:
1.4W
Papers: 1.4W
Citations: 2.7W
researcher View more organizations