End-to-End-Test (E2E-Test, deutsch Ende-zu-Ende-Test) prüft einen kompletten Geschäftsprozess genau so, wie ein Anwender ihn durchläuft — durch alle Schichten des Systems: Benutzeroberfläche, API, Backend, Datenbank und externe Dienste. Während Unit-Tests und Integrationstests Ausschnitte betrachten, interessiert den E2E-Test nur das fertige Ergebnis aus Sicht des Nutzers.
Ein Beispiel
Online-Shop: Artikel in den Warenkorb legen
→ zur Kasse gehen → als Kunde anmelden
→ Zahlungsart wählen und bezahlen
→ Bestellbestätigung prüfen → Bestätigungsmail erhalten
Schlägt irgendein Schritt fehl — etwa die Zahlungs-API antwortet nicht oder die Bestätigungsmail kommt nie an —, ist der Test rot, auch wenn jede Komponente für sich funktioniert.
Rolle in der Testpyramide
In der Testpyramide bilden E2E-Tests die schmale Spitze: wenige, dafür langsame und wartungsintensive Tests. Sie decken die kritischen Kernprozesse ab (Bestellung, Login, Bezahlung), nicht jede Randfunktion. Übertreibt man es, wird die Suite langsam und fehleranfällig (Flakiness: zeitabhängige, nicht reproduzierbare Fehlschläge).
Werkzeuge
- Web: Playwright, Cypress, Selenium — moderne Frameworks steuern den Browser und warten robust auf Elemente, statt mit festen Wartezeiten zu arbeiten.
- Mobile: Appium, Detox, Maestro.
- API-E2E: eigene Testläufe gegen die Schnittstellen, z. B. mit REST-assured oder Supertest.
Abgrenzung
Der Systemtest prüft das Gesamtsystem gegen die Anforderungen — auch nicht-funktional; E2E-Szenarien über die UI laufen häufig als Teil des Systemtests. Vor der Freigabe kann der Kunde dieselben Abläufe als Abnahmetest wiederholen. Automatisiert in der CI/CD-Pipeline laufen E2E-Tests meist nach den schnellen Stufen — oder als nächtlicher Lauf gegen die Testumgebung.
Verwandte Grundlagen: Testen (Überblick), CI/CD, Pipeline, Code Review.