Universit¨ at Paderborn Fakult¨ at V (EIM) Institut f¨ ur ET & IT
ANGEWANDTE DATENTECHNIK (SOFTWARETECHNIK)
Prof. Dr.-Ing. F. Belli
WS 2011/2012
Projektaufgabe
Modellbasiertes Mutationstesten zur Testgenerierung und Testeffizienz-Beurteilung
Beim sogenannten Mutationstesten werden in das zu testende System kleinere Fehler implementiert. Das resultierende System wird dann als Mutant bezeichnet. Eine Testfallmenge, die bereits auf das Originalsystem angewendet wurde und typischerweise keine Fehler mehr aufgedeckt hat, wird nun auf den Mutanten angewendet, um zu pr¨ufen, ob die Testfallmenge die injizierten Fehler aufdeckt. Je besser die Qualit¨at der Testfallmenge ist, desto mehr Fehler sollten aufgedeckt werden - bestenfalls die Fehler aller generierten Mutanten. Zur Erzeugung von Mutanten werden Mutationsoperatoren definiert, die typische Fehler bei der Entwicklung des Systems dar- stellen - in der Regel Programmierfehler.
Urspr¨unglich wurde das Mutationstesten f¨ur den Einsatz auf Quelltextebene entwickelt - in den letzten Jah- ren wurden aber auch Verfahren f¨ur den Einsatz spezifikationsorientierter Mutationstests vorgeschlagen, bei dem beispielweise ein Modell der Software als Grundlage f¨ur den Mutationstest dient.
Im Rahmen der Projektgruppe soll ein modellbasiertes Mutationsverfahren evaluiert werden, welches das Modell𝑀 des zu pr¨ufenden Systems mutiert und f¨ur jeden Mutanten𝑀𝑖𝑗∗ eine Testfallmenge𝑇𝑖𝑗∗ generiert (vgl.
Abbildung 1). Index 𝑖 entspricht dem 𝑖-ten Mutationsoperator und Index 𝑗 dem 𝑗-ten Mutanten, der durch Operator𝑖generiert wurde. Die Besonderheit des Verfahrens liegt einerseits in seinem Potential, echte, d.h. nicht- injizierte Fehler im System zu finden. Andererseits beurteilt das Verfahren die Effizienz der Testfallmengen 𝑇𝑖𝑗∗ und damit den Testfallgenerator Φ. Da die Mutationen auf Modellebene vorgenommen werden, wird der Quellcode des zu testenden Systems nicht ben¨otigt, der zudem nicht immer verf¨ugbar ist.
Abbildung 1: Modellbasiertes Testen / Modellbasiertes Mutationstesten
Universit¨ at Paderborn Fakult¨ at V (EIM) Institut f¨ ur ET & IT
ANGEWANDTE DATENTECHNIK (SOFTWARETECHNIK)
Prof. Dr.-Ing. F. Belli
WS 2011/2012
Projektaufgabe
Geplanter Semesterablauf:
1. Einarbeitung, Zeitplanung
∙ Modellbasiertes (Mutations-)Testen
∙ Pr¨ufling (ISELTA)
∙ Meilensteine definieren
2. Auswahl eines geeigneten Modells𝑀, beispielsweise
∙ Ereignis-Sequenz-Graphen
∙ Automaten
∙ Statecharts
3. Bestimmung eines Testfallgenerators Φ f¨ur𝑀
∙ Abh¨angig vom Modell𝑀 Auswahl eines Testfallgenerators Φ
∙ Toolunterst¨utzung? (Make-or-Buy) 4. Testausf¨uhrung, Testauswertung
∙ Evtl. Testautomatisierung
∙ Testauswertung (Analyse der Ergebnisse)
∙ Fehlerreporting
5. Abschlusspr¨asentation und Dokumentation