Cost of Flaky Tests in Continuous Integration: An Industrial Case Study

被引:0
|
作者
Leinen, Fabian [1 ]
Elsner, Daniel [1 ]
Pretschner, Alexander [1 ]
Stahlbauer, Andreas [2 ]
Sailer, Michael [2 ]
Juergens, Elmar [2 ]
机构
[1] Tech Univ Munich, Munich, Germany
[2] CQSE GmbH, Munich, Germany
关键词
flaky tests; continuous integration; regression testing; cost modeling; industrial case study;
D O I
10.1109/ICST60714.2024.00037
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Researchers and practitioners alike increasingly often perceive flaky tests as a major challenge in software engineering. They spend a lot of effort trying to detect, repair, and mitigate the negative effects of flaky tests. However, it is yet unclear where and to what extent the costs of flaky tests manifest in industrial Continuous Integration (CI) development processes. In this study, we compile cost factors introduced by flaky tests in CI development from research and practice and derive a cost model that allows gaining insight into the costs incurred. We then instantiate this model in a case study of a large, commercial software project with similar to 30 developers and similar to 1M SLoC. We analyze five years of development history, including CI test logs, commits from the Version Control System (VCS), issue tickets, and tracked work time to quantify the cost factors implied by flaky tests. We find that the time spent dealing with flaky tests in the studied project represents at least 2.5% of the productive developer time. This effort is divided into investigating potentially flaky test failures, which accounts for 1.1% of the total time spent, repairing flaky tests adds another 1.3%, and developing tools to monitor flaky tests adds 0.1%. Contrary to most other studies, we find the cost for rerunning tests to be negligible and inexpensive. Automatically rerunning a test costs 0.02 cents, while not rerunning and thus letting the pipeline fail results in a manual investigation costing $5.67 in our context. The insights gained from our case study have led to the decision to shift effort from investigation and repair to automatically rerunning tests. Our cost model can help practitioners analyze the cost of flaky tests in their context and make informed decisions. Furthermore, our case study provides a first step to better understand the costs of flaky tests, which can lead researchers to industry-relevant problems.
引用
收藏
页码:329 / 340
页数:12
相关论文
共 50 条
  • [41] A case study of a simultaneous integration in an SME: Implementation process and cost analysis
    Llonch, Marc
    Bernardo, Merce
    Presas, Pilar
    INTERNATIONAL JOURNAL OF QUALITY & RELIABILITY MANAGEMENT, 2018, 35 (02) : 319 - 334
  • [42] Continuous integration congestion cost allocation based on sensitivity
    Wu, ZQ
    Wang, YN
    Qing, HS
    Yang, YXO
    IEE PROCEEDINGS-GENERATION TRANSMISSION AND DISTRIBUTION, 2004, 151 (04) : 421 - 426
  • [43] A Cost-efficient Approach to Building in Continuous Integration
    Jin, Xianhao
    Servant, Francisco
    2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020), 2020, : 13 - 25
  • [44] The Integration of TLS and Continuous GPS to Study Landslide Deformation: A Case Study in Puerto Rico
    Wang, G.
    Philips, D.
    Joyce, J.
    Rivera, F. O.
    JOURNAL OF GEODETIC SCIENCE, 2011, 1 (01) : 25 - 34
  • [45] Test case prioritization of build acceptance tests for an enterprise cloud application: An industrial case study
    Srikanth, Hema
    Cashman, Mikaela
    Cohen, Myra B.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2016, 119 : 122 - 135
  • [46] Test Case Selection in Continuous Regression Testing using Machine Learning: An Industrial Case Study
    Ahmad, Azeem
    Rentas, Dimistris
    Hasselqvist, Daniel
    Sandberg, Pontus
    Sandahl, Kristian
    Vulgarakis, Aneta
    2024 IEEE 48TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE, COMPSAC 2024, 2024, : 33 - 38
  • [47] Measuring the Cost of Regression Testing in Practice: A Study of Java']Java Projects using Continuous Integration
    Labuschagne, Adriaan
    Inozemtseva, Laura
    Holmes, Reid
    ESEC/FSE 2017: PROCEEDINGS OF THE 2017 11TH JOINT MEETING ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2017, : 821 - 830
  • [48] Comparative study of machine learning test case prioritization for continuous integration testing
    Dusica Marijan
    Software Quality Journal, 2023, 31 : 1415 - 1438
  • [49] Industrial case study of causal modeling of continuous casting and lamination of steel tubes
    Caldeira Silva, Danilo A.
    Salis, Turibio Tanus
    Braga, Antonio Padua
    2021 IEEE LATIN AMERICAN CONFERENCE ON COMPUTATIONAL INTELLIGENCE (LA-CCI), 2021,
  • [50] Continuous integration as a means of coordination - A case study of two open source projects
    Holck, J
    Jorgensen, N
    CONSTRUCTING THE INFRASTRUCTURE FOR THE KNOWLEGE ECONOMY: METHODS AND TOOLS, THEORY AND STRUCTURE, 2004, : 187 - 198