Intermittently Failing Tests in the Embedded Systems Domain

05/14/2020
by   Per Erik Strandberg, et al.
0

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 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/21/2021

Improving Test Distance for Failure Clustering with Hypergraph Modelling

Automated debugging techniques, such as Fault Localisation (FL) or Autom...
research
08/09/2022

Google Test/Google Mock to Verify Critical Embedded Software

Critical embedded systems (CES) have become ubiquitous in whether medica...
research
03/03/2021

An Empirical Analysis of UI-based Flaky Tests

Flaky tests have gained attention from the research community in recent ...
research
11/03/2021

Smells in System User Interactive Tests

Test smells are known as bad development practices that reflect poor des...
research
04/23/2021

Structuring and presenting data for testing of automotive electronics to reduce effort during decision making

Automotive engineering is recognized as a combination of software and me...
research
05/15/2023

Time-based Repair for Asynchronous Wait Flaky Tests in Web Testing

Asynchronous waits are one of the most prevalent root causes of flaky te...
research
03/16/2020

Software-Based Monitoring and Analysis of a USB Host Controller Subject to Electrostatic Discharge

Observing, understanding, and mitigating the effects of failure in embed...

Please sign up or login with your details

Forgot password? Click here to reset