Mutation operators for feature‐oriented software product lines

Summary Mutation testing is an approach to assess the quality of test cases. Mutants are modified versions of a system that ideally compose faulty behaviour. Test cases for a system are effective if they kill these mutants. For software product lines, several works have addressed mutation testing to...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Software testing, verification & reliability Ročník 29; číslo 1-2
Hlavní autoři: Krüger, Jacob, Al‐Hajjaji, Mustafa, Leich, Thomas, Saake, Gunter
Médium: Journal Article
Jazyk:angličtina
Vydáno: Chichester Wiley Subscription Services, Inc 01.01.2019
Témata:
ISSN:0960-0833, 1099-1689
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:Summary Mutation testing is an approach to assess the quality of test cases. Mutants are modified versions of a system that ideally compose faulty behaviour. Test cases for a system are effective if they kill these mutants. For software product lines, several works have addressed mutation testing to inject variability faults, which may only exist in some variants. These works focus on variability models or specific implementation techniques. In contrast, feature‐oriented programming has been rarely investigated, wherefore, we (1) derive corresponding mutation operators, (2) investigate the feasibility of our proposed and conventional operators on 4 software product lines, and (3) discuss open challenges in mutation testing of software product lines. The results show that our proposed operators are suitable to cause variability faults and extend the capabilities of conventional operators. Nonetheless, mutation testing of software product lines is comparably expensive, due to a high number of variants and mutants—resulting in equivalence and redundancy. This article proposes a set of variability‐aware mutation operators to assess test cases of configurable systems (ie, implemented with feature‐oriented programming). The results show that the proposed operators are more suitable to assess the ability of tests to find variability faults, but they can also result in an increased number of redundant and equivalent mutants. Several open challenges of mutation testing for configurable systems are discussed to guide further research.
Bibliografie:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:0960-0833
1099-1689
DOI:10.1002/stvr.1676