Zum Hauptinhalt springen

Ausführungswarteschlange & Parallelität

msg.ZenTestAI startet einen Test nicht notwendigerweise in dem Moment, in dem Sie auf Test ausführen klicken. Abhängig davon, wie viele andere Ausführungen bereits in Ihrem Tenant laufen, kann sich der neue Durchlauf in eine Warteschlange einreihen oder in einigen Fällen durch eine Parallel-Ausführungsregel als Fehlgeschlagen (Blockiert) markiert werden. Diese Seite erläutert die sieben Status, wie die Warteschlange in der Benutzeroberfläche aussieht und welche Richtlinien darüber entscheiden, wann ein Durchlauf tatsächlich startet.

Die sieben Status

Jede Testausführung durchläuft eine Teilmenge dieser sieben Status:

StatusTerminal?Bedeutung
InitialneinDie Ausführung wurde erstellt, aber der Runner hat sie noch nicht übernommen. Die meisten Durchläufe verweilen hier weniger als eine Sekunde.
In WarteschlangeneinDer Runner hat die Ausführung erkannt, kann sie aber noch nicht starten, da das Limit für parallele Ausführungen des Tenants erreicht ist. Startet automatisch, sobald Kapazität frei wird.
LäuftneinWird derzeit ausgeführt. Schritte werden verarbeitet und Screenshots gestreamt.
BestandenjaAbgeschlossen — jeder Schritt in jeder Variante war erfolgreich.
FehlgeschlagenjaAbgeschlossen — mindestens ein Schritt in mindestens einer Variante ist fehlgeschlagen.
AbgebrochenjaEin Benutzer hat vor Abschluss des Durchlaufs auf „Abbrechen“ geklickt. Bereits abgeschlossene Schritte behalten ihren jeweiligen Status.
Fehlgeschlagen (Blockiert)jaKonnte nicht ausgeführt werden, da eine Parallel-Ausführungsregel dies verhinderte (z. B. eine andere Ausführung gegen dasselbe Ziel lief noch, als das Zeitfenster für diese ablief).

Ein Status ist terminal, wenn ohne einen erneuten Durchlauf keine weitere Zustandsänderung möglich ist. Die Aktionen Erneut ausführen und Löschen erscheinen nur bei terminalen Status; die Aktion Abbrechen erscheint nur bei nicht-terminalen.

Jeder Status wird als farbiger Tag in der Spalte Ausführung in der Ausführungsliste und im Header der Detailansicht angezeigt.

Richtlinie zur parallelen Ausführung

Ein Tenant hat eine auf Plattformebene konfigurierte maximale Anzahl an gleichzeitigen Durchläufen. Wenn das Limit erreicht ist:

  • Erhalten neue Ausführungen den Status In Warteschlange und warten an der Reihe.
  • Die Warteschlange arbeitet nach dem FIFO-Prinzip (First-In, First-Out) — frühere Ausführungen starten zuerst.
  • Wenn eine laufende Ausführung einen terminalen Status erreicht, wird die älteste Ausführung aus der Warteschlange auf Läuft hochgestuft.

Das Limit wird von Ihrem Plattformadministrator festgelegt und ist nicht pro Benutzer konfigurierbar. Typische Werte liegen im einstelligen Bereich — ausreichend, um einige unabhängige Tests zu überschneiden, ohne das System zu überlasten.

Wie die Warteschlange in der UI aussieht

In der Ausführungsliste

Ausführungen mit dem Status „In Warteschlange“ und „Initial“ erscheinen ganz oben in der Ausführungsliste (neueste zuerst) mit ihren jeweiligen farbigen Tags. Es gibt keinen separaten „Warteschlangen“-Tab oder Filter — um nur wartende Durchläufe zu sehen, verwenden Sie das Filter-Pop-over und aktivieren Sie die Kontrollkästchen für Initial und In Warteschlange.

In der Detailansicht eines wartenden Durchlaufs

Wenn Sie eine wartende Ausführung öffnen, bevor sie startet, zeigt die Detailansicht anstelle eines Screenshots informative Overlays auf dem Browser-Frame. Der Overlay-Text variiert je nach genauem Unterstatus:

OverlayBedeutung
Ausführung in WarteschlangeWartet auf Kapazitäten des Runners.
Test in Warteschlange (Position N)Position in der plattformweiten Runner-Warteschlange. Aktualisiert sich live, wenn frühere Durchläufe enden.
Warten auf vorherige TestsInnerhalb einer Test-Set-Ausführung wartet dieser Test auf den Abschluss eines vorherigen Mitglieds.
Analysiere TestschritteDer Runner hat die Ausführung übernommen und parst/validiert die Schrittdefinitionen.
Test startet…Browser wird gestartet; der erste Screenshot wird in Kürze eintreffen.

Diese Overlays werden live über den Server-Sent Events-Stream aktualisiert — Sie müssen die Seite nicht neu laden.

Bei Test-Set-Ausführungen

Bei einer Ausführung eines Test-Sets durchlaufen die einzelnen Tests innerhalb des Sets unabhängig voneinander dieselben Status. Die übergeordnete Ausführung ist Läuft, solange mindestens ein Mitgliedstest nicht-terminal ist; sie wechselt zu Bestanden / Fehlgeschlagen usw., wenn alle Mitglieder fertig sind. Das linke Panel zeigt das Statussymbol jedes Tests — einschließlich des Overlays Warten auf vorherige Tests für Tests, die nach anderen ausgeführt werden sollen.

Abbrechen einer wartenden oder laufenden Ausführung

Die Schaltfläche Abbrechen in der Symbolleiste der Detailansicht (rotes Stopp-Symbol) ist verfügbar, solange der Status Initial, In Warteschlange oder Läuft ist. Das Abbrechen bewirkt:

  • Entfernt einen wartenden Durchlauf sofort aus der Warteschlange. Er wechselt zu Abgebrochen.
  • Stoppt eine laufende Ausführung am nächsten sicheren Kontrollpunkt (normalerweise innerhalb einer Sekunde oder zwei). Bereits abgeschlossene Schritte behalten ihren Status; der gerade laufende Schritt wird als abgebrochen markiert.
  • Kann nicht rückgängig gemacht werden. Sobald abgebrochen, ist die einzige Möglichkeit „fortzufahren“ die Option Erneut ausführen, wodurch eine frische Ausführung gestartet wird.

Ein Bestätigungsdialog schützt vor versehentlichen Klicks.

Fehlgeschlagen (Blockiert) — wann passiert das?

Der Status Fehlgeschlagen (Blockiert) wird verwendet, wenn eine Parallel-Ausführungsregel eine Ausführung explizit am Start hindert, anstatt sie nur zu verzögern. Der häufigste Fall ist:

  • Ein Test-Set (oder der Tenant) ist so konfiguriert, dass derselbe Test oder dasselbe Test-Set nicht zweimal parallel gegen dieselbe Zielumgebung ausgeführt werden darf.
  • Eine Ausführung verweilte so lange in der Warteschlange, dass die laufende Ausführung, auf die sie wartete, nicht vor Ablauf ihres Timeouts/Zeitfensters abgeschlossen wurde.
  • Die neue Ausführung wird dann in den Status Fehlgeschlagen (Blockiert) versetzt, anstatt sie unendlich in der Warteschlange zu halten.

In der Praxis sehen Sie Fehlgeschlagen (Blockiert) meist dann, wenn:

  • Eine geplante Ausführung mit einem lang laufenden manuellen Durchlauf kollidiert, der noch nicht abgeschlossen ist.
  • Eine Pipeline zu schnell zwei aufeinanderfolgende Durchläufe gegen dieselbe Umgebung auslöst.

Die Lösung besteht darin, entweder den vorherigen Durchlauf beenden zu lassen oder die Richtlinien zur parallelen Ausführung / Ziel-Trennung auf Tenant-Ebene zu lockern (Administrator-Einstellung).

Was eine wartende Ausführung sehen kann und was nicht

Solange ein Durchlauf Initial oder In Warteschlange ist, kennt die Plattform die Testdefinition und die ausgewählten Varianten, aber noch nicht:

  • Screenshots, Videos, Logs (es ist noch nichts passiert).
  • Die Runner-Version (der Runner wurde noch nicht ausgewählt).
  • KI-Modellentscheidungen.

Daher zeigt die Detailansicht einer wartenden Ausführung nur die Testliste, die gewählten Varianten und die Warteschlangen-Overlays — es gibt nichts weiter zu inspizieren, bis der Durchlauf startet.

Wenn die Ausführung hingegen die Warteschlange verlässt und startet, beginnt der Server-Sent Events-Stream sofort damit, Screenshots, Logs und Schritt-Updates zu übertragen, ohne dass Sie die Seite aktualisieren müssen.

Automatische Hochstufung und Erneute Ausführung

Wenn Sie bei einer terminalen Ausführung auf Erneut ausführen klicken, wird die neue Ausführung gemäß den aktuellen Regeln in die Warteschlange eingereiht — sie springt nicht vor bereits wartende Ausführungen. Wenn Ihr Tenant also stark ausgelastet ist, kann ein Klick auf Erneut ausführen eine Weile im Status In Warteschlange verbleiben, bevor er startet.

Der Hotkey ist Strg+p; er funktioniert bei jedem terminalen Status, einschließlich Fehlgeschlagen (Blockiert) und Abgebrochen (die neue Ausführung erhält einen frischen Status).

Wie lange dauert Initial?

In einem gesunden System einige hundert Millisekunden. Wenn Sie sehen, dass eine Ausführung länger als ein paar Minuten im Status Initial feststeckt, bedeutet dies normalerweise, dass der Runner-Pool nicht ordnungsgemäß funktioniert — melden Sie dies Ihrem Administrator. Dasselbe gilt für In Warteschlange-Durchläufe, die nicht voranschreiten, selbst wenn die Warteschlange vor ihnen abgearbeitet wird.

Siehe auch