what is end end testing
Was ist End-to-End-Testen? E2E-Testframework mit Beispielen
End-to-End-Tests sind eine Software-Testmethode zum Testen eines Anwendungsflusses von Anfang bis Ende. Der Zweck von End-to-End-Tests besteht darin, das reale Benutzerszenario zu simulieren und das zu testende System und seine Komponenten auf Integration und Datenintegrität zu validieren.
Niemand möchte für seine Fehler und seine Nachlässigkeit bekannt sein, und das gilt auch für die Tester. Wenn den Testern ab diesem Moment eine Anwendung zum Testen zugewiesen wird, übernehmen sie die Verantwortung und die Anwendung fungiert auch als Plattform, um ihre praktischen und technischen Testkenntnisse zu demonstrieren.
Um es technisch zu beschreiben und sicherzustellen, dass die Tests vollständig durchgeführt werden, ist es notwendig, „ End-to-End-Tests '' .
In diesem Tutorial erfahren Sie, was End-to-End-Tests sind, wie sie durchgeführt werden, warum sie erforderlich sind, welche Matrizen verwendet werden, wie bestimmte End-to-End-Testfälle erstellt werden und einige andere wichtige Aspekte. Wir werden auch etwas über Systemtests lernen und es mit End-to-End-Tests vergleichen.
Echt auch => End-to-End-Training für ein Live-Projekt - Kostenloses Online-QS-Training.
Was du lernen wirst:
Wie öffnet man eine .bin-Datei?
- Was ist ein End-to-End-Test?
- End-to-End-Testwerkzeuge
- Wie funktioniert ein End-to-End-Test?
- E2E-Testmethoden
- Warum führen wir E2E-Tests durch?
- E2E Testing Design Framework
- Beteiligte Metriken
- Fazit
Was ist ein End-to-End-Test?
End-to-End-Tests sind eine Software-Testmethode zum Testen eines Anwendungsflusses von Anfang bis Ende. Der Zweck dieses Tests besteht darin, das reale Benutzerszenario zu simulieren und das zu testende System und seine Komponenten auf Integration und Datenintegrität zu validieren.
Es wird von Anfang bis Ende in realen Szenarien wie der Kommunikation der Anwendung mit Hardware, Netzwerk, Datenbank und anderen Anwendungen durchgeführt.
Der Hauptgrund für die Durchführung dieser Tests besteht darin, verschiedene Abhängigkeiten einer Anwendung zu ermitteln und sicherzustellen, dass genaue Informationen zwischen verschiedenen Systemkomponenten übertragen werden. Es wird normalerweise nach Abschluss der Funktions- und Systemtests einer Anwendung durchgeführt.
Nehmen wir ein Beispiel für Google Mail:
Die End-to-End-Überprüfung eines Google Mail-Kontos umfasst die folgenden Schritte:
- Starten einer Google Mail-Anmeldeseite über eine URL.
- Melden Sie sich mit gültigen Anmeldeinformationen bei einem Google Mail-Konto an.
- Zugriff auf den Posteingang. Öffnen von gelesenen und ungelesenen E-Mails.
- Erstellen Sie eine neue E-Mail, antworten Sie oder leiten Sie eine E-Mail weiter.
- Öffnen gesendeter Elemente und Abrufen von E-Mails.
- Überprüfen von E-Mails im Spam-Ordner
- Abmelden von der Google Mail-Anwendung durch Klicken auf 'Abmelden'
End-to-End-Testwerkzeuge
Empfohlenes Tool:
# 1) TestCraft
Wir empfehlen die Verwendung eines End-to-End-Testautomatisierungstools wie TestCraft.
TestCraft ist eine codelose Selenium-Testautomatisierungsplattform. Die revolutionäre KI-Technologie und die einzigartige visuelle Modellierung ermöglichen eine schnellere Erstellung und Ausführung von Tests, während der Aufwand für die Testwartung entfällt.
Die Tester erstellen vollautomatische Testszenarien ohne Codierung. Kunden finden Fehler schneller, veröffentlichen sie häufiger, integrieren sie in den CI / CD-Ansatz und verbessern die Gesamtqualität ihrer digitalen Produkte. Dies alles schafft eine vollständige End-to-End-Testerfahrung.
=> Besuchen Sie die TestCraft-Website
Wie funktioniert ein End-to-End-Test?
Um ein bisschen mehr zu verstehen, lassen Sie es uns herausfinden Wie es funktioniert?
Nimm eineBeispielder Bankenbranche. Nur wenige von uns müssen es ausprobiert haben Bestände. Wenn ein Demat-Kontoinhaber eine Aktie kauft, ist dem Broker ein bestimmter Prozentsatz eines Betrags zu geben. Wenn der Aktionär diese Aktie verkauft, unabhängig davon, ob er Gewinn oder Verlust erzielt, wird dem Makler erneut ein bestimmter Prozentsatz des Betrags ausgehändigt. Alle diese Transaktionen werden in Konten reflektiert und verwaltet. Der gesamte Prozess umfasst das Risikomanagement.
Wenn wir uns das obige Beispiel ansehen und den End-to-End-Test berücksichtigen, werden wir feststellen, dass der gesamte Prozess mehrere Zahlen sowie verschiedene Transaktionsebenen umfasst. Der gesamte Prozess umfasst viele Systeme, die möglicherweise schwer zu testen sind.
E2E-Testmethoden
# 1) Horizontaler Test:
Diese Methode wird sehr häufig verwendet. Es tritt horizontal im Kontext mehrerer Anwendungen auf. Diese Methode kann problemlos in einer einzelnen ERP-Anwendung (Enterprise Resource Planning) ausgeführt werden. Nehmen Sie ein Beispiel für eine webbasierte Anwendung eines Online-Bestellsystems. Der gesamte Prozess umfasst Konten, den Inventarstatus der Produkte sowie Versanddetails.
# 2) Vertikaler Test:
Bei dieser Methode werden alle Transaktionen einer Anwendung von Anfang bis Ende überprüft und ausgewertet. Jede einzelne Schicht der Anwendung wird von oben nach unten getestet. Nehmen Sie ein Beispiel für eine webbasierte Anwendung, die HTML-Codes zum Erreichen von Webservern verwendet. In solchen Fällen ist eine API erforderlich, um SQL-Codes für die Datenbank zu generieren. Alle diese komplexen Computerszenarien erfordern eine ordnungsgemäße Validierung und spezielle Tests. Somit ist diese Methode viel schwieriger.
' White-Box-Test ' ebenso gut wie ' Black-Box-Test ' beide sind mit diesem Test verbunden. Mit anderen Worten, wir können sagen, dies ist die Kombination der Vorteile von White-Box-Tests und Black-Box-Tests. Abhängig von der Art der zu entwickelnden Software werden auf verschiedenen Ebenen sowohl die Testtechniken, d. H. White-Box- als auch Black-Box-Tests, nach Bedarf verwendet. Grundsätzlich führt der End-to-End-Test sowohl den funktionalen als auch den architektonischen Ansatz für Software oder Programme zur Validierung von Systemfunktionen durch.
Die Tester wie End-to-End-Überprüfung, weil Testfälle vom Benutzer geschrieben werden ' s Perspektive und in einem realen Szenario können die beiden häufigsten Fehler vermieden werden. ' einen Fehler vermissen ' und ' Schreiben von Testfällen, die keine realen Szenarien verifizieren ' . Dies bietet Testern ein immenses Erfolgserlebnis.
Nachfolgend sind einige Richtlinien aufgeführt, die beim Entwerfen der Testfälle für die Durchführung dieser Art von Tests beachtet werden sollten:
- Testfälle sollten aus Sicht des Endbenutzers entworfen werden.
- Sollte sich darauf konzentrieren, einige vorhandene Funktionen des Systems zu testen.
- Für die Erstellung mehrerer Testfälle sollten mehrere Szenarien berücksichtigt werden.
- Es sollten verschiedene Sätze von Testfällen erstellt werden, um sich auf mehrere Szenarien des Systems zu konzentrieren.
Da wir alle Testfälle ausführen, ist dies bei diesem Test ähnlich. Wenn die Testfälle 'Bestanden' sind, d. H. Wir die erwartete Ausgabe erhalten, wird gesagt, dass das System den End-to-End-Test erfolgreich bestanden hat. Wenn das System nicht die gewünschte Ausgabe erzeugt, ist ebenfalls ein erneuter Test eines Testfalls erforderlich, wobei die Fehlerbereiche zu berücksichtigen sind.
Warum führen wir E2E-Tests durch?
In dem vorliegenden Szenario besteht ein modernes Softwaresystem, wie auch in der obigen Abbildung gezeigt, aus seiner Verbindung mit mehreren Teilsystemen. Dies hat moderne Softwaresysteme zu einem sehr komplizierten System gemacht.
Diese Subsysteme, über die wir sprechen, können sich innerhalb derselben Organisation befinden oder in vielen Fällen auch von verschiedenen Organisationen. Diese Subsysteme können auch dem aktuellen System etwas ähnlich oder verschieden sein. Wenn ein Subsystem ausfällt oder ausfällt, kann dies das gesamte Softwaresystem beeinträchtigen und zum Zusammenbruch führen.
Diese Hauptrisiken können vermieden und durch diese Art von Tests kontrolliert werden:
- Führen Sie eine Überprüfung durch und führen Sie eine Überprüfung des Systemflusses durch.
- Erhöhen Sie die Testabdeckungsbereiche aller am Softwaresystem beteiligten Subsysteme.
- Erkennt etwaige Probleme mit den Subsystemen und erhöht so die Produktivität des gesamten Softwaresystems.
Nachfolgend sind die aufgeführt Einige Aktivitäten, die im End-to-End-Prozess enthalten sind:
- Eine gründliche Untersuchung der Anforderungen zur Durchführung dieser Tests.
- Richtig Einrichtung von Testumgebungen.
- Eine gründliche Untersuchung der Hardware- und Softwareanforderungen.
- Beschreibungen aller beteiligten Subsysteme sowie des Hauptsoftwaresystems.
- Tragen Sie die Rollen und Verantwortlichkeiten für alle beteiligten Systeme und Subsysteme ein.
- Testmethoden, die im Rahmen dieser Tests verwendet werden, sowie Standards, die befolgt werden, deren Beschreibung.
- Testfälle entwerfen sowie Anforderungsmatrix verfolgen.
- Zeichnen oder speichern Sie die Eingabe- und Ausgabedaten für jedes System.
E2E Testing Design Framework
Wir werden alle 3 Kategorien einzeln untersuchen:
# 1) Benutzerfunktionen: Folgende Aktionen sollten im Rahmen der Erstellung von Benutzerfunktionen ausgeführt werden:
- Auflistung der Merkmale der Softwaresysteme und ihrer miteinander verbundenen Teilsysteme.
- Behalten Sie für jede Funktion die durchgeführten Aktionen sowie die Eingabe- und Ausgabedaten im Auge.
- Suchen Sie gegebenenfalls die Beziehungen zwischen verschiedenen Benutzerfunktionen.
- Informieren Sie sich über die Art der verschiedenen Benutzerfunktionen .i.e. wenn sie unabhängig oder wiederverwendbar sind.
# 2) Bedingungen: Folgende Aktivitäten sollten als Teil der Gebäudebedingungen basierend auf Benutzerfunktionen durchgeführt werden:
- Für jede Benutzerfunktion sollte eine Reihe von Bedingungen vorbereitet werden.
- Timing, Datenbedingungen und andere Faktoren, die Benutzerfunktionen beeinflussen, können als Parameter betrachtet werden.
# 3) Testfälle: Folgende Faktoren sollten beim Erstellen von Testfällen berücksichtigt werden:
- Für jedes Szenario sollten ein oder mehrere Testfälle erstellt werden, um alle Funktionen der Benutzerfunktionen zu testen.
- Jede einzelne Bedingung sollte als separater Testfall eingetragen werden.
Beteiligte Metriken
Fahren Sie mit den nächsten wichtigen Aktivitäten oder Metriken fort, die an diesen Tests beteiligt sind ::
- Status der Testfallvorbereitung: Dies kann in Form eines Diagramms verfolgt werden, um den Fortschritt der geplanten Testfälle darzustellen, die in Vorbereitung sind.
- Wöchentliche Verfolgung des Testfortschritts: Dies beinhaltet eine wöchentliche Darstellung des Ausführungsfortschritts der Testfälle. Dies kann durch die prozentuale Darstellung für einen Fall von Bestehen, Nichtbestehen, Ausführen, Nicht ausgeführt, Ungültig usw. widergespiegelt werden.
- Status und ausführlicher Fehlerbericht: Der Statusbericht sollte täglich erstellt werden, um den Ausführungsstatus des Testfalls sowie die gefundenen und protokollierten Fehler entsprechend ihrer Schwere anzuzeigen. Wöchentlich sollte der Prozentsatz der offenen und geschlossenen Mängel berechnet werden. Basierend auf der Schwere und Priorität der Fehler sollte der Fehlerstatus wöchentlich verfolgt werden.
- Test Umgebung: Auf diese Weise werden die zugewiesene Zeitdauer der Testumgebung sowie die tatsächlich während dieser Tests verwendete Testumgebungszeit verfolgt.
Wir haben fast alle Aspekte dieser Tests gesehen. Jetzt lass uns unterscheiden '' Systemtests '' und '' End-to-End-Tests '' . Aber vorher möchte ich Ihnen eine grundlegende Vorstellung von „Systemtests“ geben, damit wir leicht zwischen den beiden Formen von unterscheiden können Softwaretest .
Systemtests ist die Form des Testens, die eine Reihe verschiedener Tests umfasst, deren Zweck darin besteht, das vollständige Testen des integrierten Systems durchzuführen. Systemtests sind im Grunde genommen eine Form von Black-Box-Tests, bei denen der Schwerpunkt auf der externen Arbeitsweise der Softwaresysteme aus Sicht des Benutzers liegt, wobei die realen Bedingungen berücksichtigt werden.
Systemtests umfassen:
- Testen einer vollständig integrierten Anwendung einschließlich des Hauptsystems.
- Bestimmen Sie, ob die Komponenten miteinander und innerhalb des Systems interagieren.
- Überprüfen Sie die gewünschte Ausgabe anhand der bereitgestellten Eingabe.
- Analyse der Benutzererfahrung unter Verwendung verschiedener Aspekte der Anwendung.
Oben haben wir die grundlegende Beschreibung der Systemtests gesehen, um sie zu verstehen. Nun werden wir die Unterschiede zwischen 'Systemtests' und 'End-to-End-Tests' untersuchen.
S.No. | End-to-End-Tests | Systemtests |
---|---|---|
1 | Validiert sowohl das Hauptsoftwaresystem als auch alle miteinander verbundenen Subsysteme. | Gemäß den im Anforderungsdokument angegebenen Spezifikationen wird lediglich das Softwaresystem validiert. |
zwei | Das Hauptaugenmerk liegt auf der Überprüfung des gesamten Ablaufs des Testprozesses. | Das Hauptaugenmerk liegt auf der Überprüfung und Überprüfung der Merkmale und Funktionen des Softwaresystems. |
3 | Bei der Durchführung von Tests werden alle Schnittstellen einschließlich der Backend-Prozesse des Softwaresystems berücksichtigt. | Bei der Durchführung von Tests werden nur die funktionalen und nicht funktionalen Bereiche und ihre Merkmale zum Testen berücksichtigt. |
4 | End-to-End-Tests werden nach Abschluss der Systemtests eines Softwaresystems ausgeführt. | Systemtests werden grundsätzlich nach Abschluss des Integrationstests des Softwaresystems durchgeführt. |
5 | Manuelle Tests werden meistens für End-to-End-Tests bevorzugt, da diese Testform auch das Testen externer Schnittstellen umfasst, die manchmal sehr schwierig zu automatisieren sind. Und wird den gesamten Prozess sehr komplex machen. | Sowohl manuelle als auch Automatisierungstests können als Teil von Systemtests durchgeführt werden. |
Fazit
Ich hoffe, Sie haben verschiedene Aspekte von End-to-End-Tests wie Prozesse, Metriken und den Unterschied zwischen Systemtests und End-to-End-Tests kennengelernt.
Bei jeder kommerziellen Version der Software spielt die End-to-End-Überprüfung eine wichtige Rolle, da sie die gesamte Anwendung in einer Umgebung testet, die reale Benutzer wie Netzwerkkommunikation, Datenbankinteraktion usw. genau imitiert.
Meistens wird der End-to-End-Test manuell durchgeführt, da die Kosten für die Automatisierung solcher Testfälle zu hoch sind, um von jeder Organisation getragen zu werden. Dies ist nicht nur für die Systemvalidierung von Vorteil, sondern kann auch zum Testen der externen Integration als nützlich angesehen werden.
Lassen Sie uns wissen, wenn Sie Fragen zum End-to-End-Test haben.
Literatur-Empfehlungen
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Hauptunterschiede zwischen Black-Box-Tests und White-Box-Tests
- Testen von Primer eBook Download
- Funktionstests gegen nichtfunktionale Tests
- Lehrplan für Softwaretests - Detaillierter Schulungsplan für Online-Kurse
- Was ist Ausdauertest beim Testen von Software (Beispiele)
- Black-Box-Test: Ein ausführliches Tutorial mit Beispielen und Techniken
- Was ist Komponententest oder Modultest (Lernen Sie mit Beispielen)