Zum Hauptinhalt springen

Varianten & Kombinationen in Ausführungen

Ein Testfall mit Varianten (Parameterkombinationen) führt dieselbe Schrittdefinition mehrfach mit unterschiedlichen Daten aus – zum Beispiel "Bestellbuch auf EN", "Bestellbuch auf DE" und "Bestellbuch auf FR" basierend auf derselben übergeordneten Testdefinition. Diese Seite erläutert, wie solche Multi-Varianten-Ausführungen in den Testausführungs-Ansichten dargestellt werden.

Wenn Sie noch nicht mit der Definition von Varianten vertraut sind, beginnen Sie mit Parameter und Testdaten – diese Seite behandelt nur die Ausführungsperspektive.

Eine Ausführung, viele Testausführungen

Das Datenmodell der Plattform besteht aus zwei Ebenen:

  • Ausführung (Execution) — das übergeordnete Objekt, das durch Klicken auf Test ausführen (oder durch einen Test-Set- / Pipeline-Trigger) erstellt wird. Eine Zeile in der Ausführungsliste.
  • Testausführung (Test execution) — ein konkreter Durchlauf eines Tests mit einer spezifischen Variante. Es gibt eine Testausführung pro Variante, die zum Startzeitpunkt ausgewählt wurde.

Wenn Sie also einen Test mit 3 Varianten im Modus Alle Varianten ausführen, erhalten Sie eine Ausführung, die drei Testausführungen enthält.

Beide Ebenen haben ihren eigenen Status. Der Status der übergeordneten Ausführung wird abgeleitet: Bestanden, wenn jede Testausführung bestanden wurde; andernfalls Fehlgeschlagen (oder Abgebrochen usw., je nachdem, wie der Durchlauf endete).

Auswahl der auszuführenden Varianten

Wenn Sie bei einem Test mit Varianten auf Test ausführen klicken, fragt ein Dialog, welche Kombination(en) ausgeführt werden sollen. Sie haben folgende Möglichkeiten:

  • Eine einzelne Variante ausführen — nützlich, um einen spezifischen Fehler erneut zu testen oder einen Parametersatz zu debuggen.
  • Mehrere ausgewählte Varianten ausführen — nützlich für die Ausführung einer gewählten Teilmenge.
  • Alle Varianten ausführen — der typische "Regression"-Modus.

Bei interaktiven Abläufen (Test aufzeichnen, Pause für Interaktion) können Sie jeweils nur eine Variante auswählen, da interaktive Durchläufe eine einzelne Live-Browsersitzung erfordern.

Darstellung in der Liste

In der Ausführungsliste erscheint ein Multi-Varianten-Durchlauf als eine Zeile – die übergeordnete Ausführung. Die Spalten und der Status der Zeile spiegeln das Aggregat wider:

  • Die Spalte Ausführung zeigt den Namen des Tests oder Test-Sets mit dem Status-Tag der übergeordneten Ausführung.
  • Verbrauchte Tokens, Cache-Trefferquote und Dauer werden über alle Varianten hinweg summiert (oder aggregiert).
  • Der Tooltip in der Spalte "Ausführung" listet die ersten zehn enthaltenen Tests mit ihren individuellen Status auf – so können Sie auf einen Blick erkennen, ob der Fehler in einer oder mehreren Varianten auftrat.

Die detaillierte Aufschlüsselung pro Variante finden Sie auf der Detailseite.

Die Detailseite mit Varianten

Öffnen Sie eine übergeordnete Multi-Varianten-Ausführung, um die testspezifischen Varianten im linken Bereich zu sehen:

  • Jede Variante erscheint als eigene Zeile, mit dem Testtitel gefolgt von (Kombinationsname) in Klammern – z. B. Bestellbuch (EN), Bestellbuch (DE), Bestellbuch (FR).
  • Jede Zeile hat ein eigenes Statussymbol (damit Sie sofort sehen können, welche Variante bestanden wurde und welche fehlgeschlagen ist).
  • Die URL /tenant/:tenant/executions/display/:executionId/test/:testId kodiert die ausgewählte Variante über :testId – verschiedene Varianten derselben übergeordneten Ausführung teilen sich dieselbe executionId, haben aber unterschiedliche testId-Werte.

Klicken Sie auf eine beliebige Zeile, um die Schritte, Screenshots und Videos für diese spezifische Variante anzuzeigen.

tipp

Verwenden Sie die URL, um einen Link zu genau einer Variante eines Multi-Varianten-Durchlaufs zu teilen – zum Beispiel, wenn Sie einen Fehler für eine bestimmte Sprache oder Währung melden. Kopieren Sie die URL, während die Variante ausgewählt ist.

Lesen von Parameterwerten pro Variante

