Test Automation Frameworks - Dinge, die Sie wissen müssen!

Inhaltsverzeichnis:

Anonim

In diesem Tutorial lernen Sie

  • Was ist ein Framework?
  • Was ist ein TEST Automation Framework?
  • Arten von Automation Framework
  • 1) Lineares Scripting - Aufnahme und Wiedergabe
  • 2) Das Test Library Architecture Framework.
  • 3) Das datengesteuerte Test-Framework.
  • 4) Das Keyword-gesteuerte oder tabellengesteuerte Test-Framework.
  • 5) Das Hybrid Test Automation Framework.

Was ist ein Framework?

Anstatt eine buchstäbliche Definition eines Frameworks bereitzustellen, betrachten wir ein Beispiel.

Ich bin sicher, dass Sie an einem Seminar / Vortrag / einer Konferenz teilgenommen haben, bei dem die Teilnehmer gebeten wurden, die folgenden Richtlinien zu beachten:

  • Die Teilnehmer sollten ihren Platz 5 Minuten vor Beginn einer Vorlesung einnehmen
  • Bringen Sie ein Notizbuch und einen Stift zum Notieren mit.
  • Lesen Sie die Zusammenfassung, damit Sie eine Vorstellung davon haben, worum es in der Präsentation geht.
  • Mobiltelefone sollten stumm geschaltet sein
  • Verwenden Sie die Ausgangstore am gegenüberliegenden Ende des Sprechers, falls Sie mitten in der Vorlesung gehen müssen.
  • Fragen werden am Ende der Sitzung gestellt

Denken Sie , Sie ein Seminar durchführen können ohne Einhaltung dieser Richtlinien ????

Die Antwort ist ein großes JA! Natürlich können Sie ein Seminar / eine Vorlesung / eine Konferenz / eine Demonstration ohne die oben genannten Richtlinien durchführen (tatsächlich werden einige von uns diese nicht befolgen, obwohl sie festgelegt sind… :-)

Wenn die Richtlinien jedoch befolgt werden, führt dies zu einem vorteilhaften Ergebnis wie einer geringeren Ablenkung des Publikums während des Vortrags und einer erhöhten Teilnehmerbindung und einem besseren Verständnis des Themas.

Auf der Grundlage des oben Gesagten kann ein Framework als eine Reihe von Richtlinien definiert werden, die, wenn sie befolgt werden, vorteilhafte Ergebnisse liefern.

Was ist ein TEST Automation Framework?

Eine Reihe von Richtlinien wie Codierungsstandards, Handhabung von Testdaten, Behandlung von Objekt-Repositorys usw., die, wenn sie während der Automatisierungsskripterstellung befolgt werden, vorteilhafte Ergebnisse wie eine erhöhte Wiederverwendung von Code, eine höhere Portabilität, geringere Kosten für die Skriptwartung usw. liefern. Beachten Sie jedoch, dass dies nur Richtlinien und Richtlinien sind keine Regeln; Sie sind nicht obligatorisch und Sie können weiterhin Skripte erstellen, ohne die Richtlinien zu befolgen. Sie werden jedoch die Vorteile eines Frameworks verpassen.

Arten von Automation Framework

1) Lineares Scripting
2) Das Test Library Architecture Framework.
3) Das datengesteuerte Test-Framework.
4) Das Keyword-gesteuerte oder tabellengesteuerte Test-Framework.
5) Das Hybrid Test Automation Framework.

Schauen wir sie uns genauer an -

1) Lineares Scripting - Aufnahme und Wiedergabe

Es ist das einfachste aller Frameworks und wird auch als "Record & Playback" bezeichnet. In diesem Framework zeichnet Tester jeden Schritt (Navigation und Benutzereingaben) manuell auf und fügt in der ersten Runde Checkpoints (Validierungsschritte) ein. Anschließend spielt er das aufgezeichnete Skript in den folgenden Runden wieder ab.

Beispiel: Melden Sie sich bei der Flugreservierungsanwendung an und prüfen Sie, ob die Anwendung bei erfolgreicher Anmeldung geladen wurde. Hier zeichnet der Tester einfach die Schritte auf und fügt Validierungsschritte hinzu.

SystemUtil.Run "flight4a.exe", "", "", "open"Dialog ("Login"). WinEdit ("Agent Name:"). Set "Guru99"Dialog ("Login"). WinEdit ("Passwort:"). "Mercury" setzenDialog ("Login"). WinButton ("OK"). Klicken Sie auf'Überprüfen Sie, ob das Flugreservierungsfenster nach erfolgreicher Anmeldung geladen wurdeFenster ("Flugreservierung"). CheckPoint ("Flugreservierung") überprüfen

Vorteile

  • Schnellster Weg, um ein Skript zu generieren
  • Automatisierungskenntnisse nicht erforderlich
  • Der einfachste Weg, um die Funktionen des Test-Tools zu erlernen

Nachteile

  • Kleine Wiederverwendung von Skripten
  • Testdaten sind im Skript fest codiert
  • Wartung Albtraum

2) Das Test Library Architecture Framework.

Es wird auch als "Structured Scripting" oder "Functional Decomposition" bezeichnet.

In diesem Framework werden Testskripte zunächst mit der Methode "Record & Playback" aufgezeichnet. Später werden allgemeine Aufgaben in den Skripten identifiziert und in Funktionen gruppiert. Diese Funktionen werden vom Haupttestskript " Treiber" auf verschiedene Arten aufgerufen , um Testfälle zu erstellen.

Beispiel : Anhand des gleichen Beispiels wie oben sieht die Funktion zum Anmelden bei Flight Reservation folgendermaßen aus.

Funktionsanmeldung ()SystemUtil.Run "flight4a.exe", "", "", "open"Dialog ("Login"). WinEdit ("Agent Name:"). Set "Guru99"Dialog ("Login"). WinEdit ("Passwort:"). "Mercury" setzenDialog ("Login"). WinButton ("OK"). Klicken Sie aufEndfunktion

Nun rufen Sie diese Funktion im Hauptskript wie folgt auf

Login anrufen ()---------------------------Andere Funktionsaufrufe / Testschritte.---------------------------

Vorteile

  • Im Vergleich zu "Record & Playback" wird beim strukturierten Scripting ein höheres Maß an Code-Wiederverwendung erreicht.
  • Die Entwicklung der Automatisierungsskripte ist aufgrund der höheren Wiederverwendung von Code kostengünstiger
  • Einfachere Skriptpflege

Nachteile

  • Technisches Fachwissen ist erforderlich, um Skripte mit Test Library Framework zu schreiben.
  • Es wird mehr Zeit benötigt, um Testskripte zu planen und vorzubereiten.
  • Testdaten sind in den Skripten fest codiert

3) Das datengesteuerte Test-Framework.

In diesem Framework werden die Testdaten getrennt und außerhalb der Testskripte aufbewahrt, während sich die Testfalllogik in Testskripten befindet. Testdaten werden aus den externen Dateien (Excel-Dateien, Textdateien, CSV-Dateien, ODBC-Quellen, DAO-Objekte, ADO-Objekte) gelesen und in die Variablen im Testskript geladen. Variablen werden sowohl für Eingabewerte als auch für Überprüfungswerte verwendet. Testskripte selbst werden entweder mit Linear Scripting oder Test Library Framework erstellt.

Beispiel: Das Entwickeln des Flugreservierungs-Anmeldeskripts mit dieser Methode umfasst zwei Schritte.

Schritt 1) Erstellen Sie eine Testdatendatei, die Excel, CSV oder eine andere Datenbankquelle sein kann.

Agentenname

Passwort

Jimmy

Merkur

Tina

MERKUR

Rechnung

Merkur

Schritt 2) Entwickeln Sie ein Testskript und verweisen Sie auf Ihre Testdatenquelle.

SystemUtil.Run "flight4a.exe", "", "", "open"Dialog ("Login"). WinEdit ("Agent Name:"). Set DataTable ("AgentName", dtGlobalSheet)Dialog ("Login"). WinEdit ("Passwort:"). DataTable setzen ("Passwort", dtGlobalSheet)Dialog ("Login"). WinButton ("OK"). Klicken Sie auf'Überprüfen Sie, ob das Flugreservierungsfenster geladen wurdeFenster ("Flugreservierung"). CheckPoint ("Flugreservierung") überprüfen** Hinweis "dtGlobalSheet" ist das von QTP bereitgestellte Standard-Excel-Blatt.

