Multi-Criteria Optimization of System Integration Testing
2018 (English)Doctoral thesis, monograph (Other academic)
Abstract [en]
Optimizing software testing process has received much attention over the last few decades. Test optimization is typically seen as a multi-criteria decision making problem. One aspect of test optimization involves test selection, prioritization and execution scheduling. Having an efficient test process can result in the satisfaction of many objectives such as cost and time minimization. It can also lead to on-time delivery and a better quality of the final software product. To achieve the goal of test efficiency, a set of criteria, having an impact on the test cases, need to be identified. The analysis of several industrial case studies and also state of the art in this thesis, indicate that the dependency between integration test cases is one such criterion, with a direct impact on the test execution results. Other criteria of interest include requirement coverage and test execution time. In this doctoral thesis, we introduce, apply and evaluate a set of approaches and tools for test execution optimization at industrial integration testing level in embedded software development. Furthermore, ESPRET (Estimation and Prediction of Execution Time) and sOrTES (Stochastic Optimizing of Test Case Scheduling) are our proposed supportive tools for predicting the execution time and the scheduling of manual integration test cases, respectively. All proposed methods and tools in this thesis, have been evaluated at industrial testing projects at Bombardier Transportation (BT) in Sweden. As a result of the scientific contributions made in this doctoral thesis, employing the proposed approaches has led to an improvement in terms of reducing redundant test execution failures of up to 40% with respect to the current test execution approach at BT. Moreover, an increase in the requirements coverage of up to 9.6% is observed at BT. In summary, the application of the proposed approaches in this doctoral thesis has shown to give considerable gains by optimizing test schedules in system integration testing of embedded software development.
Abstract [sv]
Populärvetenskaplig sammanfattning: Rollen av mjukvara kan inte frånses från samhällets framsteg, med en direkt inverkan på våra dagliga liv. Att förbättra kvaliteten på mjukvaruprodukter har blivit allt viktigare för programvaruföretag under de senaste årtiondena. För att uppnå högkvalitativa mjukvaruprodukter måste man balansera ansträngningar mellan design och verifieringsaktiviteter under utvecklingsprocessen. Därför blir mjukvarutestning ett viktigt verktyg som bidrar till att tillgodose slutanvändarnas behov och att upprätthålla hög kvalitet på slutprodukten. Kvalitetssäkring av mjukvaruprodukter genererar stora satsningar på forskning inom programvarutestning. Programvarutestning utförs manuellt eller automatiskt och övergången till automatiserade testningssystem har snabbt blivit utbredd i branschen. Eftersom automatiserad testning idag inte fullt ut kan dra nytta av mänsklig intuition, induktivt resonemang och inferens så spelar manuell testning fortfarande en viktig roll. Testning utförs ofta på flera nivåer, såsom enhet, integration, system och acceptans. Lämplig testmetod (antingen manuell eller automatisk) beror på flera parametrar såsom kvalitetskrav, produktens storlek och komplexitet och testnivå. Integrationstestning är den nivå i testprocessen där olika enskilda programmoduler kombineras och testas som en grupp och kan ofta vara den mest komplexa nivån. Integrationstestning utförs vanligtvis efter enhetstestning, när alla moduler har testats och godkänts separat. För att testa en produkt manuellt måste en uppsättning testfallsspecifikationer skapas. En testfallsspecifikation beskriver textuellt en händelse och hur produkten ska uppträda vid angivna ingångsparametrar. Vanligtvis krävs en stor uppsättning testfall för att testa en produkt. Att köra alla testfall för en produkt iii 7 iv manuellt kräver tid och resurser. Därför har urval, prioritering och schemaläggning av tester fått stor uppmärksamhet i programvarutestningsdomänen. I denna doktorsavhandling föreslår vi några optimeringstekniker för urval, prioritering och schemaläggning av manuella testfall för utförande. Alla föreslagna optimeringsmetoder i denna avhandling har utvärderats på industriella testprojekt vid Bombardier Transportation (BT) i Sverige. iv manuellt kräver tid och resurser. Därför har urval, prioritering och schemaläggning av tester fått stor uppmärksamhet i programvarutestningsdomänen. I denna doktorsavhandling föreslår vi några optimeringstekniker för urval, prioritering och schemaläggning av manuella testfall för utförande. Alla föreslagna optimeringsmetoder i denna avhandling har utvärderats på industriella testprojekt vid Bombardier Transportation (BT) i Sverige.
Place, publisher, year, edition, pages
Mälardalen University , 2018.
Series
Mälardalen University Press Dissertations, ISSN 16514238 ; 281
Keywords [en]
Software Testing, Optimization, Integration Testing, Decision Support System, Dependency, Test Scheduling, Requirement Coverage
National Category
Embedded Systems
Identifiers
URN: urn:nbn:se:ri:diva-37593ISBN: 9789174854145 (print)OAI: oai:DiVA.org:ri-37593DiVA, id: diva2:1283045
Public defence
2018-12-21, 13:15
2019-07-022019-01-282020-01-29Bibliographically approved