Gene­rie­rungs-Optionen für Regel­gruppen

regelgruppen 01

Dieser Bereich wird nur bei Ent­schei­dungs­ta­bellen mit Regel­gruppen angezeigt.

Bei Ent­schei­dungs­ta­bellen mit Regel­gruppen besteht ein Testfall meistens nicht nur aus einer einzigen Regel, sondern aus einer Folge von mehreren Regeln. LF‑ET erkennt Regel­gruppen auto­ma­tisch und stellt dann für die Testfallgenerierung die folgenden Optionen zur Verfügung:

Switch Überdeckung

Beim Zustandsbasierten Testen mit LF‑ET wird eine Regel als ein Zustands­über­gang betrachtet. Bei der n-Switch-Überdeckung steht n für die Anzahl von Zuständen zwischen dem Anfangs- und dem End-Zu­stand eines Testfalles.

LF‑ET unterstützt die folgenden Switch-Überdeckungen:

Keine Switch Überdeckung

Regelfolgen werden nicht analysiert, d.h. es wird einfach für jede Regel der Ent­schei­dungs­ta­belle ein Testfall ge­ne­riert

0-Switch Überdeckung

Jede Regel soll in den Testfällen mindestens einmal vorkommen

1-Switch Überdeckung

Jede mögliche Kombination aus zwei direkt aufeinander folgenden Regeln soll in den Testfällen mindestens einmal vorkommen

2-Switch Überdeckung

Jede mögliche Kombination aus drei direkt aufeinander folgenden Regeln soll in den Testfällen mindestens einmal vorkommen

usw.

Den höchsten, auswählbaren Switch-Wert ermittelt LF‑ET je­weils individuell für jede Ent­schei­dungs­ta­belle: Anzahl Regel­gruppen − 1.

Bei rekursiven Regel­gruppen, d.h. wenn Regeln wieder zur selben oder zu einer vorangehenden Regel­gruppe führen, können evtl. noch höhere Switch-Abdeckungen gewünscht sein. In solchen Fällen kann der gewünschte Maximalwert in einer Ini-Datei vorgegeben werden:

Eintrag in einer LFET.Pro­ject.ini-Datei:
GenTest.SwitchMax: nn
Eintrag in einer LFET.Project.yaml-Datei:
 LFET:

    GenTest:
      SwitchMax: nn

 

Mit steigenden Switch-Werten erhöht sich für die Berechnung der Testfälle sowohl die Rechenzeit, als auch der Speicherbedarf deutlich. Im Extremfall kann es sogar vorkommen, dass LF‑ET die Berechnung eigenständig abbricht, wenn das Risiko eines "Out-of-Memory"-Fehlers erkannt wird. In solchen Fällen kann mit einem zu­sätz­lichen Parameter beim Start von LF‑ET das Limit für den maximal zulässigen Speicherbedarf erhöht werden, hier zwei Beispiele:
 
Bis Java < 1.8 Update 191:
     -Xmx5g (max. 5 GB RAM)
 
Ab Java 1.8. Update 191:
     -XX:MaxRAMPercentage=80.0 (max. 80% des verfügbaren RAM)

Nicht ausführbare Regeln ausgeben

Bei Ent­schei­dungs­ta­bellen mit Regel­gruppen kann es vorkommen, dass einzelne Regeln als "nicht ausführbar" eingestuft werden, weil sie in keiner der ausführbaren Regelfolgen vorkommen. Diese "nicht ausführbaren" Regeln werden mit dieser Option als Liste ausgegeben.

Nicht ausführbare Regelfolgen ausgeben

Regelfolgen werden als "nicht ausführbar" eingestuft, wenn in der Regelfolge verschiedene Regeln dieselbe Bedingung mit unter­schied­lichen Werten enthalten. LF‑ET erkennt solche Widersprüche bei Bedingungswerten auto­ma­tisch, bei Bedarf kann in Testanweisungen die "Ausführbarkeit einzelner Bedingungen" gezielt über logische Ausdrücke bestimmt werden. Siehe auch Bestimmung der möglichen Werte für Bedingungen.

Mit dieser Option werden die nicht ausführbaren Regelfolgen als Liste ausgegeben, je­weils inklusive der Angabe, warum die Regelfolge als "nicht ausführbar" eingestuft wurde.

Bei jeder Regelfolge wird auch in eckigen Klammern eine eindeutige ID ange­ge­ben, mit der in Protokolldateien gezielt Verarbeitungsdetails zu der Regelfolge gesucht werden können.

Weiterführende Informationen