Was ist END-To-END-Testen? E2E-Beispiel

End-to-End-Tests

End-to-End-Tests ist eine Softwaretestmethode, die die gesamte Software von Anfang bis Ende sowie ihre Integration mit externen Schnittstellen validiert. Der Zweck von End-to-End-Tests besteht darin, die gesamte Software auf Abhรคngigkeiten, Datenintegritรคt und Kommunikation mit anderen Systemen, Schnittstellen und Datenbanken zu testen, um ein vollstรคndiges produktionsรคhnliches Szenario durchzufรผhren.

Zusammen mit dem Softwaresystem validiert es auch die Stapel-/Datenverarbeitung von anderen vor-/nachgelagerten Systemen. Daher der Name "Ende zu Ende". End-to-End-Tests werden normalerweise nach funktionalen und funktionalen Tests durchgefรผhrt Systemtest. Es nutzt tatsรคchliche produktionsรคhnliche Daten und eine Testumgebung, um Echtzeiteinstellungen zu simulieren. E2E-Testing wird auch genannt Kettentest.

END-zu-END-Tests

Warum End-to-End-Tests?

End-to-End-Tests รผberprรผft den gesamten Systemfluss und erhรถht das Vertrauen durch die Erkennung von Problemen und deren Verbesserung Testabdeckung von Subsystemen. Moderne Softwaresysteme sind komplex und mit mehreren Subsystemen verbunden, die sich von aktuellen Systemen unterscheiden kรถnnen. Das gesamte System kann durch den Ausfall eines Subsystems zusammenbrechen, was ein groรŸes Risiko darstellt, das durch End-to-End-Tests vermieden werden kann.

End-to-End-Testprozess

Das folgende Diagramm gibt einen รœberblick รผber den End-to-End-Testprozess.

 END-zu-END-Testprozess

Die Hauptaktivitรคten im Zusammenhang mit End-to-End-Tests sind:

  • Untersuchung der End-to-End-Testanforderungen
  • Einrichtung der Testumgebung und Hardware-/Softwareanforderungen
  • Beschreiben Sie alle Prozesse des Systems und seiner Subsysteme.
  • Description von Rollen und Verantwortlichkeiten fรผr alle Systeme
  • Testmethodik und Standards
  • End-to-End-Anforderungsverfolgung und Entwurf von Testfรคllen
  • Eingabe- und Ausgabedaten fรผr jedes System

Wie erstelle ich End-to-End-Testfรคlle?

Erstellen Sie End-to-End-Testfรคlle
End-to-End-Testfรคlle

Das End-to-End-Testdesign-Framework besteht aus drei Teilen

  1. Erstellen Sie Benutzerfunktionen
  2. Baubedingungen
  3. Erstellen Sie Testfรคlle

Schauen wir sie uns im Detail an: โ€“

Erstellen Sie Benutzerfunktionen

Folgende Aktivitรคten sollten als Teil des Build-Benutzerfunktionen durchgefรผhrt werden:

  • Listen Sie die Funktionen des Systems und der miteinander verbundenen Komponenten auf
  • Listen Sie die Eingabedaten, Aktionen und Ausgabedaten fรผr jedes Feature oder jede Funktion auf
  • Identifizieren Sie die Beziehungen zwischen den Funktionen
  • Bestimmen Sie, ob die Funktion wiederverwendbar oder unabhรคngig sein kann

Stellen Sie sich zum Beispiel ein Szenario vor, in dem Sie sich bei Ihrem Bankkonto anmelden und etwas Geld von einer anderen Bank auf ein anderes Konto รผberweisen (3rdParteisubsystem)

  1. Melden Sie sich beim Bankensystem an
  2. รœberprรผfen Sie den Saldo auf dem Konto
  3. รœberweisen Sie einen Betrag von Ihrem Konto auf ein anderes Bankkonto (3rdParteisubsystem)
  4. รœberprรผfen Sie Ihren aktuellen Kontostand
  5. Abmelden von der Anwendung

