QA The Other WayQualitätssicherung im Zeitalter der KI-Automatisierung. QA The Other Way.
Praktisches QA

Ein erwarteter Fehler führt den Test trotzdem aus.

Trennen Sie erwartete Defekte, übersprungene Fälle und unerwartete Erfolge.

5 Minuten LesezeitQA The Other Way
Erwarteter Fehler, unerwarteter Erfolg und übersprungener Fall in getrennten Zeilen.
Eigene redaktionelle Illustration.
Illustratives Video zu diesem Artikel. Englischer Bildschirmtext; Wählen Sie Untertitel für diese Sprache aus.

Übersetzte Ausgabe. Technische Kennungen bleiben in ihrer ursprünglichen Form.

Trennen Sie erwartete Defekte, übersprungene Fälle und unerwartete Erfolge.
Lokales Beispiel mit erfundenen Daten, keine Kunden- oder Anbieteroberfläche.

Ein Team überspringt einen bekanntermaßen fehlschlagenden Test. Sein Körper läuft nicht mehr; der Bericht zeigt nicht, ob der Defekt noch reproduzierbar ist. Playwright hat eine Annotation für erwartetes Fehlschlagen: der Test läuft, ein Erfolg wird unerwartet.

Der Annotationsleitfaden unterscheidet skip(), fail() und fixme(). skip läuft nicht; fail läuft und erwartet einen Fehler. fixme ist für Fälle beschrieben, deren Ausführung langsam ist oder abstürzt. Wählen Sie nach Bedeutung und Betriebsgrenzen.

Das Beispiel eng halten

Unser Beispiel vergleicht zwei feste Zeichenfolgen. Die Abweichung ist absichtlich, ohne echten Produktdefekt, Browseraktion oder Account. Ein anderes Beispiel gleicht die Zeichenfolgen an und behält fail: unerwarteter Erfolg und ein Runner-Exitcode ungleich null.

import { test, expect } from '@playwright/test';

test('controlled expected mismatch', async () => {
  test.fail(true, 'Invented mismatch for annotation demonstration');
  expect('actual demo value').toBe('expected demo value');
});

Verwenden Sie den Playwright-Testrunner, nicht gewöhnliche JavaScript-Ausführung. Der Bericht behält Assertionfehler und erwarteten Status. Ein erfolgreicher Runner-Exit bedeutet hier, dass der Fehler zur Erwartung passte, nicht dass die Zeichenfolgen gleich waren.

Den tatsächlichen Fehler prüfen

Die Annotation bindet den Fehler nicht an eine bestimmte Assertion. Scheitert das Setup zuerst, kann der erwartete Status erfüllt sein, ohne den Defekt zu erreichen. Vereinfachen Sie Setup, lesen Sie den Fehler und dokumentieren Sie die ausgeführte Assertion. Unerwartete Authentifizierungs- oder Umgebungsfehler sind kein Beleg für den bekannten Defekt.

Für einen echten Fall erhalten Sie das korrekte Sollverhalten in der Assertion sowie einen überprüfbaren Issuebezug und Verantwortlichen. Schreiben Sie die Assertion nicht zur Akzeptanz des Defekts um. Unser Beispiel erfindet keine Issuelinks und verwendet nur eine Beschreibung.

Bedingte Annotationen gehören zur betroffenen Konfiguration. Ein Fehler nur in einem Browser rechtfertigt kein bedingungsloses fail für alle. Prüfen Sie Bedingung und erwarteten Status mit den Testeingaben, statt sie in einem entfernten Helfer zu verstecken.

Unerwarteten Erfolg überprüfen

Ein Erfolg kann eine Reparatur, einen anderen Pfad oder eine schwächere Assertion bedeuten. Prüfen Sie vor Entfernen der Annotation. Nach bestätigtem Sollverhalten erhalten Sie normale erfolgreiche Abdeckung statt einer dauerhaften Ausnahme.

Unser Runner unterscheidet absichtliche erwartete Abweichung, unerwarteten Erfolg gleicher Zeichenfolgen und einen nicht ausgeführten übersprungenen Körper. Das prüft Annotationen, keine Releasebereitschaft.

Unsichere oder teure Ausführung braucht eine eigene Entscheidung. fail erlaubt weder destruktive Aktionen noch Kosten oder Produktionsdaten. Benennen Sie übersprungene Abdeckung und fehlende Verifikation.

AnyTest beschreibt Tests für menschliches Review. Prüfen Sie Ausnahmen wie Assertions und Setup. Eine bestimmte AnyTest-Defektintegration wird nicht behauptet. Echte Ausnahmen brauchen einen Verantwortlichen und nächsten Prüftermin.

Häufige Fragen

Überspringt test.fail den Testkörper?

Nein. Der Test läuft und soll fehlschlagen.

Beweist ein erwarteter Fehler den gemeinten Defekt?

Nein. Prüfen Sie tatsächlichen Fehler und erreichte Assertion.

Quellen