Was ist datengesteuertes Testen? Lernen Sie, ein Framework zu erstellen
Datengesteuertes Testen
Datengesteuertes Testen ist eine Softwaretestmethode, bei der Testdaten im Tabellen- oder Tabellenformat gespeichert werden. Datengesteuertes Testen ermöglicht es Testern, ein einzelnes Testskript einzugeben, das Tests für alle Testdaten aus einer Tabelle ausführen und die Testausgabe in derselben Tabelle erwarten kann. Es wird auch tabellengesteuertes Testen oder parametrisiertes Testen genannt.
Datengesteuertes Framework
Datengesteuertes Framework ist ein Automatisierungstest-Framework, bei dem Eingabewerte aus Datendateien gelesen und in Variablen in Testskripten gespeichert werden. Es ermöglicht Testern, sowohl positive als auch negative Testfälle in einem einzigen Test zusammenzufassen. Eingabedaten im datengesteuerten Framework können in einer oder mehreren Datenquellen wie .xls, .xml, .csv und Datenbanken gespeichert werden.
Warum datengesteuertes Testen?
Datengesteuertes Testen ist wichtig, da Tester häufig über mehrere Datensätze für einen einzelnen Test verfügen und die Erstellung einzelner Tests für jeden Datensatz zeitaufwändig sein kann. Datengesteuertes Testen hilft dabei, Daten von Testskripten zu trennen, und dieselben Testskripte können für verschiedene Kombinationen von Eingabetestdaten ausgeführt und Testergebnisse effizient generiert werden.
Ejemplo:
Wir wollen beispielsweise das Login-System mit mehreren Eingabefeldern mit 1000 verschiedenen Datensätzen testen.
Um dies zu testen, können Sie folgende verschiedene Ansätze verfolgen:
Ansatz 1) Erstellen Sie 1000 Skripte für jeden Datensatz und führen Sie jeden Test einzeln einzeln aus.
Ansatz 2) Ändern Sie den Wert im Testskript manuell und führen Sie es mehrmals aus.
Ansatz 3) Importieren Sie die Daten aus der Excel-Tabelle. Rufen Sie die Testdaten nacheinander aus den Excel-Zeilen ab und führen Sie das Skript aus.
In den angegebenen drei Szenarien sind die ersten beiden mühsam und zeitaufwändig. Daher ist es ideal, den dritten Ansatz zu verfolgen.
Somit ist der dritte Ansatz nichts anderes als ein datengesteuertes Framework.
So erstellen Sie ein datengesteuertes Automatisierungs-Framework
Denken Sie darüber nach, dass Sie die Anmeldefunktionalität einer Anwendung testen möchten.
Schritt 1) Identifizieren Sie die Testfälle
- Geben Sie den richtigen Benutzernamen und das richtige Passwort ein – Anmeldung erfolgreich
- Geben Sie einen falschen Benutzernamen und ein falsches Passwort ein – Anmeldefehler
- Geben Sie den richtigen Benutzernamen und das falsche Passwort ein – Anmeldefehler
Schritt 2) Erstellen Sie detaillierte Testschritte für die oben genannten 3 Testfälle
| Testfall# | Beschreibung | Testschritte | Testdaten | erwartete Ergebnisse |
|---|---|---|---|---|
| 1 | Überprüfen Sie die Anmeldung auf gültige Anmeldeinformationen |
|
Benutzername: gültiges Passwort: gültig | Einloggen erfolgreich |
| 2 | Überprüfen Sie die Anmeldung auf ungültige Anmeldeinformationen |
|
Benutzername: ungültig Passwort: gültig | Anmeldungsfehler |
| 3 | Überprüfen Sie die Anmeldung auf ungültige Anmeldeinformationen |
|
Benutzername: gültig Passwort: ungültig | Anmeldungsfehler |
Schritt 3) Testskript erstellen
Wenn Sie die Testschritte beobachten, bleiben Sie bei allen 3 Testschritten gleich. Sie müssen ein Testskript erstellen, um diese Schritte auszuführen
// This is Pseudo Code
// Test Step 1: Launch Application
driver.get("URL of the Application");
// Test Step 2: Enter Username
txtbox_username.sendKeys("valid");
// Test Step 3: Enter Password
txtbox_password.sendKeys("invalid");
// Test Step 4: Check Results
If (Next Screen) print success else Fail
Schritt 4) Erstellen Sie eine Excel-/CSV-Datei mit den Eingabetestdaten
Schritt 5) Ändern Sie Schritt für Schritt das Skript, um Eingabetestdaten zu durchlaufen. Auch die Eingabebefehle sollten parametrisiert werden
// This is Pseudo Code
// Loop 3 Times
for (i = 0; i & lt; = 3; i++) {
// Read data from Excel and store into variables
int input_1 = ReadExcel(i, 0);
int input_2 = ReadExcel(i, 1);
// Test Step 1: Launch Application
driver.get("URL of the Application");
// Test Step 2: Enter Username
txtbox_username.sendKeys(input_1);
// Test Step 3: Enter Password
txtbox_password.sendKeys(input_2);
// Test Step 4: Check Results
If(Next Screen) print success
else Fail
}
Oben sind nur 3 Testfälle. Das Testskript kann verwendet werden, um über folgende Testfälle zu schleifen, indem einfach Testdatenwerte angehängt werden Excel
- Geben Sie einen falschen Benutzernamen und ein falsches Passwort ein – Anmeldung fehlgeschlagen
- Geben Sie den richtigen Benutzernamen und das richtige Passwort ein, leer – Anmeldung fehlgeschlagen
- Geben Sie einen leeren Benutzernamen und ein leeres Passwort ein – Anmeldung fehlgeschlagen
Und so weiter
bestes datengesteuertes Testtool
1) Testen Sie Sigma
Testen Sie Sigma ist eine cloudbasierte, datengetriebene Testplattform, die sich für mich als unschätzbar wertvoll erwiesen hat, um die Testabdeckung durch die Entkopplung der Testlogik von den Testdaten zu maximieren. Sie wurde speziell für Teams entwickelt, die Anwendungen anhand verschiedener Datensätze, Grenzfälle und Geschäftsszenarien validieren müssen, ohne redundante Testskripte erstellen zu müssen. Dadurch wird der gesamte Workflow für datengetriebene Tests optimiert.
In meinen datengetriebenen Testprojekten nutzte ich die Parametrisierungsfunktionen von Testsigma, um identische Testszenarien mit verschiedenen Datenkombinationen aus externen Quellen wie Excel- und CSV-Dateien durchzuführen. Die Möglichkeit der Plattform, Datenzeilen automatisch zu durchlaufen, erweiterte meine Testabdeckung erheblich, während die detaillierte Berichterstellung der Ergebnisse auf Datenebene mir half, schnell die spezifischen Eingabekombinationen zu identifizieren, die Fehler in Web-, Mobil- und API-Ebenen auslösten.
Merkmale:
- Integration externer Datenquellen: Diese Funktion ermöglicht die direkte Anbindung an Excel-Tabellen, CSV-Dateien und Datenbanktabellen für die zentrale Testdatenverwaltung. Sie eliminiert fest codierte Werte und erlaubt die unabhängige Pflege von Testdaten und Testlogik. Datensätze lassen sich aktualisieren, ohne Testskripte zu ändern, was Flexibilität und Wartbarkeit gewährleistet. Ich nutze diese Funktion, um Hunderte von Datenvarianten effizient zu verwalten und gleichzeitig übersichtliche und wiederverwendbare Testszenarien zu erstellen.
- Automatisierte Dateniteration über mehrere Zeilen: Testsigma führt Testszenarien automatisch über mehrere Datenzeilen in einem einzigen Testlauf aus und erweitert so die Testabdeckung erheblich. Sie können zahlreiche Eingabekombinationen, Randbedingungen und Varianten von Geschäftsregeln validieren, ohne Testfälle duplizieren zu müssen. Diese Funktion handhabt die Datensequenzierung und Iterationslogik transparent. Ich fand dies besonders effektiv für umfassende Regressionstests mit minimalem Aufwand für die Skriptwartung.
- Dynamische Testschrittparametrisierung: Es ermöglicht Ihnen, statische Werte durch dynamische Parameter zu ersetzen, die während der Ausführung Daten aus externen Quellen abrufen. Sie können Testschritte so konfigurieren, dass sie sich an unterschiedliche Eingaben, Bedingungen und erwartete Ergebnisse basierend auf den Datensatzwerten anpassen. Diese Funktion unterstützt komplexe Datentransformationen und bedingte Logik. Ich nutze sie, um flexible Testszenarien zu erstellen, die vielfältige Geschäftsanforderungen und Benutzer-Workflows abdecken.
- Berichterstattung zur Datenausführung: Die Plattform generiert detaillierte Berichte, die Testergebnisse nach einzelnen Datenkombinationen aufschlüsseln und genau anzeigen, welche Eingaben erfolgreich waren oder nicht. Sie können Muster analysieren, problematische Datenbereiche identifizieren und Fehler bestimmten Datensatzzeilen zuordnen. Diese Funktion bietet visuelle Dashboards und exportierbare Analysen für die Kommunikation mit Stakeholdern. Ich empfehle, diese Erkenntnisse zu nutzen, um Prioritäten für die Verbesserung der Datenqualität zu setzen und Testdatenstrategien zu optimieren.
- Plattformübergreifende datengesteuerte Unterstützung: Testsigma erweitert die datengetriebenen Testmöglichkeiten für Web-, Mobil- und API-Tests in einheitlichen Workflows. Sie können dieselben Datensätze verwenden, um die Konsistenz über verschiedene Anwendungsschichten und Technologien hinweg zu validieren. Diese Funktion gewährleistet eine umfassende End-to-End-Validierung mit parametrisierten Datenflüssen. Ich habe sie eingesetzt, um zu überprüfen, ob die Backend-Datenverarbeitung korrekt in den Frontend-Oberflächen auf mehreren Plattformen gleichzeitig abgebildet wird.
Vorteile
Nachteile
Pricing:
- Preis: Individuelle Preisgestaltung mit datengestützten Testfunktionen ist im umfassenden Abonnementplan enthalten.
- Kostenlose Testphase: 14 Tage kostenlose Testversion
14 Tage kostenlose Testversion
Best Practices für datengetriebenes Testen
Nachfolgend sind die besten Testverfahren für datengesteuertes Testen aufgeführt:
- Es ist ideal, während des datengesteuerten Testprozesses realistische Informationen zu verwenden
- Die Testablaufnavigation sollte im Testskript codiert werden
- Fördern Sie virtuelle APIs mit aussagekräftigen Daten
- Nutzen Sie Daten, um dynamische Aussagen voranzutreiben
- Testen Sie sowohl positive als auch negative Ergebnisse
- Nutzen Sie datengesteuerte Funktionstests für Sicherheit und Leistung neu
Vorteile datengesteuerter Tests
Datengesteuert bietet viele Vorteile, einige davon sind:
- Ermöglicht das Testen der Anwendung mit mehreren Sätzen von Datenwerten während des Regressionstests
- Testdaten und Verifizierungsdaten können in nur einer Datei organisiert werden und sind von der Testfalllogik getrennt.
- Basierend auf dem Tool ist es möglich, die Testskripte in einem einzigen Repository zu haben. Dadurch sind die Texte leicht zu verstehen, zu pflegen und zu verwalten.
- Aktionen und Funktionen können in verschiedenen Tests wiederverwendet werden.
- Einige Tools generieren Testdaten automatisch. Dies ist nützlich, wenn große Mengen zufälliger Testdaten erforderlich sind, was hilft, Zeit zu sparen.
- Datengetriebene Tests können in jeder Phase der Entwicklung durchgeführt werden. Datengetriebene Tests werden im Allgemeinen in einem einzigen Prozess zusammengeführt. Sie können jedoch in mehreren Testfällen verwendet werden.
- Ermöglicht Entwicklern und Testern eine klare Trennung der Logik ihrer Testfälle/Skripte von den Testdaten.
- Dieselben Testfälle können mehrmals ausgeführt werden, was dazu beiträgt, Testfälle und Skripte zu reduzieren.
- Änderungen im Testskript haben keine Auswirkungen auf die Testdaten
Nachteile von datengesteuerten Tests
Einige Nachteile der datengesteuerten Automatisierungstestmethode sind:
- Die Qualität des Tests hängt von den Automatisierungsfähigkeiten des Implementierungsteams ab
- Beim Testen großer Datenmengen ist die Datenvalidierung eine zeitaufwändige Aufgabe.
- Die Wartung ist ein großes Problem, da für datengesteuerte Tests viel Codierung erforderlich ist.
- Es sind hohe technische Fähigkeiten erforderlich. Ein Tester muss möglicherweise eine völlig neue Skriptsprache lernen.
- Es wird mehr Dokumentation geben. Hauptsächlich im Zusammenhang mit Skripten, Verwaltungstests, Infrastruktur und Testergebnissen.
- Zum Erstellen und Verwalten von Datendateien ist ein Texteditor wie Notepad erforderlich.
Fazit
- Data-driven ist ein Testautomatisierungs-Framework, das Testdaten in einem Tabellen- oder Tabellenkalkulationsformat speichert.
- Im datengesteuerten Testautomatisierungs-Framework können Eingabedaten in einer oder mehreren Datenquellen wie XLS, XML, CSV und Datenbanken.
- Für jeden Datensatz einen individuellen Test zu erstellen, ist ein langwieriger und zeitaufwändiger Prozess. Das Framework für datengesteuerte Tests löst dieses Problem, indem es die Daten von den Funktionstests trennt.
- Beim datengesteuerten Testen ist es eine ideale Option, realistische Informationen zu verwenden
- Es ermöglicht das Testen einer Anwendung mit mehreren Sätzen von Datenwerten während des Tests Regressionstests
- Der Nachteil dieser Methode besteht darin, dass sie von den Automatisierungsfähigkeiten des Implementierungsteams abhängt




