Zur Seitenansicht
 

Titelaufnahme

Titel
Modellbasiertes Mutationstesten zur Testfallgenerierung und Wirksamkeitsanalyse
AutorHollmann, Axel In der Gemeinsamen Normdatei der DNB nachschlagen
PrüferBelli, Fevzi In der Gemeinsamen Normdatei der DNB nachschlagen
Erschienen2011
HochschulschriftPaderborn, Univ., Diss., 2011
Anmerkung
Tag der Verteidigung: 07.06.2011
SpracheEnglisch ; Deutsch
DokumenttypDissertation
URNurn:nbn:de:hbz:466:2-379 Persistent Identifier (URN)
Dateien
Model-based mutation testing for test generation and adequacy analysis [5.13 mb]
Dissertation_Hollmann_Zusammenfassung [0.12 mb]
Dissertation_Hollmann_Summary [0.11 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Deutsch)

Die Mutationsanalyse wurde in den Siebzigerjahren primär zur Beurteilung der Effizienz einer vorgegebenen Testfallmenge eingeführt. Zur systematischen Modifizierung des Quellcodes des zu prüfenden Systems (Prüfling) und somit zur Simulierung typischer Programmierfehler benutzt das Verfahren spezielle Mutationsoperatoren. Für jeden der erzeugten Mutanten wird überprüft, ob die gegebene Testfallmenge den bzw. die injizierten Fehler erkennt. Das Verhältnis aus erkannten zu nicht erkannten Fehlern wird abschließend zur Beurteilung der Effizienz der gegebenen Testfallmenge genutzt. Die vorliegende Arbeit führt eine modellbasierte Mutationsanalyse ein. Anstatt des Quellcodes des zu prüfenden Systems wird nun das gegebene, als korrekt angenommene Modell des Systems systematisch modifiziert. Für jeden so erzeugten Mutanten wird eine Testfallmenge mittels eines modellbasierten Testfallgenerators generiert, welche auf das zu prüfende System angewandt wird. Im Gegensatz zur code-basierten Mutationsanalyse ermöglicht es diese modellbasierte Sichtweise, auch "echte", d.h. nicht-injizierte Fehler im Prüfling zu erkennen. Ein weiterer Vorteil ist, dass der Quellcode des Prüflings nicht benötigt wird, weil die Mutationsanalyse auf Modellebene durchgeführt wird. Das erleichtert den Einsatz in der Praxis, weil der Quellcode des Prüflings nicht immer verfügbar ist. Der Ansatz und die benutzten elementaren Mutationsoperatoren werden zunächst syntaktisch anhand von gerichteten Graphen erläutert. Zur Berücksichtigung praktischer Belange werden exemplarisch einige bekannte Modelle herangezogen: Ereignis-Sequenz-Graphen, endliche Automaten und Statecharts. Mit Hilfe dieser Modelle identifizieren und analysieren mehrere Fallstudien die charakteristischen Eigenschaften und Vorteile des eingeführten Ansatzes.

Zusammenfassung (Englisch)

Mutation analysis was introduced in the seventies of the last century to assess the efficiency of a given test set. This approach makes use of specific mutation operators to systematically modify the source code of the system under test (SUT) to simulate typical programming errors. For each of the generated mutants, it checks whether or not the given test set detects the injected fault(s). The ratio of detected to undetected faults is finally used to assess the efficiency of the given test set. This thesis introduces a model-based mutation analysis. Instead of the source code of the SUT, its given model, which is assumed to be correct, is systematically modified. A test set is generated for each mutant using a model-based test generation algorithm, which is then applied to the SUT. In contrast to code-based mutation analysis the present model-based approach also enables the detection of "real," non-injected faults in the SUT. Another advantage is that the source code of the SUT is not needed, as the mutation analysis is performed on the model level. This eases the use in practice since the source code of the SUT is not always available. The beginning of the thesis explains the approach and syntactically introduces the basic mutation operators by means of directed graphs. To take the practical issues into account, well-known models are considered: event sequence graphs, finite-state machines, and statecharts. Using these models, several case studies identify and analyze the characteristics and advantages of the approach.