Uppsats

En jämförelsestudie mellan testmetoder enhetstestning property-based testing och rich testing

Kandidat-uppsats

Mälardalens universitet/Institutionen för datavetenskap och datateknik

Publicerad: 2026

Språk: Svenska

Sammanfattning

Programvarutestning är en viktig del i mjukvaruutveckling, där tester utvecklas för att säkerställa att programkod håller rätt kvalitet. Inom industrin används oftast etablerade testmetoder, som enhetstestning och property-based testing, medan nyare metoder såsom rich testing erbjuder ett alternativt sätt att verifiera beteende i program. Syftet med detta examensarbete är att undersöka hur effektivt rich testing upptäcker olika typer av buggar i två olika datastrukturer, jämfört med enhetstestning och property-based testing. Jämförelsen omfattar även de olika metodernas exekveringstid samt mängden kod som krävs för att implementera testerna med de olika metoderna. Arbetet genomfördes som en experimentstudie där tester med de tre testmetoderna utfördes på två datastrukturer skrivna i programmeringsspråket C, en array-baserad lista och en dubbellänkad lista. Mutationstestning användes för att utvärdera testmetodernas effektivitet, där ett stort antal mutationer applicerades på datastrukturerna. Mutationerna klassificerades i olika buggkategorier för att göra det möjligt att analysera vilken typ av buggar varje metod hade störst förmåga att upptäcka. Resultaten visar att enhetstestning inom de undersökta datastrukturerna och det valda experimentupplägget uppnådde högst mutationsscore och kortast exekveringstid i samtliga genomförda experiment. Rich testing uppnådde resultat som var nära enhetstesterna i de flesta fall och upptäckte även vissa mutationer som de andra metoderna missade. Samtidigt krävde rich testing mindre mängd kod för att uttrycka testfallen. Property-based testing upptäckte minst antal mutationer och hade också en exekveringstid som var betydligt högre än de andra metoderna. Resultaten visar att metoderna till viss del upptäcker olika mutationer. Detta indikerar att metoderna delvis kompletterar varandra i stället för att en metod är tillräcklig för alla situationer.

Information

Lärosäte / institution
Mälardalens universitet/Institutionen för datavetenskap och datateknik
Publiceringsdatum
2026
Uppsatstyp
Kandidat-uppsats
Språk
Svenska

Utforska vidare

Liknande uppsatser

Uppsatser med liknande ämnen och nyckelord.