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 kompakt in Anzahl oder Länge der Testfälle bleibt. Dies hat vielfältige Auswirkungen und stellt für die manuelle und automatische (bzw. modellbasierte) Testfallfindung eine Herausforderung dar. In vielen Fällen kann es hier nützlich sein, das Domänenwissen des Testers einzubeziehen und beispielsweise in einem eher generischen Modell 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 kann dies ein nützliches Werkzeug zur Erhöhung der Testtiefe sein.

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.

Data Variation

Beim Durchlaufen von Transitionen können Variablen mit Werten belegt werden. Über eine Data Variation 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 Variable bei der Generierungsstratgie demnach ein bestimmter Wert ebenso wie Kreuzkombinationen von verschiedenen Werten zugewiesen werden.


Assysten Germany - A new path to growth