Die Parameterwerte der Variante sind an zwei Stellen auf der Detailseite sichtbar:

  1. Das ⓘ Info-Popover des Tests im linken Bereich zeigt ein Feld Ausführungsvariante mit dem Kombinationsnamen sowie eine Zeitleiste der aufgelösten Parameter- und Makrowerte für diese Variante.
  2. Das Schritt-Detail-Popover enthält ein Feld Aufgelöste Parameter & Berechnungen, das die Schrittbeschreibung mit jedem aufgelösten [[parameter]], ${ ... } und ${= ... } basierend auf den Werten der aktuellen Variante anzeigt.

Wenn Sie zwei Varianten desselben Tests vergleichen – z. B. eine, die bestanden wurde, und eine, die fehlgeschlagen ist – finden Sie in diesen beiden Feldern meist den Unterschied.

Erneutes Ausführen eines Multi-Varianten-Durchlaufs

Die Symbolleiste der übergeordneten Ausführung bietet die Standardoptionen zur erneuten Ausführung:

  • Erneut ausführen — führt alle Varianten des übergeordneten Objekts erneut aus. Die neue Ausführung hat wieder eine Testausführung pro Variante.
  • Fehlgeschlagene erneut ausführen — führt nur die Varianten erneut aus, deren Status Fehlgeschlagen, Abgebrochen oder Initial ist. Die bereits bestandenen Varianten werden wiederverwendet (deren Ergebnisse werden übernommen).
  • Aufzeichnung ab hier starten — nur sinnvoll für eine einzelne Variante. Öffnen Sie die Variante, von der aus Sie abzweigen möchten, und verwenden Sie die Option aus dem Popover eines Schritts.

Erneute Ausführungen erstellen immer eine neue übergeordnete Ausführung; die alte bleibt in der Liste erhalten.

Erneutes Ausführen nur einer Variante aus einem Multi-Varianten-Objekt

Es gibt kein Symbolleisten-Kürzel, um eine einzelne Variante aus einer übergeordneten Ausführung, die alle Varianten durchlaufen hat, erneut auszuführen. Entweder:

  • Gehen Sie zur Testdefinition (das Stift-Symbol neben dem Titel der Variante im linken Bereich) und klicken Sie auf Test ausführen, wählen Sie dann die einzelne Variante – dies erstellt eine frische Ausführung.
  • Oder verwenden Sie Aufzeichnung ab hier starten bei einem Schritt innerhalb dieser Variante – dies gibt Ihnen eine interaktive Sitzung.

Was passiert, wenn sich das Varianten-Set seit dem ursprünglichen Durchlauf geändert hat?

Die Testausführungszeile speichert den Variantenamen, mit dem sie gestartet wurde, nicht als Live-Referenz auf die Variantendefinition. Wenn Sie nach einem Durchlauf eine Variante löschen oder umbenennen, zeigt die alte Ausführung weiterhin den ursprünglichen Kombinationsnamen an. Das erneute Ausführen der alten Ausführung mit Erneut ausführen verwendet das aktuelle Varianten-Set: gelöschte Varianten werden übersprungen, neue Varianten werden nicht automatisch hinzugefügt.

Mit anderen Worten: "Erneut ausführen" bewahrt die ursprüngliche Definition, "welche Varianten ausgeführt werden sollen", solange diese Varianten noch existieren. Wenn Sie einen streng aktuellen Durchlauf aller aktuellen Varianten wünschen, starten Sie eine neue Ausführung aus der Testdefinition heraus.

Protokolle, Cache und Assertionen über Varianten hinweg

Jede Variante ist eine völlig unabhängige Testausführung. Das bedeutet:

  • Protokolle (Logs) sind pro Variante gekapselt. Das Protokoll-Popover wechselt die Ansicht, wenn Sie im linken Bereich eine andere Variante auswählen.
  • Der Cache wird auf Ebene der Testdefinition geteilt – Varianten nutzen denselben XPath-Cache für den Test. Das Löschen des Caches für eine Variante leert ihn für die gesamte Testdefinition.
  • Assertionen, die von einem Parameter abhängen (z. B. "Ich erwarte, dass die Seite [[expectedTitle]] anzeigt"), werden für jede Variante unabhängig anhand ihrer Werte aufgelöst, sodass verschiedene Varianten legitim zu unterschiedlichen Ergebnissen beim gleichen Schritt kommen können.

Was Varianten nicht leisten

Einige Dinge, die in der Praxis vorkommen, aber nicht der Zweck von Varianten sind:

  • Derselbe Test in verschiedenen Browsern — Varianten teilen sich einen Browser-Kontext pro Durchlauf. Um browserübergreifend zu testen, konfigurieren Sie separate Ausführungsziele auf Tenant-Ebene.
  • Verschiedener Benutzer/Rolle pro Variante — Der Benutzer/die Rolle wird für den gesamten Test festgelegt, nicht pro Variante. Um mehrere Rollen zu testen, erstellen Sie separate Testdefinitionen.
  • Lang laufende Dateneinrichtung — Varianten haben keine eigenen Setup-Hooks. Für ein variantenspezifisches Setup verwenden Sie Scripting oder fügen Sie dem Test Setup-Schritte hinzu, die Parameter lesen.

Siehe auch