Erstellen Sie Bedingungen basierend auf der Benutzerfunktion

Folgende Aktivitรคten werden im Rahmen der Baubedingungen durchgefรผhrt:

  • Erstellen einer Reihe von Bedingungen fรผr jede definierte Benutzerfunktion
  • Zu den Bedingungen gehรถren Sequenz-, Timing- und Datenbedingungen

Zum Beispiel -รœberprรผfung weiterer Bedingungen wie

Login-Seite

  • Ungรผltiger Benutzername und Passwort
  • รœberprรผfung mit gรผltigem Benutzernamen und Passwort
  • รœberprรผfung der Passwortstรคrke
  • รœberprรผfung von Fehlermeldungen

Kontostand

  • รœberprรผfen Sie nach 24 Stunden den aktuellen Kontostand. (Wenn die รœberweisung an eine andere Bank gesendet wird)
  • รœberprรผfen Sie, ob die Fehlermeldung angezeigt wird, wenn der รœberweisungsbetrag grรถรŸer als der aktuelle Saldobetrag ist

Erstellen Sie ein Testszenario

Aufbau der Testszenario fรผr die definierte Benutzerfunktion

In diesem Fall steht:

  • Melden Sie sich im System an
  • รœberprรผfung des Bankguthabens
  • รœberweisen Sie den Bankguthabenbetrag

Erstellen Sie mehrere Testfรคlle

Erstellen Sie einen oder mehrere Testfรคlle fรผr jedes definierte Szenario. Testfรคlle kรถnnen jede Bedingung als einen einzelnen Testfall umfassen.

Metriken fรผr End-to-End-Tests

Im Folgenden sind einige der zahlreichen Metriken aufgefรผhrt, die als Beispiel fรผr End-to-End-Tests verwendet werden:

  • Status der Testfallvorbereitung: Es zeigt den Fortschritt der Testfallvorbereitung im Vergleich zum Plan an
  • Wรถchentlicher Testfortschritt โ€“ Bietet wรถchentliche Details zum Prozentsatz abgeschlossener Tests โ€“ fehlgeschlagene, nicht ausgefรผhrte und im Vergleich zur geplanten Ausfรผhrung ausgefรผhrte Tests.
  • Mรคngelstatus und Details- Es gibt den Prozentsatz offener und geschlossener Mรคngel pro Woche an. AuรŸerdem wird die wรถchentliche Mรคngelverteilung basierend auf Schweregrad und Prioritรคt angezeigt.
  • Umgebungsverfรผgbarkeit โ€“Gesamtzahl der โ€žaktivenโ€œ Stunden / Gesamtzahl der pro Tag fรผr Tests eingeplanten Stunden

End-to-End-Tests vs. Systemtests

End-to-End-Tests Systemtest
Validiert das Softwaresystem sowie miteinander verbundene Subsysteme Validiert nur das Softwaresystem gemรครŸ den Anforderungsspezifikationen.
Es prรผft den kompletten End-to-End-Prozessablauf. Es รผberprรผft Systemfunktionen und -merkmale.
Alle Schnittstellen und Backend-Systeme werden zum Testen berรผcksichtigt Fรผr die Tests werden funktionale und nichtfunktionale Tests berรผcksichtigt
Es wird ausgefรผhrt, sobald der Systemtest abgeschlossen ist. Es wird danach ausgefรผhrt Integrationstests.
Beim End-to-End-Testing werden externe Schnittstellen รผberprรผft, deren Automatisierung komplex sein kann. Daher Manuelle Prรผfung Ist bevorzugt. Fรผr Systemtests kรถnnen sowohl manuelle als auch automatisierte Tests durchgefรผhrt werden

Fazit

In der Softwareentwicklung ist End-to-End-Testen der Prozess der Verifizierung eines Softwaresystems zusammen mit seinen Subsystemen. Die grรถรŸte Herausforderung bei diesen Tests besteht darin, รผber ausreichende Kenntnisse des gesamten Systems sowie eines miteinander verbundenen Subsystems zu verfรผgen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: