Open this publication in new window or tab >>2021 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]
Vehicular software systems control and monitor many safety-critical functions, such as automated emergency brakes and anti-spin. These functions are integrated and tested at system level to ensure that the entire system works as intended.Traditionally, these functions or selected combinations of functions are tested in isolation. Although desired, rigorous testing of combinations of functions prior to deployment is seldom possible. One reason is the overwhelming work required to write new test cases for the nearly infinite combinations of functions and driving scenarios. Since software testing already accounts for up to 60% of the software development cost and the execution time in test rigs is expensive, further testing must be achieved by running test cases more in parallel. Moreover, new test cases must be reusable in different driving scenarios to cover more combinations of functions. One solution is to express the test logic in a new way so that it can be executed in parallel, independently of other tests and independent of the input stimuli. This would allow reusing the test logic for different sequences or drive scenarios. Passive testing is one such approach that has not yet been used much for vehicular software due to perceived difficulties, although it is well-established in other domains. One particular problem is how to specify and execute passive test cases for vehicular systems in an, for the test engineer, intuitive and straightforward manner. Further, there is a lack of tool support and knowledge on efficiently applying passive testing in an industrial context. Thus, the overall research goal of this thesis is to propose and evaluate industrially applicable methods and tools for passive testing at the system level of vehicular software systems. The research is based on a series of papers and case studies within the vehicular industry. In contrast to existing specification languages based on formal mathematical expressions, considerable effort was spent creating an intuitive language and an interactive tool, simple but powerful enough, to encourage the industrial application of passive testing. The main contributions include an easy-to-write and easy-to-read description language for passive test cases, an interactive development environment, and knowledge on how to succeed in passive testing in an industrial software development process. The findings of this thesis contribute to making passive testing a viable method for system-level testing and a way of reusing test logic. In the case of a studied train control management system, using passive testing may reuse up to 50% of the test logic for the safety-related requirements and 10% of the non-safety-related requirements.
Abstract [sv]
Datorsystemen i våra fordon styr och övervakar många säkerhetskritiska funktioner, såsom automatiserade nödbromsar och antispinn. Dessa funktioner är integrerade och testade på systemnivå för att säkerställa att hela systemet fungerar som avsett. Traditionellt testas dessa funktioner eller utvalda kombinationer av funktioner var för sig. Detta tillvägagångssätt kräver många testfall som ofta är utförda efter varandra, med liten eller ingen variation. Eftersom programvarutestning redan står för upp till 60% av kostnaden för utveckling av programvara, och exekveringstiden i testriggar är dyr, måste ytterligare testning uppnås genom att köra testfall mer parallellt. Vidare måste nya testfall vara återanvändbara i olika körscenarier. Dessa måste täcka fler kombinationer av funktioner utan att testlogiken, som kontrollerar att kraven uppfylls, behöver dupliceras eller skrivas om. En lösning är att göra testlogiken oberoende av test stimuli, så att testlogiken kan köras parallellt och återanvändas för olika stimulisekvenser eller scenarier. Passiv testning är en sådan metod som ännu inte har använts mycket för fordonsprogramvara, även om den är väl etablerad inom andra områden. De problem som behöver lösas är t.ex. hur man specificerar och utvärderar passiva testfall för fordonssystem på ett mer intuitivt och enkelt sätt. Vidare behövs verktygsstöd och kunskap om hur man effektivt tillämpar passiv testning i ett industriellt sammanhang. Därför är den här avhandlingens övergripande mål att föreslå och utvärdera industriellt tillämpbara metoder och verktyg för passiv testning på systemnivå för fordonsprogramvarusystem. Avhandlingen baseras på en serie artiklar och fallstudier genomförda inom fordonsindustrin. Huvudbidragen inkluderar, ett för testingenjören, intuitivt beskrivningsspråk för passiva testfall som är lätt att skriva och läsa, en interaktiv utvecklingsmiljö för passiva testfall och kunskap om hur man lyckas med passiv testning i en industriell mjukvaruutvecklingsprocess. Resultaten bidrar till att göra passiv testning attraktivt och lättillgängligt för testning på systemnivå samt att främjar återanvändning av testlogik. Ett konkret exempel på detta är ett kontrollsystem för tåg som studerades. Här skulle passiv testning kunna bidra till att återanvända upp till 50% av testlogiken för de säkerhetskritiska kraven och upp till 10% av de icke-säkerhetskritiska kraven.
Place, publisher, year, edition, pages
Västerås: Mälardalen University, 2021. p. 212
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 336
National Category
Software Engineering
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-55734 (URN)978-91-7485-522-7 (ISBN)
Public defence
2021-10-22, Delta & online, Mälardalens högskola, Västerås, 13:15 (English)
Opponent
Supervisors
2021-09-142021-09-132022-01-13Bibliographically approved