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.
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.
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:
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.
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
Sie brauchen Unterstützung beim E2E-Testing?
Wir bei Q-Centric haben uns auf Software Testing und Testautomatisierung spezialisiert. Wenn Sie Unterstützung oder Rat bei Themen Rund um die Qualitätssicherung oder Automatisierung benötigen, wenden Sie sich jederzeit an uns. Einfach telefonisch, per E-Mail oder per Kontaktformular.
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.
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.