Daniels Zuordnung ist genau das, was in der Klausur verlangt wird. Ich ergänze die Praxisseite – die erklärt auch, warum bei euch in der Firma alles „testen“ heißt.
Was in der Realität dazukommt:
- Regressionstest. Keine eigene Stufe, sondern ein Anlass: Nach jeder Änderung wird geprüft, ob etwas kaputtgegangen ist, das vorher funktioniert hat. Das ist der Grund, warum automatisierte Tests so wertvoll sind – ein Mensch führt 400 Prüfschritte nicht jede Woche erneut aus, eine Pipeline schon.
- Smoke-Test. Der schnelle Grundcheck nach einer Auslieferung: Startet die Anwendung, kommt die Anmeldeseite, geht ein Beispielvorgang durch? Fünf Minuten, bevor man mit dem Rest anfängt.
- Testfall ist nicht gleich Testdaten. Der Testfall beschreibt Vorbedingung, Eingabe, erwartetes Ergebnis und Nachbedingung. Das erwartete Ergebnis muss vorher feststehen – sonst testet man nicht, sondern schaut zu, was passiert, und findet es dann plausibel. Klingt banal, ist in der Praxis der häufigste Kardinalfehler.
Warum man früh testet – die Zehnerregel der Fehlerkosten. Die Faustformel besagt: Ein Fehler, der in der Anforderungsphase entdeckt wird, kostet 1. In der Entwicklung das Zehnfache, im Systemtest das Hundertfache, beim Kunden im Betrieb das Tausendfache. Die genauen Zahlen sind eine Faustregel, kein Naturgesetz, aber die Größenordnung stimmt und wird gern abgefragt. Der Grund ist simpel: Je später der Fund, desto mehr hängt bereits an dem Fehler – Code, Dokumentation, Schulungsunterlagen, Daten in der Produktivdatenbank.
Und noch ein Satz, den man sich merken sollte: Testen kann die Anwesenheit von Fehlern zeigen, nie ihre Abwesenheit beweisen. Vollständiges Testen ist bei realen Systemen nicht möglich – schon eine Handvoll Eingabefelder erzeugt astronomisch viele Kombinationen. Deshalb arbeitet man mit Äquivalenzklassen (Eingaben, die sich gleich verhalten sollten, in Gruppen zusammenfassen und je einen Vertreter testen) und mit der Grenzwertanalyse (genau an den Rändern testen: 17, 18 und 19 Jahre bei einer Altersgrenze von 18). Erfahrungsgemäß sitzen dort die meisten Fehler.