  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% and 86% respectively, among participants.
