Was ist Automatisierungstest?
Automatisierungstests oder Testautomatisierung ist eine Softwaretesttechnik, bei der spezielle automatisierte Testsoftware-Tools zum Ausführen einer Testfallsuite verwendet werden. Im Gegenteil, manuelle Tests werden von einem Menschen durchgeführt, der vor einem Computer sitzt und die Testschritte sorgfältig ausführt.
Die Automatisierungstestsoftware kann auch Testdaten in das zu testende System eingeben, erwartete und tatsächliche Ergebnisse vergleichen und detaillierte Testberichte erstellen. Software Test Automation erfordert erhebliche Investitionen in Geld und Ressourcen.
Aufeinanderfolgende Entwicklungszyklen erfordern die wiederholte Ausführung derselben Testsuite. Mit einem Testautomatisierungstool können Sie diese Testsuite aufzeichnen und bei Bedarf erneut abspielen. Sobald die Testsuite automatisiert ist, ist kein menschliches Eingreifen mehr erforderlich. Dies verbesserte den ROI der Testautomatisierung. Ziel der Automatisierung ist es, die Anzahl der manuell auszuführenden Testfälle zu reduzieren und das manuelle Testen nicht vollständig zu eliminieren.
Klicken Sie hier, wenn das Video nicht zugänglich ist
In diesem Tutorial zum automatisierten Testen von Software lernen Sie die Grundlagen der Testautomatisierung wie:
- Was ist Automatisierungstest?
- Warum automatisiertes Testen?
- Welche Testfälle müssen automatisiert werden?
- Automatisierter Testprozess
- Auswahl des Testwerkzeugs
- Definieren Sie den Umfang der Automatisierung
- Planung, Design und Entwicklung
- Test Ausführung
- Framework für die Automatisierung
- Best Practices für Automatisierungstools
- Vorteile von Automatisierungstests
- Arten von automatisierten Tests
- Wie wähle ich ein Automatisierungstool aus?
- Tools für Automatisierungstests
Warum Testautomatisierung?

Testautomatisierung ist der beste Weg , um die Wirksamkeit, die Testabdeckung und die Ausführungsgeschwindigkeit in Software - Tests zu erhöhen. Automatisierte Softwaretests sind aus folgenden Gründen wichtig:
- Das manuelle Testen aller Workflows, aller Felder und aller negativen Szenarien ist zeit- und kostenintensiv
- Es ist schwierig, mehrsprachige Websites manuell zu testen
- Testautomatisierung beim Testen von Software erfordert kein menschliches Eingreifen. Sie können den automatisierten Test unbeaufsichtigt ausführen (über Nacht).
- Testautomatisierung erhöht die Geschwindigkeit der Testausführung
- Durch die Automatisierung wird die Testabdeckung erhöht
- Manuelle Tests können langweilig und damit fehleranfällig werden.
Welche Testfälle müssen automatisiert werden?
Zu automatisierende Testfälle können anhand des folgenden Kriteriums ausgewählt werden, um den Automatisierungs-ROI zu erhöhen
- Hohes Risiko - Geschäftskritische Testfälle
- Testfälle, die wiederholt ausgeführt werden
- Testfälle, die sehr mühsam oder schwierig manuell durchzuführen sind
- Testfälle, die zeitaufwändig sind
Die folgende Kategorie von Testfällen ist nicht für die Automatisierung geeignet:
- Testfälle, die neu entworfen und nicht mindestens einmal manuell ausgeführt wurden
- Testfälle, für die sich die Anforderungen häufig ändern
- Testfälle, die ad hoc ausgeführt werden.
Automatisierter Testprozess:
Die folgenden Schritte werden in einem Automatisierungsprozess ausgeführt
Schritt 1) Auswahl des Testwerkzeugs
Schritt 2) Definieren Sie den Umfang der Automatisierung
Schritt 3) Planung, Design und Entwicklung
Schritt 4) Testausführung
Schritt 5) Wartung

