Datengesteuertes Testen
Data Driven Testing ist eine Softwaretestmethode, bei der Testdaten im Tabellen- oder Tabellenformat gespeichert werden. Durch datengesteuertes Testen können Tester ein einzelnes Testskript eingeben, das Tests für alle Testdaten aus einer Tabelle ausführen und die Testausgabe in derselben Tabelle erwarten kann. Es wird auch als tabellengesteuertes Testen oder parametrisiertes Testen bezeichnet.
Datengesteuertes Framework
Data Driven Framework ist ein Automatisierungstest-Framework, bei dem Eingabewerte aus Datendateien gelesen und in Testskripten in Variablen gespeichert werden. Es ermöglicht Testern, sowohl positive als auch negative Testfälle in einem einzigen Test zusammenzufassen. Eingabedaten in einem datengesteuerten Framework können in einzelnen oder mehreren Datenquellen wie XLS, XML, CSV und Datenbanken gespeichert werden.
In diesem Tutorial lernen Sie
- Was ist datengesteuertes Testen?
- Warum datengesteuertes Testen?
- So erstellen Sie ein datengesteuertes Automatisierungsframework
- Best Practices für datengesteuertes Testen:
- Vorteile datengesteuerter Tests
- Nachteile datengesteuerter Tests:
Warum datengesteuertes Testen?
Datengesteuertes Testen ist wichtig, da Tester häufig mehrere Datensätze für einen einzelnen Test haben und das Erstellen 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 eingegebenen Testdaten ausgeführt werden, und Testergebnisse können effizient generiert werden.
Beispiel:
Zum Beispiel möchten wir das Anmeldesystem mit mehreren Eingabefeldern mit 1000 verschiedenen Datensätzen testen.
Um dies zu testen, können Sie verschiedene Ansätze verfolgen:
Ansatz 1) Erstellen Sie 1000 Skripte, eines für jeden Datensatz, und führen Sie jeden Test einzeln aus.
Vorgehensweise 2) Ändern Sie den Wert im Testskript manuell und führen Sie ihn mehrmals aus.
Ansatz 3) Importieren Sie die Daten aus dem Excel-Blatt. Rufen Sie nacheinander Testdaten aus Excel-Zeilen ab und führen Sie das Skript aus.
In den gegebenen drei Szenarien sind die ersten beiden mühsam und zeitaufwändig. Daher ist es ideal, dem dritten Ansatz zu folgen.
Somit ist der dritte Ansatz nichts anderes als ein datengesteuertes Framework.
So erstellen Sie ein datengesteuertes Automatisierungsframework
Angenommen, Sie möchten die Anmeldefunktionalität einer Anwendung testen.
Schritt 1) Identifizieren Sie die Testfälle
- Eingabe Richtiger Benutzername und Passwort - Anmeldeerfolg
- Geben Sie einen falschen Benutzernamen und ein korrektes Passwort ein - Anmeldefehler
- Geben Sie den richtigen Benutzernamen und das falsche Passwort ein - Anmeldefehler
Schritt 2) Erstellen Sie detaillierte Schritte für die obigen 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 | Erfolgreich eingeloggt |
2 | Überprüfen Sie die Anmeldung auf ungültige Anmeldeinformationen |
| Benutzername: ungültiges Passwort: gültig | Login gescheitert |
3 | Überprüfen Sie die Anmeldung auf ungültige Anmeldeinformationen |
| Benutzername: gültiges Passwort: ungültig | Login gescheitert |
Schritt 3) Erstellen Sie ein Testskript
Wenn Sie die Testschritte beachten, bleiben Sie in den 3 Testschritten gemeinsam. Sie müssen ein Testskript erstellen, um diese Schritte auszuführen
// Dies ist Pseudocode// Testschritt 1: Anwendung startendriver.get ("URL der Anwendung");// Testschritt 2: Benutzername eingebentxtbox_username.sendKeys ("gültig");// Testschritt 3: Passwort eingebentxtbox_password.sendKeys ("ungültig");// Testschritt 4: Ergebnisse überprüfenWenn (nächster Bildschirm) Druck erfolgreich ist, schlagen Sie fehl
Schritt 4) Erstellen Sie ein Excel / CSV mit den eingegebenen Testdaten
Schritt 5) Schritt Ändern Sie den Scrip, um die eingegebenen Testdaten zu durchlaufen. Die Eingabebefehle sollten ebenfalls parametriert werden
// Dies ist Pseudocode// 3 mal wiederholenfür (i = 0; i & lt; = 3; i ++) {// Daten aus Excel lesen und in Variablen speichernint input_1 = ReadExcel (i, 0);int input_2 = ReadExcel (i, 1);// Testschritt 1: Anwendung startendriver.get ("URL der Anwendung");// Testschritt 2: Benutzername eingebentxtbox_username.sendKeys (input_1);// Testschritt 3: Passwort eingebentxtbox_password.sendKeys (input_2);// Testschritt 4: Ergebnisse überprüfenWenn (nächster Bildschirm) Erfolg beim Druckensonst scheitern}}
Oben sind nur 3 Testfälle. Das Testskript kann verwendet werden, um folgende Testfälle zu durchlaufen, indem Testdatenwerte an Excel angehängt werden
- Geben Sie einen falschen Benutzernamen und ein falsches Passwort ein - Anmeldung fehlgeschlagen
- Geben Sie den korrekten Benutzernamen und das Kennwort leer ein - Anmeldung fehlgeschlagen
- Geben Sie einen leeren Benutzernamen und ein leeres Passwort ein. Anmeldefehler
Und so weiter
Best Practices für datengesteuertes Testen:
Nachfolgend finden Sie die besten Testmethoden für datengesteuerte Tests:
- Es ist ideal, während des datengesteuerten Testprozesses realistische Informationen zu verwenden
- Die Testflussnavigation sollte im Testskript codiert sein
- Fahren Sie virtuelle APIs mit aussagekräftigen Daten
- Verwenden Sie Daten, um dynamische Zusicherungen zu steuern
- Testen Sie sowohl positive als auch negative Ergebnisse
- Wiederverwenden datengesteuerter Funktionstests für Sicherheit und Leistung
Vorteile datengesteuerter Tests
Datengesteuert bieten viele Vorteile, von denen einige:
- Ermöglicht das Testen von Anwendungen mit mehreren Datensä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, um Zeit zu sparen.
- Datengesteuertes Testen kann jede Phase der Entwicklung durchführen. Ein datengesteuerter Test wird in der Regel in einem einzigen Prozess zusammengeführt. Es kann 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, wodurch Testfälle und Skripte reduziert werden.
- Änderungen im Testskript wirken sich nicht auf die Testdaten aus
Nachteile datengesteuerter Tests:
Einige Nachteile der datengesteuerten Automatisierungstestmethode sind:
- Die Qualität des Tests hängt von den Automatisierungsfähigkeiten des Implementierungsteams ab
- Die Datenvalidierung ist eine zeitaufwändige Aufgabe beim Testen großer Datenmengen.
- Die Wartung ist ein großes Problem, da für datengesteuerte Tests eine große Menge an Codierung erforderlich ist.
- Hohe technische Fähigkeiten sind erforderlich. Ein Tester muss möglicherweise eine völlig neue Skriptsprache lernen.
- Es wird mehr Dokumentation geben. Hauptsächlich im Zusammenhang mit der Skriptverwaltung, Testinfrastruktur und Testergebnissen.
- Ein Texteditor wie Notepad ist erforderlich, um Datendateien zu erstellen und zu verwalten.
Fazit:
- Datengesteuert ist ein Testautomatisierungsframework, das Testdaten in einem Tabellen- oder Tabellenkalkulationsformat speichert.
- Im datengesteuerten Testautomatisierungsframework können Eingabedaten in einzelnen oder mehreren Datenquellen wie xls, XML, csv und Datenbanken gespeichert werden.
- Das Erstellen eines individuellen Tests für jeden Datensatz ist ein langwieriger und zeitaufwändiger Prozess. Das Data Driven Testing Framework behebt dieses Problem, indem die Daten von Funktionstests getrennt werden.
- Beim datengesteuerten Testen ist es eine ideale Option, realistische Informationen zu verwenden
- Es ermöglicht das Testen von Anwendungen mit mehreren Datensätzen von Datenwerten während des Regressionstests
- Der Nachteil dieser Methode besteht darin, dass sie von den Automatisierungsfähigkeiten des Implementierungsteams abhängt