Visualisierung ü... Examensarbeiten Synchronisation von ...

Diplomarbeit

Konzeption und Implementierung eines Verfahrens zur Analyse von Modellverfeinerungen und zur Testdatenerzeugung

 

Zusammenfassung

Beim modellbasierten Test werden automatisch Testfälle für ein Softwaresystem aus den im Verlauf des Entwurfsprozesses erzeugten Modellen generiert. Von diesem Ansatz verspricht man sich, kostengünstig und zu einem frühen Zeitpunkt des Entwicklungsprozesses geeignete Testszenarien zu erhalten.
Das sukzessive Präzisieren grober Modelle zu einer möglichst genauen Beschreibung des Systems ist ein üblicher Vorgang in der Entwurfsphase. Es stellt sich die Frage, wie gut Testfälle aus einem groben, frühen Modell hinsichtlich ihres Fehleraufdeckungspotentials im Vergleich mit Testfällen aus einem detaillierteren Modell sind. Um dieser Frage in weiteren Untersuchungen nachgehen zu können, wird in dieser Arbeit ein Verfahren vorgestellt, das einem Testfall aus einem solchen groben Modell eine Menge von entsprechenden Testfällen im Detaillierteren zuordnet.
Dazu wird der Begriff der 'Verfeinerung' eines Modells definiert und untersucht. Es wird eine Menge von Kriterien eingeführt, die eine Verfeinerung von anderen Klassen von Modellveränderungen abgrenzt. Dies geschieht zuerst ganz allgemein auf Graphen.
Anschließend werden die so erarbeiteten Konzepte auf UML-Verhaltensdiagramme übertragen. Dazu wird den Modellen ein zugrundeliegender Graph zugeordnet, auf dem die graphentheoretischen Kriterien der Verfeinerung überprüft werden können. Zusätzlich werden weitere Kriterien für eine Verfeinerung deniert, die solche Modellelemente betreffen, die, wie z.B. Trigger, Guards und Effects, keine intuitive graphentheoretische Entsprechung haben.
Auf dieser Grundlage wird dann eine Beziehung von Pfaden durch ein grobes Modell zu Pfaden durch ein entsprechend verfeinertes Modell festgelegt. Weil jeder Testfall einen bestimmten Pfad im Modell überdeckt, lässt sich diese Beziehung auch auf Testfälle übertragen.
Es wird eine Möglichkeit präsentiert, für gegebene Testfälle durch ein grobes Modell die entsprechenden Testfälle im verfeinerten Modell automatisch zu erzeugen. Dieser Vorgang wird als Konkretisierungs-Testfallgenerierung bezeichnet.
Diese wurde in drei verschiedenen Varianten implementiert. Alle drei werden beschrieben und auf ihre Vor- und Nachteile hin untersucht. Die Implementierungen erweitern den UnITeD Testfallgenerator, ein bestehendes Werkzeug, das Testfälle aus UML-Verhaltensmodellen mit Hilfe genetischer Algorithmen erzeugt. An einigen Beispieldiagrammen wird die Anwendung der Konkretisierungs-Testfallgenerierung gezeigt.

Bearbeiter: Alexander Reuß

Betreuer: Dipl.-Inf. Dirk Wischermann

In Kooperation mit: AFRA GmbH Erlangen