Auswahl des Testwerkzeugs
Die Auswahl des Testwerkzeugs hängt weitgehend von der Technologie ab, auf der die zu testende Anwendung basiert. Beispielsweise unterstützt QTP Informatica nicht. Daher kann QTP nicht zum Testen von Informatica-Anwendungen verwendet werden. Es ist eine gute Idee, einen Proof of Concept of Tool für AUT durchzuführen.
Definieren Sie den Umfang der Automatisierung
Der Umfang der Automatisierung ist der Bereich Ihrer zu testenden Anwendung, der automatisiert wird. Folgende Punkte helfen bei der Bestimmung des Umfangs:
- Die Funktionen, die für das Unternehmen wichtig sind
- Szenarien mit einer großen Datenmenge
- Gemeinsame Funktionen für alle Anwendungen
- Technische Machbarkeit
- Inwieweit werden Geschäftskomponenten wiederverwendet?
- Die Komplexität von Testfällen
- Möglichkeit, dieselben Testfälle für browserübergreifende Tests zu verwenden
Planung, Design und Entwicklung
In dieser Phase erstellen Sie eine Automatisierungsstrategie und einen Automatisierungsplan, die die folgenden Details enthalten:
- Automatisierungstools ausgewählt
- Framework-Design und seine Funktionen
- In-Scope- und Out-of-Scope-Automatisierungselemente
- Vorbereitung des Automatisierungsprüfstands
- Zeitplan und Zeitplan für die Skripterstellung und Ausführung
- Ergebnisse von Automatisierungstests
Test Ausführung
In dieser Phase werden Automatisierungsskripte ausgeführt. Die Skripte benötigen Eingabetestdaten, bevor sie ausgeführt werden können. Einmal ausgeführt, liefern sie detaillierte Testberichte.
Die Ausführung kann mit dem Automatisierungstool direkt oder über das Testmanagement-Tool durchgeführt werden, das das Automatisierungstool aufruft.
Beispiel: Quality Center ist das Test Management-Tool, das wiederum QTP zur Ausführung von Automatisierungsskripten aufruft. Skripte können auf einem einzelnen Computer oder einer Gruppe von Computern ausgeführt werden. Die Ausführung kann nachts erfolgen, um Zeit zu sparen.
Wartungsansatz für die Testautomatisierung
Test Automation Maintenance Approach ist eine Automatisierungstestphase, die durchgeführt wird, um zu testen, ob die neuen Funktionen, die der Software hinzugefügt wurden, ordnungsgemäß funktionieren oder nicht. Die Wartung bei Automatisierungstests wird ausgeführt, wenn neue Automatisierungsskripte hinzugefügt werden, die überprüft und gewartet werden müssen, um die Effektivität von Automatisierungsskripten bei jedem aufeinanderfolgenden Release-Zyklus zu verbessern.
Framework für die Automatisierung
Ein Framework besteht aus Automatisierungsrichtlinien, die dabei helfen
- Aufrechterhaltung der Testkonsistenz
- Verbessert die Teststrukturierung
- Minimale Verwendung von Code
- Weniger Wartung des Codes
- Verbessern Sie die Wiederverwendbarkeit
- Nicht technische Tester können am Code beteiligt sein
- Die Einarbeitungszeit für die Verwendung des Tools kann verkürzt werden
- Bezieht Daten ein, wo immer dies angebracht ist
Es gibt vier Arten von Frameworks, die beim Testen von Automatisierungssoftware verwendet werden:
- Datengesteuertes Automatisierungsframework
- Keyword Driven Automation Framework
- Modulares Automatisierungsframework
- Hybrid Automation Framework
Best Practices für Automatisierungstools
Beachten Sie Folgendes, um einen maximalen ROI der Automatisierung zu erzielen
- Der Umfang der Automatisierung muss vor Projektbeginn detailliert festgelegt werden. Dies setzt die Erwartungen an die Automatisierung richtig.
- Wählen Sie das richtige Automatisierungswerkzeug aus: Ein Werkzeug darf nicht aufgrund seiner Beliebtheit ausgewählt werden, sondern entspricht den Automatisierungsanforderungen.
- Wählen Sie einen geeigneten Rahmen
- Skriptstandards - Beim Schreiben der Skripte für die Automatisierung müssen Standards befolgt werden. Einige von ihnen sind-
- Erstellen Sie einheitliche Skripte, Kommentare und Einrückungen des Codes
- Angemessene Ausnahmebehandlung - Wie Fehler bei Systemausfällen oder unerwartetem Verhalten der Anwendung behandelt werden.
- Benutzerdefinierte Nachrichten sollten für die Fehlerprotokollierung codiert oder standardisiert werden, damit Tester sie verstehen können.
- Metriken messen - Der Erfolg der Automatisierung kann nicht durch Vergleichen des manuellen Aufwands mit dem Automatisierungsaufwand, sondern auch durch Erfassen der folgenden Metriken bestimmt werden.
- Prozent der gefundenen Mängel
- Die Zeit, die für Automatisierungstests für jeden einzelnen Release-Zyklus benötigt wird
- Für die Freigabe wird eine minimale Zeit benötigt
- Kundenzufriedenheitsindex
- Produktivitätssteigerung
Die oben genannten Richtlinien können, wenn sie beachtet werden, wesentlich zum Erfolg Ihrer Automatisierung beitragen.
Vorteile von Automatisierungstests