Vorteile

  • Änderungen an den Testskripten wirken sich nicht auf die Testdaten aus
  • Testfälle können mit mehreren Datensätzen ausgeführt werden
  • Eine Vielzahl von Testszenarien kann ausgeführt werden, indem nur die Testdaten in der externen Datendatei variiert werden

Nachteile

  • Es wird mehr Zeit benötigt, um sowohl Testskripte als auch Testdaten zu planen und vorzubereiten

4) Das Keyword-gesteuerte oder tabellengesteuerte Test-Framework.

Das Keyword-Driven- oder Table-Driven-Framework erfordert die Entwicklung von Datentabellen und Keywords, unabhängig von dem Testautomatisierungstool, mit dem sie ausgeführt werden. Tests können mit oder ohne Anwendung entworfen werden. In einem schlüsselwortgesteuerten Test wird die Funktionalität der zu testenden Anwendung in einer Tabelle sowie in schrittweisen Anweisungen für jeden Test dokumentiert.

Es gibt 3 grundlegende Komponenten eines Keyword Driven Framework, nämlich. Schlüsselwort, Anwendungszuordnung, Komponentenfunktion.

Was ist ein Schlüsselwort?

Das Schlüsselwort ist eine Aktion, die für eine GUI-Komponente ausgeführt werden kann. Ex . Für das GUI-Komponententextfeld sind einige Schlüsselwörter (Aktion) InputText, VerifyValue, VerifyProperty usw.

Was ist die Anwendungsübersicht?

Eine Anwendungszuordnung enthält benannte Referenzen für GUI-Komponenten. Anwendungszuordnungen sind nichts anderes als " Objekt-Repositry "

Was ist Komponentenfunktion?

Komponentenfunktionen sind Funktionen, die die GUI-Komponente aktiv bearbeiten oder abfragen. Ein Beispiel für eine Funktion wäre das Klicken auf die Web-Schaltfläche mit der gesamten Fehlerbehandlung, das Eingeben von Daten in eine Web-Bearbeitung mit der gesamten Fehlerbehandlung. Komponentenfunktionen können anwendungsabhängig oder unabhängig sein.

Beispiel : Um die Keyword-Ansicht zu verstehen, nehmen wir dasselbe Beispiel. Es umfasst 2 Schritte

Schritt 1 : Erstellen einer Datentabelle (anders als die in Data Driven Framework erstellte Testdatentabelle). Diese Datentabelle enthält Aktionen, die für GUI-Objekte ausgeführt werden sollen, und gegebenenfalls entsprechende Argumente. Jede Zeile repräsentiert einen Testschritt.

Objekt

(Anwendungskarte)

Aktion

(SCHLÜSSELWÖRTER)

Streit

WinEdit (Agentenname)
einstellen
Guru99
WinEdit (Passwort)
einstellen
Merkur
WinButton (OK)
Klicken
Fenster (Flugreservierung)
Überprüfen
Existiert

Schritt 2 : Schreiben von Code in Form von Komponentenfunktionen.

Sobald Sie Ihre Datentabelle (n) erstellt haben, schreiben Sie einfach ein Programm oder eine Reihe von Skripten, die jeden Schritt einlesen, den Schritt basierend auf dem im Feld Aktion enthaltenen Schlüsselwort ausführen, eine Fehlerprüfung durchführen und alle relevanten Informationen protokollieren. Dieses Programm oder eine Reihe von Skripten würde dem folgenden Pseudocode ähneln:

