Open this publication in new window or tab >>Show others...
2020 (English)In: International Symposium on Software Testing and Analysis ISSTA'20, 2020, p. 337-348Conference paper, Published paper (Refereed)
Abstract [en]
Software testing is sometimes plagued with intermittently failing tests and finding the root causes of such failing tests is often difficult. This problem has been widely studied at the unit testing level for open source software, but there has been far less investigation at the system test level, particularly the testing of industrial embedded systems. This paper describes our investigation of the root causes of intermittently failing tests in the embedded systems domain, with the goal of better understanding, explaining and categorizing the underlying faults. The subject of our investigation is a currently-running industrial embedded system, along with the system level testing that was performed. We devised and used a novel metric for classifying test cases as intermittent. From more than a half million test verdicts, we identified intermittently and consistently failing tests, and identified their root causes using multiple sources. We found that about 1-3% of all test cases were intermittently failing. From analysis of the case study results and related work, we identified nine factors associated with test case intermittence. We found that a fix for a consistently failing test typically removed a larger number of failures detected by other tests than a fix for an intermittent test. We also found that more effort was usually needed to identify fixes for intermittent tests than for consistent tests. An overlap between root causes leading to intermittent and consistent tests was identified. Many root causes of intermittence are the same in industrial embedded systems and open source software. However, when comparing unit testing to system level testing, especially for embedded systems, we observed that the test environment itself is often the cause of intermittence.
Keywords
system level test automation, embedded systems, flaky tests, intermittently failing tests, non-deterministic tests
National Category
Engineering and Technology Computer Systems
Identifiers
urn:nbn:se:mdh:diva-49332 (URN)10.1145/3395363.3397359 (DOI)2-s2.0-85088915813 (Scopus ID)
Conference
International Symposium on Software Testing and Analysis ISSTA'20, 18 Jul 2020, Los Angeles, United States
Projects
EXACT - Experimental Analysis of the Coupling Effect Hypothesis in Software TestingThe Volvo chair of vehicular electronics and software architectureITS ESS-H Industrial Graduate School in Reliable Embedded Sensor SystemsMegaMaRt2 - Megamodelling at Runtime (ECSEL/Vinnova)TESTMINE - Mining Test Evolution for Improved Software Regression Test Selection (KKS)ADEPTNESS - Design-Operation Continuum Methods for Testing and Deployment under Unforeseen Conditions for Cyber-Physical Systems of Systems
2020-07-092020-07-092022-11-09Bibliographically approved