Zustandsbezogener TestDer zustandsbezogene Test (auch zustandsbasierter Test, Testen von Zustandsautomaten) bezeichnet eine Testmethode, bei der Tests aus einer in Form eines Zustandsautomaten vorliegenden Spezifikation abgeleitet werden. Es handelt sich hierbei um ein dynamisches, funktionales Testverfahren aus der Gruppe der Black-Box-Tests. AnwendungDer zustandsbezogene Test kommt zur Anwendung, wenn neben den Eingabewerten auch der bisherige Ablauf eines Systems Einfluss auf das Systemverhalten hat. Das Testobjekt kann ein komplettes System mit unterschiedlichen Zuständen aber auch eine Klasse mit verschiedenen Zuständen in einem objektorientierten System sein[1]. ZustandsdiagrammDas Testobjekt lässt sich in Form eines Zustandsdiagramms modellieren. Von einem Startzustand ausgehend, kann das Testobjekt verschiedene Zustände einnehmen. Auslöser für Zustandsänderungen können Ereignisse oder erfüllte Bedingungen sein. TestkriterienEs existiert eine Reihe von Teststrategien, um Zustandsautomaten zu testen. Im Allgemeinen wird die Überdeckung aller Zustände sowie aller Zustandsübergänge angestrebt. Das bedeutet, dass Testfälle generiert werden, die mindestens das einmalige Durchlaufen aller Zustände und Zustandsübergänge zum Ziel haben. Auch das Testen aller Ereignisse wird als sinnvoll betrachtet. Analog dem Zweigüberdeckungstest stellt die Überdeckung aller Zustandsübergänge jedoch keinen vollständigen Test dar. Zudem gibt es noch keine gesicherte Aussage darüber, wann ein Zustandsautomat ausreichend getestet ist.[2] VorgehensweiseZur Bestimmung der Testfälle wird aus dem zyklischen Zustandsdiagramm ein Übergangsbaum/Transistionenbaum erstellt. Folgende Vorgehensweise ist möglich[3]:
In diesem Baum lassen sich nun Pfade entsprechend der Kriterien bestimmen. Jeder Pfad entspricht dabei einem Testfall. Werkzeuge
Siehe auchLiteratur
Einzelnachweise
|