Die Automatisierung negativer Szenarien ist ein wesentlicher Bestandteil eines umfassenden Testsystems. Dabei handelt es sich um Prüfungen, bei denen die Widerstandsfähigkeit des Systems gegen fehlerhafte Aktionen, inkorrekte Daten, Ausfälle von Diensten und andere unvorhergesehene Situationen validiert wird.
Hintergrund des Themas:
Früher lag der Schwerpunkt auf positiven Szenarien (happy paths), da diese einfacher zu automatisieren und zu warten sind. Allerdings sind die Anforderungen an die Qualität gestiegen und immer mehr Bugs treten genau an den Grenzen auf, mit fehlerhaften oder offensichtlich inkorrekten Bedingungen. Ihr manuelles Testen veraltet schnell, während die Automatisierung hilft, Abweichungen zu verfolgen.
Probleme:
Lösungen:
Schlüsselfeatures:
Reicht es aus, nur zu überprüfen, welche Fehler bei negativem Testen zurückgegeben werden?
Nein. Es ist wichtig zu überprüfen, dass nach einem Fehler keine Änderung des Systemzustands aufgetreten ist (z.B. kein inkorrekter Datensatz in die DB eingefügt wurde).
Muss man alle möglichen negativen Szenarien automatisieren?
Nein. Es kann unendlich viele geben; man sollte die wahrscheinlichsten und kritischsten (Boundary Value, Null/Empty, falscher Typ, SQL-Injection usw.) hervorheben und die anderen nach Bedarf anpassen.
Kann man die gleiche Verarbeitung für alle negativen Fälle verwenden?
Nein. Verschiedene negative Szenarien erfordern unterschiedliche Prüfungen, Ausnahmebehandlungen und Rollbacks; standardmäßige Assertions sind dafür nicht ausreichend.
Im System werden nur gültige Registrierungsszenarien getestet. Die Registrierung mit einer leeren E-Mail wird nicht automatisiert überprüft. Daher wird das Problem, dass man einen Benutzer mit einer leeren E-Mail registrieren kann, erst im Live-Betrieb festgestellt.
Vorteile:
Nachteile:
Für jedes negative Szenario (fehlende E-Mail, falsches Format, SQL-Injection) gibt es einen automatisierten Test, der klar die Abwesenheit eines neuen Kontos und den Inhalt der Fehlermeldung überprüft.
Vorteile:
Nachteile: