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.

Datengesteuertes Framework

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.

Beispiel:

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

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
  1. Anwendung starten
  2. Geben Sie den Benutzernamen und das Passwort ein
  3. Klicken Sie auf „Okay“.
  4. Ergebnisse prüfen
Benutzername: gültiges Passwort: gültig Einloggen erfolgreich
2 Überprüfen Sie die Anmeldung auf ungültige Anmeldeinformationen
  1. Anwendung starten
  2. Geben Sie den Benutzernamen und das Passwort ein
  3. Klicken Sie auf „Okay“.
  4. Ergebnisse prüfen
Benutzername: ungültig Passwort: gültig Anmeldungsfehler
3 Überprüfen Sie die Anmeldung auf ungültige Anmeldeinformationen
  1. Anwendung starten
  2. Geben Sie den Benutzernamen und das Passwort ein
  3. Klicken Sie auf „Okay“.
  4. Ergebnisse prüfen
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

Datengesteuertes Automatisierungs-Framework

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

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:

  1. Ermöglicht das Testen der Anwendung mit mehreren Sätzen von Datenwerten während des Regressionstests
  2. Testdaten und Verifizierungsdaten können in nur einer Datei organisiert werden und sind von der Testfalllogik getrennt.
  3. 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.
  4. Aktionen und Funktionen können in verschiedenen Tests wiederverwendet werden.
  5. Einige Tools generieren Testdaten automatisch. Dies ist nützlich, wenn große Mengen zufälliger Testdaten erforderlich sind, was hilft, Zeit zu sparen.
  6. 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.
  7. Ermöglicht Entwicklern und Testern eine klare Trennung der Logik ihrer Testfälle/Skripte von den Testdaten.
  8. Dieselben Testfälle können mehrmals ausgeführt werden, was dazu beiträgt, Testfälle und Skripte zu reduzieren.
  9. Änderungen im Testskript haben keine Auswirkungen auf die Testdaten

Nachteile von datengesteuerten Tests

Einige Nachteile der datengesteuerten Automatisierungstestmethode sind:

  1. Die Qualität des Tests hängt von den Automatisierungsfähigkeiten des Implementierungsteams ab
  2. Beim Testen großer Datenmengen ist die Datenvalidierung eine zeitaufwändige Aufgabe.
  3. Die Wartung ist ein großes Problem, da für datengesteuerte Tests viel Codierung erforderlich ist.
  4. Es sind hohe technische Fähigkeiten erforderlich. Ein Tester muss möglicherweise eine völlig neue Skriptsprache lernen.
  5. Es wird mehr Dokumentation geben. Hauptsächlich im Zusammenhang mit Skripten, Verwaltungstests, Infrastruktur und Testergebnissen.
  6. 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