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
Automated test mapping and coverage for network topologies
Westermo RandD AB, 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.ORCID iD: 0000-0002-1660-199X
Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.ORCID iD: 0000-0002-5032-2310
Show others and affiliations
2018 (English)In: ISSTA 2018 - Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis, Association for Computing Machinery, Inc , 2018, p. 73-83Conference paper, Published paper (Refereed)
Abstract [en]

Communication devices such as routers and switches play a critical role in the reliable functioning of embedded system networks. Dozens of such devices may be part of an embedded system network, and they need to be tested in conjunction with various computational elements on actual hardware, in many different configurations that are representative of actual operating networks. An individual physical network topology can be used as the basis for a test system that can execute many test cases, by identifying the part of the physical network topology that corresponds to the configuration required by each individual test case. Given a set of available test systems and a large number of test cases, the problem is to determine for each test case, which of the test systems are suitable for executing the test case, and to provide the mapping that associates the test case elements (the logical network topology) with the appropriate elements of the test system (the physical network topology). We studied a real industrial environment where this problem was originally handled by a simple software procedure that was very slow in many cases, and also failed to provide thorough coverage of each network's elements. In this paper, we represent both the test systems and the test cases as graphs, and develop a new prototype algorithm that a) determines whether or not a test case can be mapped to a subgraph of the test system, b) rapidly finds mappings that do exist, and c) exercises diverse sets of network nodes when multiple mappings exist for the test case. The prototype has been implemented and applied to over 10,000 combinations of test cases and test systems, and reduced the computation time by a factor of more than 80 from the original procedure. In addition, relative to a meaningful measure of network topology coverage, the mappings achieved an increased level of thoroughness in exercising the elements of each test system.

Place, publisher, year, edition, pages
Association for Computing Machinery, Inc , 2018. p. 73-83
Keywords [en]
Network topology, Subgraph isomorphism, Test coverage, Testing, Embedded systems, Mapping, Test facilities, Topology, Communication device, Computational elements, Industrial environments, Physical network topologies, Prototype algorithms, Software testing
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
URN: urn:nbn:se:mdh:diva-40528DOI: 10.1145/3213846.3213859ISI: 000612724200008Scopus ID: 2-s2.0-85051515196ISBN: 9781450356992 (print)OAI: oai:DiVA.org:mdh-40528DiVA, id: diva2:1241246
Conference
27th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2018, 16 July 2018 through 21 July 2018
Available from: 2018-08-23 Created: 2018-08-23 Last updated: 2022-11-09Bibliographically approved
In thesis
1. Automated System Level Software Testing of Networked Embedded Systems
Open this publication in new window or tab >>Automated System Level Software Testing of Networked Embedded Systems
2018 (English)Licentiate 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. However, important challenges for successful software test automation are: lack of time for testing, lack of test environment availability, and an excess of test results information that renders decision-making hard.

In this thesis these challenges are tackled in three ways. First, in order to combat lack of time for testing, a method for automated system level regression test selection was implemented and evaluated using data from several years of nightly testing in a real world industrial setting. It was shown that automated test selection can be integrated into system level nightly testing and solve problems such as nightly testing not finishing on time. Second, in order to improve the hardware coverage of devices in the test environment and how test cases map to hardware, an algorithm based on the subgraph isomorphism problem was implemented and evaluated using industrial data. This implementation was significantly faster than the previous implementation, and the mapping process was done in such a way that hardware coverage increased over iterations. Third, to better understand decision-making in critical steps of the software development process in an industrial setting, two empirical studies were conducted. The results showed 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, and back to developers via the test results database.

Automated system level software testing of networked embedded systems can be difficult to achieve. This thesis addresses several important challenges and provides results that are of interest both to industrial practitioners and researchers.

Place, publisher, year, edition, pages
Västerås: Mälardalen University, 2018
Series
Mälardalen University Press Licentiate Theses, ISSN 1651-9256 ; 275
National Category
Software Engineering
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-41109 (URN)978-91-7485-408-4 (ISBN)
Presentation
2018-11-13, Room Zeta, Mälardalens högskola, Västerås, 13:15 (English)
Opponent
Supervisors
Available from: 2018-10-02 Created: 2018-10-02 Last updated: 2022-11-09Bibliographically approved
2. 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, ElaineSundmark, DanielAfzal, Wasif

Search in DiVA

By author/editor
Strandberg, Per ErikOstrand, Thomas J.Weyuker, ElaineSundmark, DanielAfzal, Wasif
By organisation
Embedded SystemsEmbedded Systems
Electrical Engineering, Electronic Engineering, Information Engineering

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 222 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