Im Folgenden sind die Vorteile der Testautomatisierung aufgeführt:
- 70% schneller als die manuelle Prüfung
- Breitere Testabdeckung der Anwendungsfunktionen
- Zuverlässig in den Ergebnissen
- Stellen Sie die Konsistenz sicher
- Spart Zeit und Kosten
- Verbessert die Genauigkeit
- Während der Ausführung ist kein menschliches Eingreifen erforderlich
- Steigert die Effizienz
- Bessere Geschwindigkeit bei der Durchführung von Tests
- Wiederverwendbare Testskripte
- Häufig und gründlich testen
- Durch Automatisierung kann ein größerer Ausführungszyklus erreicht werden
- Frühe Markteinführungszeit
Arten von automatisierten Tests
- Rauchprüfung
- Unit Testing
- Integrationstests
- Funktionsprüfung
- Keyword-Test
- Regressionstests
- Datengesteuertes Testen
- Black-Box-Test
Wie wähle ich ein Automatisierungstool aus?
Die Auswahl des richtigen Werkzeugs kann eine schwierige Aufgabe sein. Das folgende Kriterium hilft Ihnen bei der Auswahl des besten Werkzeugs für Ihre Anforderung:
- Umweltunterstützung
- Benutzerfreundlichkeit
- Testen der Datenbank
- Objektidentifikation
- Bildtest
- Fehlerbehebungstest
- Objektzuordnung
- Verwendete Skriptsprache
- Unterstützung für verschiedene Arten von Tests - einschließlich Funktions-, Testmanagement-, Mobil- usw.
- Unterstützung für mehrere Test-Frameworks
- Einfaches Debuggen der Skripte der Automatisierungssoftware
- Fähigkeit, Objekte in jeder Umgebung zu erkennen
- Umfangreiche Testberichte und Ergebnisse
- Minimieren Sie die Schulungskosten ausgewählter Tools
Die Werkzeugauswahl ist eine der größten Herausforderungen, die vor der Automatisierung bewältigt werden müssen. Identifizieren Sie zunächst die Anforderungen, erkunden Sie verschiedene Tools und ihre Funktionen, legen Sie die Erwartungen an das Tool fest und erstellen Sie einen Proof Of Concept.
Tools für Automatisierungstests
Auf dem Markt sind unzählige Tools für Funktions- und Regressionstests erhältlich. Hier finden Sie die besten Testautomatisierungstools, die von unseren Experten zertifiziert wurden
-
Ranorex Studio
Ranorex Studio ist ein All-in-One-Tool zur Automatisierung von funktionalen UI-Tests, Regressionstests, datengesteuerten Tests und vielem mehr. Ranorex Studio enthält eine benutzerfreundliche Click-and-Go-Oberfläche zur Automatisierung von Tests für Web-, Desktop- und mobile Anwendungen.
Eigenschaften:
- Funktionale Benutzeroberfläche und End-to-End-Tests auf Desktop, Web und Mobile
- Browserübergreifende Tests
- SAP-, ERP-, Delphi- und Legacy-Anwendungen.
- iOS und Android
- Führen Sie Tests lokal oder remote parallel oder verteilend auf einem Selenium-Gitter durch
- Robuste Berichterstattung
Erfahren Sie mehr
-
Testim
Testim ist der schnellste Weg zu ausfallsicheren End-to-End-Tests - codelos, codiert oder beides. Mit Testim können Sie erstaunlich stabile codelose Tests erstellen, die unsere KI nutzen, aber auch die Flexibilität, Tests als Code zu exportieren. Kunden wie Microsoft, NetApp, Wix und JFrog führen jeden Monat Millionen von Testim-Tests durch
Eigenschaften
- Sie können die moderne JavaScript-API von Testim und Ihre IDE nutzen, um Tests zu debuggen, anzupassen oder umzugestalten.
- Speichern Sie den Test in Ihrem Versionskontrollsystem, um sie mit den Zweigen synchron zu halten, und führen Sie bei jedem Commit Tests durch.
- Integration mit gängigen Tools
Erfahren Sie mehr
-
Selen
Es ist ein Softwaretest-Tool, das für Regressionstests verwendet wird. Es ist ein Open-Source-Testtool, das Wiedergabe- und Aufnahmefunktionen für Regressionstests bietet. Die Selenium IDE unterstützt nur den Mozilla Firefox-Webbrowser.
- Es bietet die Möglichkeit, aufgezeichnete Skripte in andere Sprachen wie Java, Ruby, RSpec, Python, C # usw. Zu exportieren
- Es kann mit Frameworks wie JUnit und TestNG verwendet werden
- Es können mehrere Tests gleichzeitig ausgeführt werden
- Autocomplete für häufig verwendete Selenium-Befehle
- Exemplarische Vorgehensweise
- Identifiziert das Element anhand von ID, Name, X-Pfad usw.
- Speichern Sie Tests als Ruby Script, HTML und jedes andere Format
- Es bietet die Möglichkeit, den Titel für jede Seite zu bestätigen
- Es unterstützt die Datei selenium user-extensions.js
- Es ermöglicht das Einfügen von Kommentaren in die Mitte des Skripts zum besseren Verständnis und Debuggen
Laden Sie Selenium herunter
-
QTP (MicroFocus UFT)
QTP wird häufig für Funktions- und Regressionstests verwendet und richtet sich an alle wichtigen Softwareanwendungen und -umgebungen. Um die Erstellung und Wartung von Tests zu vereinfachen, wird das Konzept des schlüsselwortgesteuerten Testens verwendet. Damit kann der Tester Testfälle direkt aus der Anwendung erstellen.
- Für eine nicht technische Person ist es einfacher, sich an funktionierende Testfälle anzupassen und diese zu erstellen
- Es behebt Fehler schneller, indem es Fehler für Entwickler gründlich dokumentiert und repliziert
- Reduzieren Sie die Testerstellung und Testdokumentation an einem einzigen Standort
- Die Parametrierung ist einfacher als bei WinRunner
- QTP unterstützt die .NET-Entwicklungsumgebung
- Es hat einen besseren Objektidentifikationsmechanismus
- Es kann vorhandene QTP-Skripte verbessern, ohne dass "Application Under Test" verfügbar ist, indem der aktive Bildschirm verwendet wird
Laden Sie QTP herunter
-
Rationaler Funktionstester
Es ist ein objektorientiertes automatisiertes Funktionstest-Tool, das automatisierte Funktions-, Regressions-, datengesteuerte Tests und GUI-Tests durchführen kann. Die Hauptmerkmale dieses Tools sind
- Es unterstützt eine Vielzahl von Protokollen und Anwendungen wie Java, HTML, NET, Windows, SAP, Visual Basic usw.
- Es kann die Aktionen bei Bedarf aufzeichnen und wiedergeben
- Es lässt sich gut in Tools zur Verwaltung der Quellcodeverwaltung wie Rational Clear Case und Rational Team Concert integrieren
- Entwickler können damit ein mit Schlüsselwörtern verknüpftes Skript erstellen, damit es wiederverwendet werden kann
- Mit dem Eclipse Java Developer Toolkit-Editor kann das Team Testskripte in Java mit Eclipse codieren
- Es unterstützt benutzerdefinierte Steuerelemente über das Proxy-SDK (Java / .Net).
- Es unterstützt die Versionskontrolle, um die parallele Entwicklung von Testskripten und die gleichzeitige Verwendung durch ein geografisch verteiltes Team zu ermöglichen
Laden Sie Rational Functional Tester herunter
-
Watir
Es ist eine Open-Source-Testsoftware für Regressionstests. Sie können damit Tests schreiben, die einfach zu lesen und zu warten sind. Watir unterstützt nur den Internet Explorer unter Windows, während Watir Webdriver Chrome, Firefox, IE, Opera usw. unterstützt.
- Es unterstützt mehrere Browser auf verschiedenen Plattformen
- Anstatt ein proprietäres Herstellerskript zu verwenden, wird eine voll funktionsfähige moderne Skriptsprache Ruby verwendet
- Es unterstützt Ihre Web-App unabhängig davon, in was sie entwickelt wurde
Laden Sie Watir herunter
-
SilkTest
Der Seidentest wurde für Funktions- und Regressionstests entwickelt. Für E-Business-Anwendungen ist der Seidentest das führende Produkt für Funktionstests. Es ist ein Produkt der Übernahme von Segue Software durch Borland im Jahr 2006. Es ist eine objektorientierte Sprache wie C ++. Es verwendet das Konzept eines Objekts, von Klassen und Vererbung. Sein Hauptmerkmal umfasst
- Es besteht aus allen Quellenskriptdateien
- Es konvertiert die Skriptbefehle in GUI-Befehle. Auf demselben Computer können Befehle auf einem Remote- oder Hostcomputer ausgeführt werden
- Um die Bewegung der Maus zusammen mit Tastenanschlägen zu identifizieren, kann Silktest ausgeführt werden. Es können sowohl Wiedergabe- als auch Aufnahmemethoden oder beschreibende Programmiermethoden verwendet werden, um die Dialoge zu erhalten
- Es identifiziert alle Steuerelemente und Fenster der zu testenden Anwendung als Objekte und bestimmt alle Attribute und Eigenschaften jedes Fensters
Laden Sie SilkTest herunter
Zusammenfassung
Testautomatisierung ist eine Softwaretesttechnik, die mithilfe spezieller automatisierter Testsoftwaretools eine Testfallsuite ausführt.
Testautomatisierung ist der beste Weg, um die Effektivität, Testabdeckung und Ausführungsgeschwindigkeit beim Testen von Software zu erhöhen.
Die Auswahl des Testwerkzeugs hängt weitgehend von der Technologie ab, auf der die zu testende Anwendung basiert.
Der Test Automation Maintenance Approach ist eine Automatisierungstestphase, die durchgeführt wird, um zu testen, ob die neuen Funktionen, die der Software hinzugefügt wurden, einwandfrei funktionieren oder nicht.
Die richtige Auswahl des Automatisierungstools, des Testprozesses und des Teams sind wichtige Faktoren für den Erfolg der Automatisierung. Manuelle und Automatisierungsmethoden gehen für erfolgreiche Tests Hand in Hand.