Testautomatisierungs-Framework: Was ist, Architektur & Typen

Was ist ein Framework beim Automatisierungstest?

A Testautomatisierungs-Framework ist eine Reihe von Richtlinien wie Codierungsstandards, Testdatenhandhabung, Objekt-Repository-Behandlung usw., die, wenn sie während der Automatisierungsskripterstellung befolgt werden, zu vorteilhaften Ergebnissen wie erhöhter Code-Wiederverwendung, höherer Portabilität, geringeren Skriptwartungskosten usw. führen. Dabei handelt es sich lediglich um Richtlinien und nicht Regeln; Sie sind nicht obligatorisch und Sie können trotzdem ohne Follo Skripte erstellenwing die Richtlinien. Aber Sie werden die Vorteile eines Frameworks verpassen.

Warum brauchen Sie ein Framework?

Betrachten wir ein Beispiel, um zu verstehen, warum Sie ein Framework benötigen.

Ich bin mir sicher, dass Sie an einem Seminar/einer Vorlesung/einer Konferenz teilgenommen haben, bei dem die Teilnehmer gebeten wurden, Folgendes zu beachtenwing Richtlinien –

  • Die Teilnehmer sollten ihre Plätze 5 Minuten vor Beginn einer Vorlesung einnehmen.
  • Bringen Sie zum Notieren ein Notizbuch und einen Stift mit.
  • Lesen Sie die Zusammenfassung, damit Sie eine Vorstellung davon haben, worum es in der Präsentation geht.
  • Mobiltelefone sollten auf lautlos gestellt werden.
  • Benutzen Sie die Ausgangstore am gegenüberliegenden Ende des Vortrags, falls Sie mitten in der Vorlesung gehen müssen.
  • Am Ende der Sitzung werden Fragen beantwortet.

Glauben Sie, dass Sie ein Seminar durchführen können? OHNE unter Beachtung dieser Richtlinien👍

Die Antwort ist groß JA! Natürlich können Sie ein Seminar/eine Vorlesung/eine Konferenz/eine Demonstration auch ohne die oben genannten Richtlinien durchführen. Tatsächlich werden einige von uns sie nicht befolgen, obwohl sie festgelegt sind!

Wenn die Richtlinien jedoch befolgt werden, führt dies zu einem positiven Ergebnis, z. B. zu einer geringeren Ablenkung des Publikums während der Vorlesungen, einer stärkeren Bindung der Teilnehmer und einem besseren Verständnis des Themas.

Basierend auf dem oben Gesagten, a Ein Rahmenwerk kann als eine Reihe von Richtlinien definiert werden, deren Befolgung zu vorteilhaften Ergebnissen führt.

Arten von Testautomatisierungs-Frameworks

Nachfolgend sind die verschiedenen Arten von automatisierten Test-Frameworks aufgeführt:

  • 1) Lineares Scripting
  • 2) Die Testbibliothek ArchiStruktur-Framework.
  • 3) Das Datengetriebene Testen Rahmen.
  • 4) Das schlüsselwortgesteuerte oder tabellengesteuerte Test-Framework.
  • 5) Das Hybrid Test Automation Framework.

Schauen wir sie uns im Detail an –

1) Lineares Scripting – Aufnahme und Wiedergabe

Es ist das einfachste aller Testautomatisierungs-Frameworks und wird auch als bezeichnet „Aufnahme und Wiedergabe“. In diesem Automatisierungstests Framework: Der Tester zeichnet jeden Schritt manuell auf (Navigation und Benutzereingaben) und fügt in der ersten Runde Prüfpunkte (Validierungsschritte) ein. Anschließend spielt er das aufgezeichnete Drehbuch in den folgenden Runden ab.

Beispiel: Erwägen Sie, sich anzumelden Flugreservierungsantrag und Überprüfen, 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("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
'Check Flight Reservation Window has loaded after successful log-on
Window("Flight Reservation").Check CheckPoint("Flight Reservation")

Vorteile

  • Der schnellste Weg, ein Skript zu erstellen
  • Automatisierungskenntnisse sind nicht erforderlich
  • Der einfachste Weg, die Funktionen des Testtools kennenzulernen

Nachteile

  • Wenig Wiederverwendung von Skripten
  • Testdaten sind im Skript fest codiert
  • Wartungs-Albtraum

2) Die Testbibliothek ArchiStruktur-Framework

Es ist auch bekannt als „Strukturiertes Scripting“ or "Funktionale Zersetzung".

In diesem Automation Testing Framework werden Testskripte zunächst aufgezeichnet durch „Aufnahme & Wiedergabe" Methode. Later, common tasks inside the scripts are identified and grouped into Functions. These Functions are called by main test script called LED Treiber auf unterschiedliche Weise, um Testfälle zu erstellen.

Beispiel: Mit dem gleichen Beispiel wie oben sieht die Funktion zum Anmelden bei Flight Reservation so aus.

Function Login()
SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
End Function

Nun rufen Sie diese Funktion im Hauptskript wie folgt auf

Call Login()
---------------------------
Other Function calls / Test Steps.
---------------------------

Vorteile

  • Im Vergleich zu „Aufzeichnen und Wiedergeben“ wird bei strukturiertem Scripting ein höheres Maß an Code-Wiederverwendung erreicht.
  • Die Entwicklung der Automatisierungsskripte ist aufgrund der höheren Wiederverwendung des Codes kostengünstiger
  • Einfachere Skriptwartung

Nachteile

  • Zum Schreiben von Skripten mit dem Test Library Framework ist technisches Fachwissen erforderlich
  • Für die Planung und Vorbereitung von Testskripten wird mehr Zeit benötigt.
  • Testdaten sind in den Skripten fest codiert

3) Das datengesteuerte Test-Framework

In diesem Rahmen, während Testfall Da sich die Logik in Testskripten befindet, werden die Testdaten getrennt und außerhalb der Testskripte gehalten. Testdaten werden aus 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 Verifizierungswerte verwendet. Testskripte selbst werden entweder mit Linear Scripting oder dem Test Library Framework erstellt.

Beispiel: Die Entwicklung 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 MERCURY
Bill Quecksilber

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("Password:").Set DataTable("Password", dtGlobalSheet)
Dialog("Login").WinButton("OK").Click
'Check Flight Reservation Window has loaded
Window("Flight Reservation").Check CheckPoint("Flight Reservation")
**Note "dtGlobalSheet" is the default excel sheet provided by QTP.

Vorteile

  • Änderungen an den Testskripten haben keinen Einfluss auf die Testdaten
  • Testfälle können mit mehreren Datensätzen ausgeführt werden
  • Eine Vielzahl von Testszenarien können ausgeführt werden, indem einfach 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 schlüsselwortgesteuerte oder tabellengesteuerte Test-Framework

The Keyword-Driven or Table-Driven automation framework development requires data tables and keywords, unabhängig von der Testautomatisierungswerkzeug verwendet, um sie auszuführen. Tests können mit oder ohne die Anwendung entworfen werden. Bei einem schlüsselwortgesteuerten Test wird die Funktionalität der zu testenden Anwendung in einer Tabelle sowie in Schritt-für-Schritt-Anleitungen für jeden Test dokumentiert.

Es gibt drei Grundkomponenten eines schlüsselwortgesteuerten Frameworks viz. Schlüsselwort, Anwendungskarte, Komponentenfunktion.

Was ist ein Schlüsselwort?

Schlüsselwort ist eine Aktion, die für eine GUI-Komponente ausgeführt werden kann. Ex. Für GUI-Komponententextbox Einige Schlüsselwörter (Aktion) wären InputText, VerifyValue, VerifyProperty und so weiter.

Was ist die Anwendungskarte?

Eine Anwendungszuordnung stellt benannte Referenzen für GUI-Komponenten bereit. Anwendungskarten sind nichts anderes als „Objekt-Repository"

Was ist Komponentenfunktion?

Komponentenfunktionen sind Funktionen, die die GUI-Komponente aktiv manipulieren oder abfragen. Ein Beispiel für eine Funktion wäre: Klicken Sie auf die Web-Schaltfläche mit vollständiger Fehlerbehandlung und geben Sie Daten in eine Web-Bearbeitung mit vollständiger Fehlerbehandlung ein. 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 im 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 stellt einen Testschritt dar.

Betreff Action
(Anwendungskarte) (SCHLÜSSELWÖRTER) Argument
WinEdit(Name des Agenten) Festlegung von Guru99
WinEdit(Passwort) Festlegung von Merkur
WinButton(OK) Klicken Sie
Fenster (Flugreservierung) Verify Exists


Schritt 2: Code in Form von Komponentenfunktionen schreiben.

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 dieser Skriptsatz würde dem folgenden Pseudocode ähneln:

Function main()
{
  Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table.
    while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table.
    {
      Pass values to appropriate COMPONENT functions.Like Set(Object Name, Argument) ex.Set(Agent Name, Guru99).
    }
  }
  Call CloseConnection() //Function for Closing connection after all the operation has been performed.
} //End of main

Das ist alles zum Keyword Driven Framework.

Der Vorteil des Keyword Driven Framework besteht darin, dass die Schlüsselwörter wiederverwendbar sind. Um dies zu verstehen, sollten Sie den Anmeldevorgang für eine Website, beispielsweise YAHOO, überprüfen MAIL. Die Tabelle wird so aussehen –

Betreff Action
(ANWENDUNGSKARTE) (STICHWORT) Argument
WebEdit(Benutzername) Festlegung von abc@yahoo.com
WebEdit (Passwort) Festlegung von xxxxx
WebButton(OK) Klicken Sie
Fenster (Yahoo Mail) Verify Loads

Wenn Sie in diesem Fall beobachten, dass die Schlüsselwörter Set, Click und Verify gleich bleiben, für die entsprechende Komponentenfunktionen bereits entwickelt wurden. Sie müssen lediglich die Anwendungszuordnung (Objekt-Repository) von der früheren Flugreservierung auf Yahoo ändern Mail , mit einer Änderung der Argumentwerte und das gleiche Skript wird funktionieren!

Vorteile

  • Bietet eine hohe Wiederverwendbarkeit des Codes
  • Unabhängig vom Testtool
  • 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 Anfangsinvestition recht hoch ist, können die Vorteile nur dann realisiert werden, wenn die Anwendung beträchtlich groß ist und die Testskripte über mehrere Jahre hinweg gepflegt werden müssen.
  • Für die Erstellung des Keyword Driven Framework ist eine hohe Automatisierungskompetenz erforderlich.

HINWEIS: Auch wenn Micro Focus UFT sich selbst als KeyWord Driven Framework bewirbt, können Sie mit HP UFT keine vollständige Testtool- und Anwendungsunabhängigkeit erreichen.

5) Das Hybrid Test Automation Framework

Wie der Name schon sagt, handelt es sich bei diesem Framework um eine Kombination aus einem oder mehreren der oben besprochenen Automatisierungs-Frameworks, die ihre Stärken ausnutzen und versuchen, ihre Schwächen abzuschwächen. Das hybride Test-QA-Automatisierungs-Framework ist das, woraus sich die meisten Testautomatisierungs-Frameworks im Laufe der Zeit und mehrerer Projekte entwickeln. Maximum Industry verwendet das Keyword Framework in einer Kombination aus Funktionszerlegungsmethoden.

PS: Andere erwähnenswerte Automatisierungs-Frameworks sind

Testen Sie das Modularitäts-Framework

In diesem Framework werden häufige Aufgaben im Testskript als Module gruppiert.

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

Beispielskript für die Anmeldung

SystemUtil.Run "flight4a.exe","","","open"
Dialog("Login").WinEdit("Agent Name:").Set "Guru99"
Dialog("Login").WinEdit("Password:").Set "Mercury"
Dialog("Login").WinButton("OK").Click
'End of Script

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

RunAction ("Login[Argument]", oneIteration)

Geschäftsprozesstests (BPT)

Diese Automatisierungs-Frameworks unterteilen große Geschäftsprozesse in Komponenten, die im selben oder in verschiedenen Testskripten mehrfach wiederverwendet werden können. Beispielsweise ist der Geschäftsprozess der Flugbuchung in Komponenten wie Anmeldung, Flugsuche, Buchung, Zahlung und Abmeldung unterteilt, die im selben Geschäftsprozess oder in verschiedenen Prozessen wiederverwendet werden können. Außerdem erleichtert BPT eine engere Koordination zwischen KMU und Automatisierungsingenieuren.

Benefits of Test Automation Framework Architektur

Following are the benefits of Test automation framework archiStruktur:

  • Ein Testautomatisierungs-Framework hilft, das Risiko und den Kostenaufwand zu reduzieren
  • Es verbessert die Effizienz von Tests
  • Es trägt dazu bei, die Wartungskosten zu senken
  • Ermöglicht die Wiederverwendung von Code
  • Dadurch kann eine maximale Testabdeckung erreicht werden
  • Es maximiert die Anwendungsfunktionalität
  • Hilft, die Duplizierung von Testfällen zu reduzieren
  • Es hilft, die Testeffizienz und -leistung durch Testautomatisierung zu verbessern

Zusammenfassung

  • Ein Framework besteht aus einer Reihe von Richtlinien wie Codierungsstandards, Testdatenhandhabung, Objekt-Repository-Behandlung usw., die, wenn sie während der Automatisierungsskripterstellung befolgt werden, zu vorteilhaften Ergebnissen wie einer erhöhten Wiederverwendung von Code, höherer Portabilität, geringeren Skriptwartungskosten usw. führen.
  • Linear Scripting ist das einfachste aller Automatisierungs-Frameworks und wird auch als „Record & Playback“ bezeichnet.
  • Test-Bibliothek Architecture Framework is also know as “Structured Scripting” or “Functional Decomposition”.
  • Im Data-Driven Testing Framework befindet sich die Testfalllogik in Testskripten, und die Testdaten werden getrennt und außerhalb der Testskripte gehalten.
  • Das Keyword-Driven- oder Table-Driven-Framework erfordert die Entwicklung von Datentabellen und Schlüsselwörtern, unabhängig von dem Testautomatisierungstool, mit dem sie ausgeführt werden.
  • Das Hybrid Automation Framework ist das, woraus sich die meisten Testautomatisierungs-Frameworks im Laufe der Zeit und in mehreren Projekten entwickeln.