Definition der Testziele mit MODICA

Durch die Definition der Testziele wird der Umfang der generierten Testfälle festgelegt. Dadurch wird ermöglicht, unterschiedliche Testsuiten zu erstellen, die den Anforderungen an die Testabdeckung entsprechen.

States, Transitionen, Transitionspaare

Als Abdeckungsziel können alle Strukturelemente (Zustandsknoten, Transitionen oder Transitionspaare) ausgewählt werden. Wie bei jedem Testziel, lassen sich individuell einzelne Elemente blockieren oder explizit als einziges Testziel setzen. Transitionspaare kombinieren jede Transition mit jeder möglichen, unmittelbar folgenden Transition. Mit Hilfe von Transitionspaaren kann sichergestellt werden, dass sämtliche Paare direkt aufeinanderfolgende Transitionsabläufe testen.

Requirements

Sämtliche im Model verlinkten Requirements können bei der Wahl der Generierungsstrategie als Testziel ausgewählt werden. Somit kann sichergestellt werden, dass eine Testsuite alle Anforderungen testet. Je nach Bedarf können einzelne Requirements bei der Generierung explizit ignoriert oder geblockt werden.

Sequenzregeln

Ein häufige, zunächst sehr abstrakte Anforderung für das zu generierende Testset ist so zu wählen, dass es zwar eine gewünschte Abdeckung erreicht, aber dennoch umsetzbar hinsichtlich Anzahl oder Länge der Testfälle bleibt. Dies stellt für die manuelle und automatische (bzw. modellbasierte) Testfallfindung eine echte Herausforderung dar. In vielen Fällen ist es daher angebracht, das Domänenwissen des Testers mit einzubeziehen und beispielsweise in einem eher generischen Modell spezielle, besonders interessante Teilabläufe zu provozieren. Ein solches Leiten des Generators ist in MODICA über die Sequenzregeln möglich. Gerade bei einer Kombination von modellbasierten Ansätzen und Black-Box-Testing ist diese Funktion sinnvoll, du die Testtiefe gezielt zu erhöhen.

Varianten

Modelle, die sich nur in Details unterscheiden, werden in MODICA mit Hilfe von Varianten definiert. Das heißt, man erstellt nur ein Modell, welches unterschiedliche Ausprägungen haben kann. Bei der Festlegung der Generierungsstrategie kann nun für jede Variante eine eigene Strategie definiert werden. Somit können beispielsweise verschiedene Sequenzregeln mit unterschiedlichen Varianten kombiniert werden.

Datenvariationen

Beim Durchlaufen von Transitionen können Variablen mit Werten belegt werden. Über eine Datenavriation können verschiedene Werte für Variablen generiert werden, um z.B. einer Variablen, der eine Funktion übergeben wird, unterschiedliche Werte zur Generierungszeit zuzuweisen. Als Testeigenschaft kann einer Variablen bei der Generierungsstratgie demnach ein bestimmter Wert, ebenso wie Kreuzkombinationen von verschiedenen Werten, zugewiesen werden.


Assysten Germany - A new path to growth