GenTest - Gene­rie­rung von Testfällen

gentest 01

Mit der Funktion -GenTest können Testfälle bzw. Testsuiten aus beliebig vielen Ent­schei­dungs­ta­bellen ge­ne­riert werden:

gentest 03

Der Dialog ist in mehrere Bereiche unterteilt, die in den folgenden Abschnitten detailliert erläutert werden.

Ent­schei­dungs­ta­bellen-Auswahl

gentest 03 et auswahl

Parameter [Kurzform]

-Directory"Ver­zeich­nis-Name(n)" [‑dir]

Definiert den Suchbereich für Ent­schei­dungs­ta­bellen ausgehend vom Ver­zeich­nis "Ver­zeich­nis-Name". Es können auch mehrere Ver­zeich­nisse, getrennt durch das im Betriebssystem gültige Trennzeichen (unter Windows z.B. Semikolon ";"), ange­ge­ben werden.

Fehlt die Ver­zeich­nis­an­gabe, dann wird auto­ma­tisch das aktuelle Arbeitsverzeichnis verwendet.

-FileNamePattern "Namens­muster" [‑fnp]

Beschränkung der Verarbeitung auf Dateien, die dem ange­ge­benen Namens­muster entsprechen.

Die Groß-/Kleinschreibung ist ohne Bedeutung.

Zur Maskierung können die folgenden Zeichen verwendet werden:
   *  für eine beliebige Zeichenfolge
   ?  für genau ein beliebiges Zeichen

Auch die Angabe mehrerer Namens­muster ist, durch Komma oder Semikolon getrennt, möglich.

-Recursive [‑rec]

Dieser Parameter veranlasst, dass auch alle Unterverzeichnisse durchsucht werden.

Filter für Testkonfi­gurationen

gentest 03 filter

In einer Ent­schei­dungs­ta­belle können mehrere Testanweisungsgruppen mit je­weils wiederum mehreren vordefinierten Testfall-Gene­rie­rungs­konfi­gurationen definiert sein.

Mit dieser Parametergruppe können die für die Gene­rie­rung zu verwendenden Konfi­gura­tionen über Filterangaben festgelegt werden:

  • Die Filter können einzeln oder kombiniert verwendet werden

  • Ohne Filterangaben werden alle in den Ent­schei­dungs­ta­bellen gespei­cherten Konfi­gura­tionen ausgeführt.

Parameter [Kurzform]

-Group "Gruppen­name" [‑grp]

Hier kann der Name genau einer Test­anweisungs­gruppe ange­ge­ben werden, mit der Testfälle ge­ne­riert werden sollen.

Die Groß-/Klein­schreibung ist dabei ohne Be­deu­tung.

-Config "Name einer Konfi­gura­tion" [‑cfg]

Hier kann der Name genau einer Test­fall-Gene­rie­rungs­konfi­gura­tion ange­ge­ben werden, mit der Test­fälle ge­ne­riert werden sollen.

Die Groß-/Kleinschreibung ist dabei ohne Bedeutung.

-IncludeTags "Liste von Tags" [‑intags]

Als Argument können ein oder mehrere Tags ange­ge­ben werden.

Mit diesem Para­meter werden alle Konfi­gura­tionen zur Test­fall­gene­rierung ver­wendet, die min­des­tens eines der hier ange­ge­benen Tags enthalten.

Zu jeder Testfall-Gene­rie­rungs­konfi­guration können Tags - im Sinne von Etiketten zur Kennzeichnung bzw. Markierung - definiert werden. Mit diesem und dem nächsten Parameter können darüber gezielt Konfi­gura­tionen für die Testfallgenerierung ausgewählt oder von der Testfallgenerierung ausgeschlossen werden.

Liste von Tags:
  • Mehrere Tags können durch Leerzeichen, Komma oder Semikolon getrennt werden

  • Enthält ein Tag selbst solche Trennzeichen, dann kann es in einfache oder doppelte Hochkommas eingeschlossen werden

  • Hochkommas in Tags können durch Voranstellen von '\' escaped werden

-ExcludeTags "Liste von Tags" [‑extags]

Hier können ein oder mehrere Tags ange­ge­ben werden.

Mit diesem Parameter werden alle Konfi­gura­tionen von der Test­fall­gene­rierung aus­ge­schlossen, die mindes­tens eines der hier ange­ge­benen Tags enthalten.

Ausgabe-Optionen

gentest 03 ausgabe

Parameter [Kurzform]

-CreateMissingFolders [‑crmf]

Die Angabe dieses Parameters veranlasst die auto­ma­tische Anlage von Ausgabeverzeichnissen, falls diese noch nicht existieren.

-ForceProtocol [suppress] [‑fprot]

Mit diesem Parameter können die individuellen Protokoll-Definitionen in den einzelnen Konfi­gura­tionen 'global' übersteuert werden:

  • ohne Argument werden für alle Konfi­gura­tionen Protokolldateien erzeugt

  • mit dem Argument suppress wird die Erzeugung von Protokolldateien grundsätzlich unterdrückt

-OutputRootFolder "Ver­zeich­nis­an­gabe" [‑orf]

Mit diesem Parameter kann das "Basisverzeichnis" für die Ausgabedateien festgelegt werden. Zur Bildung der Pfade für die Ausgabeverzeichnisse werden vom Ver­zeich­nis einer Ent­schei­dungs­ta­belle nur die Pfad-Elemente "unter" dem InputRootFolder-Ver­zeich­nis verwendet.

-InputRootFolder "Ver­zeich­nis­an­gabe" [‑irf]

Mit diesem Parameter kann das "Basisverzeichnis" für die Eingabedateien festgelegt werden. Zur Bildung der Pfade für die Ausgabeverzeichnisse werden vom Ver­zeich­nis einer Ent­schei­dungs­ta­belle nur die Pfad-Elemente "unter" diesem Ver­zeich­nis verwendet.

Beispiel zur Veranschaulichung der Root-Folder-Parameter

OutputRootFolder:
"/opt/jenkins/home/workspace/Deployment_master/target/generated-test-resources/gentest"
InputRootFolder:
"/opt/jenkins/home/workspace/Deployment_master/src/main/resources"
Verzeichnis einer Ent­schei­dungs­ta­belle:
"/opt/jenkins/home/workspace/Deployment_master/src/main/resources/lfet/domain"
Ausgabeverzeichnis für die Ergebnisse aus dieser Ent­schei­dungs­ta­belle:
"/opt/jenkins/home/workspace/Deployment_master/target/generated-test-resources/gentest/lfet/domain"