https://www.mdu.se/

mdu.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Intermittently Failing Tests in the Embedded Systems Domain
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. Westermo Network Technologies AB, Västerås, Sweden.ORCID iD: 0000-0003-1688-6937
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems. University of Central Florida, Orlando, USA.ORCID iD: 0000-0002-1660-199X
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.ORCID iD: 0000-0003-0611-2655
Show others and affiliations
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.

Place, publisher, year, edition, pages
2020. p. 337-348
Keywords [en]
system level test automation, embedded systems, flaky tests, intermittently failing tests, non-deterministic tests
National Category
Engineering and Technology Computer Systems
Identifiers
URN: urn:nbn:se:mdh:diva-49332DOI: 10.1145/3395363.3397359Scopus ID: 2-s2.0-85088915813OAI: oai:DiVA.org:mdh-49332DiVA, id: diva2:1453359
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 SystemsAvailable from: 2020-07-09 Created: 2020-07-09 Last updated: 2022-11-09Bibliographically approved
In thesis
1. Automated System-Level Software Testing of Industrial Networked Embedded Systems
Open this publication in new window or tab >>Automated System-Level Software Testing of Industrial Networked Embedded Systems
2021 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Embedded systems are ubiquitous and play critical roles in management systems for industry and transport. Software failures in these domains may lead to loss of production or even loss of life, so the software in these systems needs to be reliable. Software testing is a standard approach for quality assurance of embedded software, and many software development processes strive for test automation. Out of the many challenges for successful software test automation, this thesis addresses five: (i) understanding how updated software reaches a test environment, how testing is conducted in the test environment, and how test results reach the developers that updated the software in the first place; (ii) selecting which test cases to execute in a test suite given constraints on available time and test systems; (iii) given that the test cases an run on different configurations of connected devices, selecting which hardware to use for each test case to be executed; (iv) analyzing test cases that, when executed over time on evolving software, testware or hardware revisions, appear to randomly fail; and (v) making test results information actionable with test results exploration and visualization.

The challenges are tackled in several ways. First, to better understand the flow of information in the embedded systems software development process, interviews at five different companies were conducted. The results show how visualizations and a test results database support decision-making. Results also describe the overall flow of information in software testing: from developers to hardware in the test environment, and back to developers. Second, in order to address the challenges of test selection and hardware selection, automated approaches for testing given resource constraints were implemented and evaluated using industrial data stemming from years of nightly testing. It was shown that these approaches could solve problems such as nightly testing not finishing on time, as well as increasing hardware coverage by varying hardware selection over test iterations. Third, the challenge of intermittently failing tests was addressed with a new metric that can classify test cases as intermittently or consistently failing. Again, by using industry data, factors that lead to intermittent failures were identified, and similarities and differences between root causes for intermittently and consistently failing tests were observed. Finally, in order to better render test results actionable, a tool was implemented for test results exploration and visualization. The implementation was evaluated using a reference group and logging of the tool’s usage. Solution patterns and views of the tool were identified, as well as challenges for implementing such a tool.

Abstract [sv]

Inbyggda system finns överallt och fyller viktiga roller i ledningssystem för industri och transport. Här kan mjukvarufel leda till produktionsbortfall eller till och med dödsfall, så mjukvaran i systemen måste vara tillförlitlig. Mjukvarutestning är en standardmetod för att kvalitetssäkra mjukvaran i inbyggda system, och många processer för mjukvaruutveckling strävar efter automatiserad testning. Av de många utmaningarna för framgångsrik testautomatisering täcker denna avhandling fem: (i) att förstå hur uppdaterad mjukvara når en testmiljö, hur testning utförs i testmiljön och hur testresultat når tillbaka till utvecklarna som uppdaterade mjukvaran; (ii) att välja vilka testfall som ska exekveras i en testsvit givet begränsningar i tillgänglig tid och tillgängliga testsystem; (iii) givet att testfall körs på olika konfigurationer av anslutna enheter, hur väljs hårdvaran som ska användas för varje testfall ut; (iv) att analysera testfall som, när de körs upprepade gånger med mjukvara, testvara eller hårdvara under utveckling, verkar slumpmässigt påvisa fel; och (v) att göra testresultat mer användbara genom göra det möjligt att utforska och visualisera den.

Utmaningarna möts på flera sätt. För det första, för att bättre förstå informationsflödet i utvecklingsprocessen för mjukvaran i inbyggda system så genomfördes intervjuer på fem olika företag. Resultaten visar hur visualiseringar och en testresultatsdatabas stödjer beslutsfattande. Resultaten beskriver också det övergripande informationsflödet i mjukvarutestning: från utvecklare till hårdvara i testmiljön och tillbaka till utvecklarna. För det andra, för att ta itu med utmaningarna vid testselektion och hårdvaruselektion, implementerades och utvärderades automatiserade metoder för testning givet resursbegränsningar, med hjälp av industriella data från flera år av nattliga tester. Dessa tillvägagångssätt kunde lösa problem som att nattliga tester inte avslutas i tid, och kan även öka hårdvarutäckningen genom att variera hårdvaruselektionen över testiterationer. För det tredje angrips utmaningen med intermittenta tester med en ny metrik för att klassificera testfall som intermittent eller konsekvent påvisar fel. Genom att återigen använda industriellt data så identifierades faktorer som leder till intermittenta tester, och likheter och skillnader i rotorsaker för intermittenta och konsekventa tester identifierades. Slutligen, för att göra testresultaten mer användbara, implementerades ett verktyg för utforskning och visualisering av testresultat. Implementationen utvärderades med hjälp av en referensgrupp samt av loggning av verktygets användning. Lösningsmönster och verktygets vyer identifierades, liksom utmaningar för att implementera ett sådant verktyg.

Place, publisher, year, edition, pages
Västerås: Mälardalen University, 2021
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 349
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-56036 (URN)978-91-7485-529-6 (ISBN)
Public defence
2021-11-22, Gamma och online via Teams, Mälardalens högskola, Västerås, 13:15 (English)
Opponent
Supervisors
Note

Available from: 2021-10-13 Created: 2021-10-13 Last updated: 2022-11-08Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Strandberg, Per ErikOstrand, Thomas J.Weyuker, ElaineAfzal, WasifSundmark, Daniel

Search in DiVA

By author/editor
Strandberg, Per ErikOstrand, Thomas J.Weyuker, ElaineAfzal, WasifSundmark, Daniel
By organisation
Embedded SystemsEmbedded Systems
Engineering and TechnologyComputer Systems

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 88 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf