Was ist ein Testskript? Wie man es schreibt – mit Beispielen

⚡ Intelligente Zusammenfassung

Ein Testskript im Softwaretest ist eine zeilenweise Abfolge ausführbarer Anweisungen, die eine Anwendung steuert und jeden Schritt überprüft. Dieser Leitfaden behandelt die drei Build-Methoden, eine wiederverwendbare Vorlage und ein funktionierendes Beispiel. Selenium Beispiel.

  • 📝 Kerndefinition: Ein Skript legt jede durchzuführende Transaktion, die genauen Eingaben und das erwartete Ergebnis jedes Schrittes fest.
  • Drei Baumethoden: Aufnehmen und Abspielen, schlüsselwort- oder datengesteuertes Scripting und das direkte Schreiben von Code in einer Programmiersprache.
  • 🧱 Sprachfreiheit: Die Skriptsprache muss nicht mit der Anwendungssprache übereinstimmen, daher … Java Das Produkt kann getestet werden mit JavaSkript oder Python.
  • 📋 Vorlagedisziplin: Eine Standardvorlage legt die Felder für ID, Vorbedingungen, Testdaten, Schritte, erwartetes Ergebnis und Status fest.
  • Drehbuch vs. Fall: Ein Testfall ist eine manuelle, schrittweise Vorgehensweise, während ein Testskript automatisch von einem Tool ausgeführt wird.
  • Qualitätsregeln: Gestalten Sie jedes Skript übersichtlich, beschränken Sie jeden Schritt auf eine Aktion und entwerfen Sie die Abläufe aus der Perspektive des realen Benutzers.

Was ist ein Testskript

Was ist ein Testskript beim Softwaretest?

A Testskript Es handelt sich um eine detaillierte Beschreibung der Systemtransaktionen, die zur Validierung der zu testenden Anwendung durchgeführt werden müssen. Sie listet jeden einzelnen Schritt zusammen mit dem jeweils erwarteten Ergebnis auf.

Da es ausführbar ist, kann dasselbe Skript systematisch auf vielen Geräten und in verschiedenen Builds wiederholt werden. Ein verwendbares Skript protokolliert stets sowohl die tatsächlich einzugebenden Daten als auch die erwarteten Ausgaben.

So schreiben Sie ein Testskript

Testskript
Testskript

Es gibt drei verschiedene Möglichkeiten, ein Testskript zu erstellen:

Aufnehmen und Abspielen

Bei dieser Methode muss der Tester keinerlei Code schreiben, sondern lediglich die Aktionen des Benutzers aufzeichnen. Die Programmierung ist später weiterhin erforderlich, um Fehler zu beheben oder das Automatisierungsverhalten zu optimieren.

Diese Methode ist einfacher, als ein komplettes Testskript von Grund auf zu schreiben, da Sie bereits über den vollständigen Code verfügen. Es wird meist in einer vereinfachten Programmiersprache wie VBScript verwendet.

Schlüsselwort- oder datengesteuerte Skripterstellung

Bei dieser Methode gibt es eine klare Trennung zwischen Testern und Entwicklern. Beim datengesteuerten Scripting definiert der Tester den Test mithilfe von Schlüsselwörtern, ohne den zugrunde liegenden Code zu kennen.

Hier besteht die Aufgabe der Entwickler darin, den Testskriptcode für die Schlüsselwörter zu implementieren und diesen Code bei Bedarf zu aktualisieren. Bei dieser Methode muss sich der Tester also nicht um das System kümmern. Für jede neue Funktionalität, die Sie automatisch testen möchten, sind sie jedoch in hohem Maße auf Entwicklungsressourcen angewiesen.

Schreiben von Code in einer Programmiersprache

Wenn Sie sich für diese Methode entscheiden, stehen Ihnen normalerweise weiterhin Aufnahme- und Wiedergabefunktionen zur Verfügung, um einen ersten Entwurf des Drehbuchs zu erstellen.

Früher oder später muss ein Tester jedoch über das Aufnehmen und Abspielen hinausgehen und lernen, einfache Skripte von Hand zu schreiben. Es ist wichtig zu verstehen, dass Sie Ihre Skripte selbst wählen können. Programmiersprache auch wenn Ihre Bewerbung schriftlich erfolgt Java.

Das bedeutet jedoch nicht, dass Sie Ihre Testskripte in Java, die schwer zu erlernen sein kann. Stattdessen können Sie Ihre Testskripte in einer einfacheren Sprache schreiben, wie JavaSkript oder Ruby (oder jede einfachere Sprache, die Sie verwenden möchten).

Beispiel eines Testskripts

Um beispielsweise die Anmeldefunktion auf einer Website zu überprüfen, könnte Ihr Testskript Folgendes tun:

  • Geben Sie an, wie das Automatisierungstool die Felder „Benutzername“ und „Passwort“ im Anmeldebildschirm finden kann. Sagen wir, anhand ihrer CSS-Element-IDs.
  • Laden Sie die Homepage der Website und klicken Sie dann auf den Link „Anmelden“. Stellen Sie sicher, dass der angezeigte Anmeldebildschirm und die Felder „Benutzername“ und „Passwort“ sichtbar sind.
  • Geben Sie den Benutzernamen „Charles“ und das Passwort „123456“ ein, suchen Sie dann die Schaltfläche „Bestätigen“ und klicken Sie darauf.
  • Sie müssen angeben, wie ein Benutzer den Titel des Begrüßungsbildschirms finden kann, der nach der Anmeldung angezeigt wird, beispielsweise anhand der CSS-Element-ID.
  • Stellen Sie sicher, dass der Titel des Begrüßungsbildschirms sichtbar ist.
  • Lesen Sie den Titel des Begrüßungsbildschirms.
  • Behaupten Sie, dass der Titeltext „Willkommen Charles“ lautet.
  • Wenn der Titel den Erwartungen entspricht, wird der Test als bestanden vermerkt. Andernfalls wird er als nicht bestanden vermerkt.

Beispieltestskript in Selenium und Java

Die obige Stichpunktliste beschreibt einen Anmeldetest in einfacher Sprache. Hier ist derselbe Test als ausführbares Skript geschrieben. Selenium WebDriver und JUnitJeder Punkt entspricht einer oder zwei Codezeilen.

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.junit.Assert;
import org.junit.Test;

public class LoginTestScript {

    @Test
    public void validLoginShowsWelcomeMessage() {
        // Step 1: start the browser and open the site
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/login.html");

        // Step 2: locate the fields by their element ids
        driver.findElement(By.id("email")).sendKeys("Charles");
        driver.findElement(By.id("passwd")).sendKeys("123456");

        // Step 3: submit the form
        driver.findElement(By.id("SubmitLogin")).click();

        // Step 4: read the welcome title and assert the expected result
        String actual = driver.findElement(By.id("welcome")).getText();
        Assert.assertEquals("Welcome Charles", actual);

        driver.quit();
    }
}

Drei Details unterscheiden ein echtes Skript von einem aufgezeichneten:

  • Die Locatoren sind explizit. Die Elemente werden anhand ihrer ID und nicht anhand ihrer Bildschirmposition gefunden, sodass das Skript auch bei einer Layoutänderung erhalten bleibt.
  • Die Behauptung ist der Test. Ohne assertEquals wird das Skript einfach nur angeklickt; erst die Assertion entscheidet über Erfolg oder Misserfolg.
  • Die Bereinigung läuft immer. driver.quit() gibt den Browser frei, andernfalls bleiben bei einem fehlgeschlagenen Durchlauf Prozesse zurück.

Die gleiche Struktur gilt in jeder Sprache. Python und Selenium Die Aufrufe lauten driver.find_element(By.ID, “email”) und assert actual == “Welcome Charles”.

Tipps zum Erstellen eines Testskripts

Hier einige wichtige Tipps zum Erstellen eines Testskripts:

Halten Sie es klar

Ihr Testskript sollte so klar sein, dass es ohne weitere Hilfe ausgeführt werden kann. Wenn ein Tester den Projektinhaber ständig nach Details zur Anwendung fragen muss, werden Zeit und Ressourcen verschwendet.

Um dies zu vermeiden, stellen Sie sicher, dass jeder Schritt im Testskript klar, prägnant und nachvollziehbar ist. Dies trägt zu einem reibungslosen Testablauf bei.

Halte es einfach

Sie sollten ein Testskript erstellen, das nur eine bestimmte Aktion für die Tester enthalten sollte. Dadurch wird sichergestellt, dass jede Funktion korrekt getestet wird und Tester keine Schritte im Softwaretestprozess verpassen.

Denk darüber nach

Um das Testskript zu schreiben, müssen Sie sich in die Lage des Benutzers versetzen und entscheiden, welche Pfade getestet werden sollen. Sie sollten kreativ genug sein, um alle unterschiedlichen Pfade vorherzusagen, die Benutzer beim Ausführen eines Systems oder einer Anwendung verwenden würden.

Wann sollte der Testskriptansatz verwendet werden?

Hier sind die Gründe für die Verwendung des Testskripts.

  • Ein Testskript ist die zuverlässigste Methode, um sicherzustellen, dass kein Schritt ausgelassen wird und die Ergebnisse dem vereinbarten Testplan entsprechen.
  • Ein vorbereitetes Skript lässt bei der Ausführung deutlich weniger Raum für Fehler.
  • Wenn Tester ein Produkt frei erkunden, können ihnen leicht Funktionen entgehen.
  • Ein Tester kann auch annehmen, dass eine Funktion das erwartete Ergebnis liefert, obwohl dies nicht der Fall ist.
  • Dies ist besonders nützlich, wenn die Benutzerleistung wichtig und spezifisch ist.

Was ist eine Testskriptvorlage?

Eine Testskriptvorlage ist ein wiederverwendbares, vorformatiertes Dokument, das die Felder enthält, die jedes Skript in Ihrem Projekt ausfüllen muss. Durch die Standardisierung wird der Detaillierungsgrad Ihrer Tests festgelegt und sichergestellt, dass kein Prüfer raten muss, was ein einzelner Schritt bedeutet.

Eine praktikable Vorlage enthält folgende Felder:

Feld Zweck
Skript-ID Eindeutiger Bezeichner, der verwendet wird für tracVerknüpfung von Funktion und Defekt
Titel Eine Zeile, die angibt, was das Skript validiert.
Modul oder Funktion Der Anwendungsbereich, der geprüft wird
Voraussetzungen Geben Sie an, in welchem ​​Zustand sich das System befinden muss, bevor der erste Schritt ausgeführt wird.
Testdaten Exakte Eingaben, einschließlich Anmeldeinformationen und Grenzwerte
Shritte Nummerierte Aktionen, eine Aktion pro Schritt
Erwartetes Ergebnis Das beobachtbare Ergebnis jedes Schrittes
Tatsächliche Ergebnis Ausgefüllt zum Ausführungszeitpunkt
Status Bestanden, nicht bestanden, blockiert oder nicht ausgeführt
Autor und Datum Besitz- und Versionsgeschichte

Unterschied zwischen Testfall und Testskript

Hier die wichtigsten Unterschiede zwischen einem Testfall und einem Testskript:

Testfall Testskript
Testfall ist ein schrittweises Verfahren zum Testen einer Anwendung. Das Testskript ist eine Reihe von Anweisungen zum automatischen Testen einer Anwendung.
Testfälle werden für manuelle Testumgebungen verwendet. Testskript wird in der Automatisierungstestumgebung verwendet.
Dies erfolgt manuell. Dies erfolgt gemäß dem Skriptformat.
Die Testfallvorlage umfasst Test-ID, Testdaten, Testverfahren, tatsächliche und erwartete Ergebnisse usw. Im Testskript können wir verschiedene Befehle verwenden, um ein Skript zu entwickeln.

Vor- und Nachteile von Testskripten

Skripterstellung ist eine Investition. Zu wissen, wo sie sich auszahlt, sagt Ihnen, welche Tests Sie zuerst automatisieren sollten.

Vorteile

  • Wiederholbar: Bei jedem Build werden die gleichen Schritte identisch ausgeführt, was Regressionstests erst praktikabel macht.
  • Schnell in großem Umfang: Eine Testsuite, die einen Tester einen Tag kostet, kann in Minuten oder sogar über Nacht ausgeführt werden.
  • Konsistent: Das Drehbuch langweilt sich nie, überspringt keinen Schritt und interpretiert ein Ergebnis nie falsch.
  • Plattformübergreifend: Ein Skript kann auf verschiedenen Browsern, Geräten und Betriebssystemen wiederholt abgespielt werden.
  • CI-bereit: Skripte werden in eine Build-Pipeline eingebunden, sodass jeder Commit automatisch verifiziert wird.

Nachteile

  • Hohe Einrichtungskosten: Das Schreiben und Debuggen eines Skripts dauert wesentlich länger als das einmalige manuelle Ausführen des Tests.
  • Wartungsaufwand: Eine geänderte Element-ID oder eine neu gestaltete Seite führen zu Skriptfehlern, die anschließend repariert werden müssen.
  • Fähigkeitsanforderung: Über die Aufnahme- und Wiedergabefunktion hinaus benötigt das Team Programmierkenntnisse.
  • Blind für das Unerwartete: Ein Skript prüft nur das, was ihm zur Prüfung vorgegeben wurde, sodass visuelle und Usability-Fehler unentdeckt bleiben.
  • Falsches Vertrauen: Eine grüne Sammlung oberflächlicher Skripte kann echte Lücken in der Abdeckung verbergen.

Die praktische Regel: Die stabilen, sich wiederholenden, risikoreichen Pfade sollten in einem Skript festgehalten werden, während explorative Arbeiten und Usability-Tests manuell durchgeführt werden.

Testskript: Wichtigste Erkenntnisse

  • Unter Testskripten versteht man eine zeilenweise Beschreibung, die Informationen zu den Systemtransaktionen enthält, die zur Validierung der zu testenden Anwendung oder des zu testenden Systems durchgeführt werden sollten.
  • Ein Testfall ist ein schrittweises Verfahren, das zum Testen einer Anwendung verwendet wird, während das Testskript eine Reihe von Anweisungen zum automatischen Testen einer Anwendung ist.
  • Es gibt drei Möglichkeiten, Testskripte zu erstellen: 1) Aufzeichnung/Wiedergabe, 2) Schlüsselwort-/datengesteuerte Skripterstellung, 3) Schreiben Code Verwendung der Programmiersprache.
  • Ihr Testskript sollte klar sein und Sie sollten ein Testskript erstellen, das nur eine bestimmte Aktion enthalten sollte, die Tester ausführen können.
  • Ein Testskript ist die zuverlässigste Methode, um sicherzustellen, dass kein Schritt ausgelassen wird und die Ergebnisse dem vereinbarten Testplan entsprechen.
  • Eine Testskriptvorlage ist ein wiederverwendbares formatiertes Dokument, das vorab ausgewählte Informationen enthält, die für die Erstellung eines verwendbaren Testskripts wichtig sind.

Häufig gestellte Fragen

Ein Testfall ist eine manuelle, schrittweise Anleitung für einen menschlichen Tester. Ein Testskript ist ausführbarer Code, der von einem Tool automatisch ausgeführt wird. Ein Testfall wird nach der Automatisierung häufig zu einem Testskript.

Beginnen Sie mit der Aufnahme und Wiedergabe, um die Struktur zu erkennen, und bearbeiten Sie anschließend den generierten Code. Sobald die aufgenommenen Skripte nicht mehr funktionieren, sollten Sie sie manuell schreiben, da aufgezeichnete Locators Änderungen an der Benutzeroberfläche selten überstehen.

Alles, was einmalig ausgeführt wird, alles, was sich in jedem Sprint ändert, und alles, was visuell beurteilt wird. Exploratives Testen, Usability-Reviews und einmalige Prüfungen sind in der Skriptausführung aufwendiger als in der manuellen Durchführung.

Ja. KI-Tools können geschriebene Testfälle in ausführbare Skripte umwandeln und selbstheilende Locatoren vorschlagen, wenn sich ein Element ändert. RevÜberprüfen Sie jede generierte Assertion, denn ein Skript, das niemals fehlschlägt, testet nichts.

KI-gestützte Tools erkennen geänderte Elemente und aktualisieren Locators ohne menschliches Eingreifen, wodurch die häufigste Ursache für fehlerhafte Skripte beseitigt wird. Die Teams überprüfen die Änderungen dennoch, bevor sie der Suite wieder vertrauen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: