kth.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
Assessing Mutation Testing in Software Development: Industry Perspectives and Practical Applications
KTH, School of Electrical Engineering and Computer Science (EECS).
2024 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
Utvärdering av Mutationstestning inom Mjukvaruutveckling : Perspektiv från Industrin och Praktisk Implementering (Swedish)
Abstract [en]

Mutation testing is a software testing technique that evaluates the effectiveness of test suites by introducing artificial faults, or mutants, into the code and assessing the test suite’s ability to detect them. This is a very promising technique that helps to detect weaknesses in test coverage that traditional testing methods might miss, thereby enhancing software quality and robustness. Despite its potential, mutation testing’s adoption within the industry has been limited due to reasons such as computational demands and inexperience in an industrial setting. This research addresses this gap by exploring the perceptions and experiences of industry professionals through interviews and by conducting practical experiments on multiple versions of open-source projects. The aim is to understand how mutation testing can be effectively integrated into a software development process and identify the benefits and challenges associated with it. Using a combination of qualitative and quantitative methods, this study shows that mutation testing is primarily viewed as a feedback tool rather than a definitive quality metric, where surviving mutants provide the most actionable insights. It is arguably especially beneficial for critical systems and software with a lot of logic, where its ability to detect robustness issues is very valuable and effective. While early implementation of mutation testing supports a proactive approach with early fault detection and improved test suite development, several practitioners find the greatest value when the codebase and the test suite have reached a higher maturity, allowing for a more thorough and meaningful evaluation. However, notable challenges such as the time consumption and the complexity of setting up and analyzing results were also identified.

Abstract [sv]

Mutationstestning är en mjukvarutestningsteknik som utvärderar effektivite- ten av testsviter genom att introducera artificiella fel, så kallade mutanter, i koden och bedöma testsvitens förmåga att upptäcka dem. Det är en mycket lovande teknik som hjälper till att upptäcka svagheter i testtäckningen som traditionella testmetoder kan missa, vilket därav också förbättrar kvaliteten och robustheten på mjukvaran. Trots dess potential har mutationstestningens anpassning inom industrin varit begränsad på grund av faktorer som höga beräkningskostnader och brist på erfarenhet inom industrin. Det här arbetet avser att fylla denna lucka genom att utforska uppfattningar och erfarenheter från erfarna ingenjörer ute i indistrin genom intervjuer samt genom praktiska experiment på flera versioner av open-source projekt. Syftet är att förstå hur mutationstestning effektivt kan integreras i en mjukvaruutvecklingsprocess och identifiera de fördelar och utmaningar som är förknippade med den. Med en kombination av kvalitativa och kvantitativa metoder visar denna studie att mutationstestning främst ses som ett feedbackverktyg snarare än ett definitivt kvalitetsmått, där överlevande mutanter ger de mest värdefulla insikterna. Det finns indikationer på att vara särskilt fördelaktigt för kritiska system och mjukvara med mycket logik, där dess förmåga att upptäcka robusthetsproblem är mycket värdefull och effektiv. Medan tidig implementering av mutationstestning stödjer en proaktiv metod där tidig felsökning och förbättrad testsvit utvecklas, utger flera ingenjörer att det största värdet ges när kodbasen och testsviten har nått en högre mognad, vilket möjliggör en grundligare och mer meningsfull utvärdering. Betydande utmaningar identifierades även såsom tiden mutationstestning kräver, komplexiteten i att sätta upp och analysera resultat och en generell okunskap inom industrin.

Place, publisher, year, edition, pages
2024. , p. 97
Series
TRITA-EECS-EX ; 2024:736
Keywords [en]
Computer Science, Software Engineering, Mutation Testing, Quality Assur- ance, Dextool
Keywords [sv]
Datavetenskap, Mjukvaruteknik, Mutationstestning, Kvalitetssäkring, Dex- tool
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-360093OAI: oai:DiVA.org:kth-360093DiVA, id: diva2:1938344
External cooperation
Saab AB
Supervisors
Examiners
Available from: 2025-03-04 Created: 2025-02-18 Last updated: 2025-03-04Bibliographically approved

Open Access in DiVA

fulltext(895 kB)56 downloads
File information
File name FULLTEXT02.pdfFile size 895 kBChecksum SHA-512
241240298d56bfc7ed5e5b067e004a716e16b7ce9bb1fb8da9143e5aae1af1efa4a9dc89cc7b929c764279ca8208b94a0f0c33e5e20b76e5279d754686d6aff7
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 56 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 630 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