Return to search

Mutation Testing : A comparison of mutation selection methods

Software is all around us in our lives in the industrialized world, and we as a society and individuals need it to function correctly. Software testing fills the role of performing behavior audits, to guide the correction of the software to its intended behavior. The consequences of faulty software can range to the late arrival of trains, to nuclear meltdowns. This places quality requirements on the software of various levels. Program based mutation testing provides a high level of faultfinding capability. It does this by injecting many synthetic faults into the code under test, as described by mutation operators. These faults are used to search for testcases that would identify such faults, and consequently find real faults that the synthetic faults mimic. However, mutation testing is costly on three accounts; each mutant of the original code is compiled, each mutant should ideally have an associated testcase to reveal that fault the mutant contains, finally the testcases are analyzed thoroughly by looking the output of the original and mutants to reveal the error in behavior. In order to reduce cost while maintaining a high level of faultfinding, selective mutation testing is investigated, it uses a subset of all the available mutation operators. The investigation found that using Absolute value-, and Relational operator-, mutation reduces cost of mutation testing by 80%, while uncovering 83% of the injected faults.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:his-6569
Date January 2012
CreatorsHagman, Hans
PublisherHögskolan i Skövde, Institutionen för kommunikation och information
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0026 seconds