Zum Magazin

Was ist ein End-to-End-Test (E2E)? Alles was Sie wissen sollten.

End-to-End-Tests sind dafür gedacht, das gesamte Softwareprodukt von Anfang bis Ende zu testen. So wird sichergestellt, dass sich der Anwendungsfluss wie erwartet verhält. Es definiert die Systemabhängigkeiten des Produkts und stellt sicher, dass alle integrierten Teile wie erwartet zusammenarbeiten. 
Was ist ein End-to-End-Test (E2E)? Alles was Sie wissen sollten.
Blagovest Ouglechov 18.03.21

End-to-End-Tests: Was ist das?

End-to-End-Tests sind eine Technik, mit der das gesamte Softwareprodukt von Anfang bis Ende getestet wird, um sicherzustellen, dass sich der Anwendungsfluss wie erwartet verhält. Es definiert die Systemabhängigkeiten des Produkts und stellt sicher, dass alle integrierten Teile wie erwartet zusammenarbeiten.

Der Hauptzweck von End-to-End-Tests (E2E) besteht darin, anhand der Erfahrungen des Endbenutzers zu testen, das reale Benutzerszenario zu simulieren und das zu testende System und seine Komponenten auf Integration und Datenintegrität zu überprüfen.

Softwaresysteme sind heutzutage sehr komplex und mit zahlreichen Subsystemen verbunden. Wenn eines der Subsysteme ausfällt, kann das gesamte Softwaresystem abstürzen. Dies ist ein großes Risiko und kann durch End-to-End-Tests vermieden werden.

Vorteile von End-to-End-Tests

End-to-End-Tests sind aufgrund der folgenden Vorteile zuverlässiger und weit verbreitet:

  • Erweiterung der Testabdeckung
  • Richtigkeit der Anwendung
  • Verkürzung der Markteinführungszeit
  • Kostenreduktion
  • Fehlererkennung

Moderne Softwaresysteme ermöglichen eine Subsysteminteraktionen durch vielerlei technologische Lösungen. Unabhängig davon, ob das Subsystem innerhalb oder außerhalb des Unternehmens vom Hauptsystem identisch oder verschieden ist, können Subsystemfehler nachteilige Auswirkungen auf das gesamte System haben.

Systemrisiken können vermieden werden, indem Folgendes überprüft wird:
  • Überprüfen des Systemflusses
  • Erhöhung der Testabdeckung
  • Erkennen von Problemen im Zusammenhang mit dem Subsystem

E2E-Tests sprechen im Großen und Ganzen viele Gruppen an:
  • Entwickler profitieren davon, da die meisten Tests an andere ausgelagert werden.
  • Tester finden es nützlich, weil das Schreiben von Tests, die das Verhalten in der Praxis verifizieren, ihnen hilft, Probleme zu vermeiden und ein besseres Erfolgserlebnis zu erzielen.
  • Manager mögen es, weil Benutzersimulationstests sie wissen lassen, wie sich ein fehlgeschlagener Test auf den Benutzer auswirken würde.

Wann sind End-to-End-Tests anzuwenden?

Es gibt viele Szenarien, um End-to-End-Tests anzuwenden. Hier ein Beispiel:

Vor dem Testen erstellen Designer und Entwickler eine Liste der Benutzeroberflächen, Funktionen oder Merkmale, die ausgeführt werden müssen. Der Datenfluss sollte zwischen Systemen verfolgt werden, um Abhängigkeiten, Fehler und Ungenauigkeiten zu finden. Die Teams müssen vor dem Testen auch die Bedingungen vorbereiten - Faktoren, die die Schnittstellenoptionen ändern können.

E2E-Tests werden regelmäßig an fertigen Produkten und Systemen durchgeführt, sodass jede Überprüfung zu einem Test des fertigen Systems wird. Ein zweiter Test findet statt, wenn das System nicht das ausgibt, was erwartet wird, oder wenn ein Problem gefunden wird. In diesem Fall muss das Team die Daten aufzeichnen und analysieren, um den Ursprung des Problems zu bestimmen. Nach dem Bugfixing sollten Sie erneut alles testen. 

End-to-End-Test Lebenszyklus

Ein durchgängiger Testlebenszyklus besteht aus vier Komponenten: Testplanung, Testdesign, Testausführung und Ergebnisanalyse.

  • Testplanung: Gibt wichtige Aufgaben, den zugehörigen Zeitplan und die Ressourcen an
  • Testdesign: Testspezifikationen, Testfallgenerierung, Risikoanalyse, Nutzungsanalyse und Planungstests
  • Testausführung: Führt Testfälle aus und dokumentiert die Testergebnisse
  • Ergebnisanalyse: Analysiert Testergebnisse, bewertet Tests und führt bei Bedarf zusätzliche Tests durch

End-to-End-Testmethoden

Horizontale E2E-Prüfung
Eine häufig verwendete Methode, die horizontal im Kontext mehrerer Anwendungen auftritt und problemlos in einer einzigen ERP-Anwendung (Enterprise Resource Planning) ausgeführt werden kann. Hier ist ein Beispiel. Eine webbasierte Anwendung eines E-Commerce-Systems enthält Konten, Produktinventarstatus und Versanddetails.

Vertikale E2E-Prüfung
Diese Methode bezieht sich auf das Testen in Schichten, das heißt die Tests werden in sequentieller, hierarchischer Reihenfolge durchgeführt. Um die Qualität sicherzustellen, wird jede Komponente eines Systems oder Produkts von Anfang bis Ende getestet. Vertikale Tests werden häufig verwendet, um kritische Komponenten eines komplexen Computersystems zu testen, an dem normalerweise keine Benutzer oder Schnittstellen beteiligt sind.

Metriken für End-to-End-Tests

Einige der vielen Metriken, die für E2E-Tests verwendet werden, sind:

  • Testfallvorbereitungsstatus: Wird verwendet, um die spezifische Position der in Vorbereitung befindlichen Testfälle im Vergleich zu geplanten Testfällen zu bestimmen.
  • Verfolgung des Testfortschritts: Der Testfortschritt sollte wöchentlich verfolgt werden. Dieser Schritt enthält regelmäßige Details zum Prozentsatz des Testabschlusses, z. B. bestandene / nicht bestandene, ausgeführte / nicht ausgeführte, gültige / ungültige Testfälle usw.
  • Fehlerstatus und Details: Es wird ein wöchentlicher Prozentsatz offener und geschlossener Fehler angegeben. Außerdem basieren wöchentliche Fehlerverteilungen auf Schweregrad und Priorität.
  • Verfügbarkeit der Umgebung: Die tatsächliche Anzahl der Betriebsstunden und Stunden, die pro Tag für Tests geplant sind.

Software Tester (w/m/d) in München

Kunde (München)
Veröffentlicht: 26.07.21
Softwaretester
Vollzeit - 150 Std./Woche
01.08.2021
München
Berufserfahrung: 5 Jahre

Testautomatisierer (m/w/d)

Q-centric GmbH (Software Development)
Veröffentlicht: 26.07.21
Automation
Vollzeit
10.08.2021
Gröbenzell
Berufserfahrung: 3 Jahre

Testmanager / QA-Manager (w/m/d)

Q-centric GmbH (Telekommunikation)
Veröffentlicht: 22.04.21
Quality Assurance
Vollzeit
15.05.2021
München
Berufserfahrung: 1 Jahre