Funktion main (){Rufen Sie ConnectTable (Name der Tabelle) auf. {// Aufruffunktion zum Herstellen einer Verbindung mit der Tabelle.while (Call TableParser ()! = -1) // Aufruffunktion zum Parsen und Extrahieren von Werten aus der Tabelle.{Übergeben Sie Werte an die entsprechenden COMPONENT-Funktionen. Like Set (Objektname, Argument) ex.Set (Agentenname, Guru99).}}}}Rufen Sie CloseConnection () // Funktion zum Schließen der Verbindung auf, nachdem alle Vorgänge ausgeführt wurden.} // Ende von main

Das ist alles zu Keyword Driven Framework.

Der Vorteil von Keyword Driven Framework besteht darin, dass die Keywords wiederverwendbar sind. Um dies zu verstehen, sollten Sie den Anmeldevorgang für eine Website überprüfen, z. B. YAHOO MAIL. Der Tisch wird so aussehen -

Objekt (ANWENDUNGSKARTE) Aktion (SCHLÜSSELWORT) Streit
WebEdit (Benutzername) einstellen Diese E-Mail-Adresse ist vor Spambots geschützt! JavaScript muss aktiviert sein, damit sie angezeigt werden kann.
WebEdit (Passwort) einstellen xxxxx
WebButton (OK) Klicken
Fenster (Yahoo Mail) Überprüfen Ladungen

Wenn Sie in diesem Fall feststellen, dass die Schlüsselwörter Set, Click, Verify gleich bleiben, für die entsprechende Komponentenfunktionen bereits entwickelt wurden. Alles, was Sie tun müssen, ist, die Anwendungszuordnung (Object Repository) von der früheren Flugreservierung auf Yahoo Mail zu ändern, wobei die Argumentwerte geändert werden und dasselbe Skript funktioniert!

Vorteile

  • Bietet hohe Wiederverwendbarkeit von Code
  • Testwerkzeug unabhängig
  • Unabhängig von der zu testenden Anwendung funktioniert dasselbe Skript für AUT (mit einigen Einschränkungen).
  • Tests können mit oder ohne AUT entworfen werden

Nachteile

  • Da die Anfangsinvestitionen ziemlich hoch sind, können die Vorteile nur realisiert werden, wenn die Anwendung sehr groß ist und die Testskripte einige Jahre lang aufbewahrt werden sollen.
  • Um das Keyword Driven Framework zu erstellen, ist eine hohe Automatisierungskompetenz erforderlich.

HINWEIS: Obwohl sich Micro Focus UFT als KeyWord Driven Framework bewirbt, können Sie mit HP UFT keine vollständige Abhängigkeit von Testwerkzeugen und Anwendungen erreichen.

5) Das Hybrid Test Automation Framework.

Wie der Name schon sagt, handelt es sich bei diesem Framework um die Kombination eines oder mehrerer Frameworks, die oben diskutiert wurden, um ihre Stärken zu nutzen und ihre Schwächen zu mindern. Dieses hybride Testautomatisierungsframework ist das, zu dem sich die meisten Frameworks im Laufe der Zeit und in mehreren Projekten entwickeln. Die maximale Industrie verwendet das Keyword-Framework in einer Kombination aus Funktionszerlegungsmethoden.

PS: Andere erwähnenswerte Frameworks sind

Testen Sie das Modularity Framework

In diesem Framework werden allgemeine Aufgaben im Testskript als Module zusammengefasst.

Beispiel : Durch die Verwendung von Aktionen in QTP können Modualr-Skripte erstellt werden

Beispielskript für die Anmeldung

SystemUtil.Run "flight4a.exe", "", "", "open"Dialog ("Login"). WinEdit ("Agent Name:"). Set "Guru99"Dialog ("Login"). WinEdit ("Passwort:"). "Mercury" setzenDialog ("Login"). WinButton ("OK"). Klicken Sie auf'Ende des Skripts

Jetzt können Sie diese Aktion im Hauptskript wie folgt aufrufen:

RunAction ("Login [Argument]", oneIteration)

Geschäftsprozessprüfung (BPT)

Dieses Framework unterteilt große Geschäftsprozesse in Komponenten, die in denselben oder verschiedenen Testskripten mehrmals wiederverwendet werden können. Beispielsweise ist der Geschäftsprozess zum Buchen eines Flugs in Komponenten wie Anmelden, Flugsuche, Buchung, Zahlung und Abmelden unterteilt, die im selben Geschäftsprozess oder in verschiedenen Prozessen wiederverwendet werden können. BPT erleichtert auch eine engere Koordination zwischen KMU und Automatisierungsingenieuren.