Datenbestand vom 15. November 2024
Tel: 0175 / 9263392 Mo - Fr, 9 - 12 Uhr
Impressum Fax: 089 / 66060799
aktualisiert am 15. November 2024
978-3-8439-1623-3, Reihe Informatik
Patrick Heckeler Optimierte Robustheitstests für zustandsbehaftete Softwarekomponenten
223 Seiten, Dissertation Eberhard-Karls-Universität Tübingen (2013), Softcover, A5
Modellbasiertes Testen, Robustheitstests und Laufzeitverifikation sind sowohl in der Wissenschaft als auch in der industriellen Praxis viel diskutierte Themen. Besonders die schnelle Ausführung von Testfällen, die automatische Generierung von Testfällen aus einem Modell, deren Transformation in ausführbaren Testcode und die Erhöhung der Testqualität stehen im Mittelpunkt. Darum stellt diese Arbeit ein Verfahren zur beschleunigten Durchführung von Robustheitstests für zustandsbehaftete Komponenten vor. Das Verfahren führt neben den modellierten Transitionen eines UML Zustandsdiagramm auch dessen nicht modellierte Transitionen aus. Dadurch wird ein Anwendungsszenario unter nicht spezifizierten Bedingungen für die Komponente unter Test simuliert. Zur automatisierten Generierung von Testfällen aus dem Zustandsdiagramm wird ein SMT Solver eingesetzt. Er generiert abstrakte Testfälle in Form von Pfaden entlang der Transitionen und Zustände des Zustandsdiagramms. Dabei berechnet er passende Wertebelegungen für durch Bedingungen geschützte Transitionen. Im Anschluss daran werden die abstrakten Testfälle direkt in ausführbaren Testcode überführt. Die Generierung der Testfälle basiert auf eigens dafür definierten Abdeckungskriterien zur Messung der Robustheit einer zustandsbasierten Komponente. Der Hauptvorteil der in dieser Arbeit vorgestellten Methode liegt in der beschleunigten Ausführung der generierten Testfälle. Bereits durch Testfälle erreichte Zustände werden als Startpunkt für Folgetestfälle wiederverwendet. Dadurch wird die redundante Ausführung von bereits getesteten Teilpfaden verhindert und die Ausführungszeit der gesamten Menge an Testfällen verkürzt. Des Weiteren ermöglicht das in dieser Arbeit vorgestellte Verfahren das Auslesen von zustandskodierenden Variablen zur Testlaufzeit. Die ausgelesenen Werte werden mit spezifizierten Werten verglichen. Dadurch wird geprüft, ob sich die Komponente stets in einem validen Zustand befindet. Zum Auslesen der Variablenwerte wird ein eigens entworfener Laufzeitverifikations-Ansatz eingesetzt. Er benötigt, im Vergleich zum Stand der Technik, keine Instrumentierung des Quellcodes der Komponente unter Test. Durch die Beschleunigung der Testausführung wird die Effizienz, gegenüber bekannter Verfahren, erhöht. Durch die Zustandsprüfung wird die Testqualität verbessert.