Evaluation verschied... Examensarbeiten Analyse von Enterpri...

Diplomarbeit

Analyse des Fehlererkennungspotentials optimierter Testfallmengen mittels Mutationstest

 

Zusammenfassung

Mutationstests ermöglichen die Untersuchung von Testfallmengen hinsichtlich ihrer Eignung, typische Fehler im Programmcode zu erkennen. Dazu wird eine Menge von Mutanten erzeugt, wobei jeder Mutant durch eine kleine Änderung des ursprünglichen Programms entsteht. Diese Änderungen werden durch Mutationsoperatoren definiert, die jeweils typische Programmierfehler darstellen. Testfallmengen, die in der Lage sind, diese Mutanten zu erkennen, werden demnach als adäquat eingestuft, tatsächliche Fehler in einem Programm zu entdecken. Ein Mutationstest kann dabei sowohl auf Komponentenebene als auch auf Integrationstestebene ausgeführt werden. Im zweiten Fall werden Mutationsoperatoren benötigt, die die Interaktion der Komponenten betreffen. Bisher gibt es allerdings auf Integrationstestebene kaum Werkzeugunterstützung um einen solchen Test automatisiert durchzuführen.

Deshalb sind zunächst bereits vorhandene Ansätze für den Mutationstest auf Integrationstestebene zu untersuchen und die entsprechenden Mutationsoperatoren hinsichtlich ihrer Fehlerarten zu klassifizieren. Die Menge der Operatoren ist dabei gegebenenfalls um eigene Operatoren zu erweitern. Dabei sind insbesondere Fehler infolge inkorrekter Verwendung von Mechanismen objekt-orientierter Programmiersprachen wie Vererbung, Polymorphie und dynamisches Binden zu berücksichtigen. Darauf aufbauend soll ein Werkzeug entwickelt werden, das als Eingabe ein Programm in der Programmiersprache C# entgegennimmt, eine Reihe von Mutanten entsprechend der gefundenen Operatoren generiert und schließlich die Testfallmenge mit dem ursprünglichen Programm und den Mutanten ausführt, um den Mutation Score zu bestimmen. Die Funktionalität ist dabei anhand mehrerer Beispielprogramme zu belegen. Anschließend soll eine Analyse des Fehlererkennungspotentials von Testfallmengen erfolgen, die hinsichtlich der Erfüllung kopplungsbasierter Überdeckungskriterien optimiert wurden.

Bearbeiter: Jian Yin

Betreuer: Dr.-Ing. Matthias Meitner