Analysis and evaluation of systematic test management frameworks in agile embedded software development

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu | Master's thesis
Date
2024-03-11
Department
Major/Subject
Electronic and Digital Systems
Mcode
ELEC3060
Degree programme
AEE - Master’s Programme in Automation and Electrical Engineering (TS2013)
Language
en
Pages
51
Series
Abstract
Agile software development practices, such as continuous integration and deployment, are becoming more common within the embedded software development area. These practices generally require extensive testing of the software throughout the entire development process. The particularities of testing embedded system software further complicate the process, as the tests are often hardware-specific and tests can take relatively long to execute. To make sufficient testing feasible, developers make use of various testing and automation tools to reduce the workload. However, because each tool serves a specific purpose, information related to the testing progress of a software project is easily split up over multiple plat-forms. This can make it hard to get a complete overview of the project’s test and requirements coverage, and gathering the data and reporting on it takes manual work and bears the risk of human error in the results. In order to ease the integration of different test management tools in-to the software testing workflow, this thesis develops a framework for automating the transfer of test results and requirements information between different testing tools. To evaluate the functionality of the pro-posed framework, the thesis implements a functioning system based on the framework guidelines and puts it to use in a live testing environment. The implemented system offers significant improvements to the speed and reliability of test status reporting and requirements validation, compared to previous solutions. A weak point in the developed framework is the configuration work required to set up the different tools before information can be shared between them. Future research could investigate whether it’s possible to also automate the configuration of one tool based on the configuration of another.

Agila programutvecklingsmetoder, såsom kontinuerlig integrering och utveckling, blir mer och mer allmänna inom området för programut-veckling av inbyggda system. Dessa metoder kräver vanligtvis extensive testning av programvaran genom hela utvecklingsprocessen. Egenarterna hos testningen av inbyggda system komplicerar processen vidare, eftersom testerna ofta är hårdvaruspecifika och kan ta relativt länge att utföra. För att möjliggöra tillräcklig testning, kan utvecklare ta användning av diverse testnings- och automationsverktyg för att lätta på arbets-bördan. Eftersom varje verktyg har ett specifikt ändamål, sprids dock information gällande ett mjukvaruprojekts testningsförlopp lätt ut över flera plattformar. Detta kan göra det svårt att få en fullständig översikt över projektets test- och kravtäckning, och datainsamling och rapportering kräver manuellt arbete och bär risk för mänskliga fel I resultaten. För att förenkla integrationen av olika testhanteringsverktyg med mjukvarutestningens arbetsflöde, utvecklar denna avhandling ett ramverk för att automatisera överföringen av testresultat och kravinformation mellan olika testverktyg. För att utvärdera funktionaliteten av det föreslagna ramverket, implementerar avhandlingen ett fungerande system baserat på ramverket och tar det i bruk i en verksam testmiljö. Det implementerade systemet erbjuder betydande förbättringar för teststatusrapportering och kravvalidering, jämfört med tidigare lösningar. En svaghet i det utvecklade ramverket ör konfigurationsarbetet som krävs för att sätta upp de olika verktygen före information kan delas mellan dem. Framtida forskning skulle kunna undersöka om det är möjligt att automatisera konfigurationen av ett verktyg baserat på konfigurationen hos en annan.
Description
Supervisor
Vujaklija, Ivan
Thesis advisor
Korhonen, Janne
Keywords
embedded systems, test management, continuous integration, automation, software testing tools
Other note
Citation