Ein Beispiel
Beispiel zur Vorbestimmung zulässiger Bedingungswerte mit Rechenoperationen
Nach Ausführung eines beliebigen Wertes der Aktion A01 soll für die Bedingung B06 nur noch der Wert "Nein" zulässig sein:

-
Wenn bei der Prüfung der Benutzereingaben Fehler festgestellt werden, d.h. wenn die Aktion A01 ausgelöst wird, dann soll für B06 der Wert "Ja" nicht mehr zulässig sein
-
Eine Ausführung der Regel R09 nach Ausführung einer der Regeln R01, R02, R05, R06 oder R07 soll also grundsätzlich nicht möglich sein
-
Umgekehrt soll R10 nur ausführbar sein, wenn vorher mindestens eine Regel mit A01 durchlaufen wurde
-
Nicht ausführbare Regelfolgen dürfen in Testfällen nicht vorkommen und müssen bei der Testfallberechnung automatisch vermieden werden
-
Das Problem dabei ist, dass LF‑ET z.B. den logischen Zusammenhang zwischen Aktion A01 und Bedingung B06 nicht eigenständig erkennen kann
Aus diesem Grunde werden spezielle Funktionen bereitgestellt, mit denen der Test Analyst in Testanweisungen logische Zustände erzeugen und auswerten kann. Ein Bedingungswert gilt dabei als "gültig" und somit ausführbar, wenn für den Bedingungswert ein logischer Ausdruck, z.B. ein numerischer Vergleich, definiert ist und dieser logische Ausdruck als "ist wahr" bewertet wird.
Lösung in 4 Schritten
Schritt 1
-
num AnzahlFehler = 0 – mit dieser Anweisung wird eine Variable AnzahlFehler mit dem Wert 0 erzeugt
-
Da diese Anweisungen in der Vorbedingung zum Testfall angegeben sind, ist dies ist die Grundeinstellung für alle Testfälle

Schritt 2
In der allgemeinen Konfiguration für die Aktion A01 - Fehler sammeln:
-
num AnzahlFehler = AnzahlFehler + 1 – mit dieser Anweisung wird die im Schritt 1 für jeden Testfall voreingestellte Variable AnzahlFehler um 1 erhöht
-
Diese Anweisung wird immer ausgeführt, wenn in einer Regel ein beliebiger Wert der Aktion A01 (Fehler sammeln) durchlaufen wird

Schritt 3
In der Testanweisung zum Bedingungswert B06/01 - Daten vollständig und korrekt? - Ja
-
num AnzahlFehler == 0 – "=" ist ein Zuweisungs-Operator, "==" ist ein Vergleichs-Operator, d.h. diese Anweisung löst keine Wertzuweisung aus, sondern eine Prüfung, ob der Vergleichsausdruck wahr ist
-
Für die Bedingung B06 gilt der Bedingungswert "J" nur dann als "ausführbar" (zulässig), wenn mit den aktuell gespeicherten Werten der numerische Vergleich als "ist wahr " bewertet wird

Schritt 4
In der Testanweisung zum Bedingungswert B06/02 - Daten vollständig und korrekt? - Nein
-
num AnzahlFehler > 0 – diese Anweisung löst keine Wertzuweisung aus, sondern eine Prüfung, ob der Vergleichsausdruck wahr ist
-
Für die Bedingung B06 gilt damit der Bedingungswert "N" gilt nur dann als "ausführbar" (zulässig), wenn mit den aktuell gespeicherten Werten der numerische Vergleich als "ist wahr " bewertet wird
