Empirical Analysis of Factors and their Effect on Test Flakiness - Practitioners' Perceptions

06/03/2019
by   Azeem Ahmad, et al.
0

Developers always wish to ensure that their latest changes to the code base do not break existing functionality. If test cases fail, they expect these failures to be connected to the submitted changes. Unfortunately, a flaky test can be the reason for a test failure. Developers spend time to relate possible test failures to the submitted changes only to find out that the cause for these failures is test flakiness. The dilemma of an identification of the real failures or flaky test failures affects developers' perceptions about what is test flakiness. Prior research on test flakiness has been limited to test smells and tools to detect test flakiness. In this paper, we have conducted a multiple case study with four different industries in Scandinavia to understand practitioners' perceptions about test flakiness and how this varies between industries. We observed that there are little differences in how the practitioners perceive test flakiness. We identified 23 factors that are perceived to affect test flakiness. These perceived factors are categorized as 1) Software test quality, 2) Software Quality, 3) Actual Flaky test and 4) Company-specific factors. We have studied the nature of effects such as whether factors increase, decrease or affect the ability to detect test flakiness. We validated our findings with different participants of the 4 companies to avoid biases. The average agreement rate of the identified factors and their effects are 86

READ FULL TEXT

page 1

page 9

page 11

research
07/31/2019

Comprehending Test Code: An Empirical Study

Developers spend a large portion of their time and effort on comprehendi...
research
05/31/2022

K-Detector: Identifying Duplicate Crash Failures in Large-Scale Software Delivery

After a developer submits code, corresponding test cases arise to ensure...
research
08/22/2023

A multi-case study of agile requirements engineering and the use of test cases as requirements

Context: It is an enigma that agile projects can succeed 'without requir...
research
07/16/2020

The Unpopularity of the Software Tester Role among Software Practitioners: A Case Study

As software systems are becoming more pervasive, they are also becoming ...
research
02/28/2022

Automatic Test-Case Reduction in Proof Assistants: A Case Study in Coq

As the adoption of proof assistants increases, there is a need for effic...
research
02/10/2020

Different Types of Voice User Interface Failures May Cause Different Degrees of Frustration

We report on an investigation into how different types of failures in a ...
research
09/23/2021

Discovering and Validating AI Errors With Crowdsourced Failure Reports

AI systems can fail to learn important behaviors, leading to real-world ...

Please sign up or login with your details

Forgot password? Click here to reset