Was ist Automatisierungstest? - Testprozess und seine Typen

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





Software wird wertvoller und wichtiger, da wir neue Anwendungen und Geräte in unseren Häusern und Unternehmen begrüßen, um das Kommando über eine wichtige Aufgabe zu übernehmen. Am 16. Aprilth1994 stürzte kurz vor der Landung am Flughafen ein Flugzeug mit tödlichem Flugzeugabsturz ab. Wo 250 Menschen getötet wurden, war dies der tödlichste Unfall in China Airlines. Die Hauptursache des Vorfalls waren Softwarefehler. Software-Benutzer wurden vor der Implementierung nicht getestet. Jedes System hat Softwarefehler. Es ist unmöglich, ein Softwaresystem ohne Fehler zu entwerfen. Der Fehler, der durch Softwarefehler im System verursacht wird, kann jedoch durch Softwaretests geschützt werden. Softwaretests sind ein Prozess, mit dem Fehler, Vollständigkeit und Qualität der entwickelten Computersoftware ermittelt werden. Es enthält eine Reihe von Aktivitäten, die mit der Absicht durchgeführt werden, Fehler in der Software zu finden, damit diese korrigiert werden können, bevor das Produkt für Endbenutzer freigegeben wird. Es gibt zwei Arten von Testverfahren, manuelle Tests, und Automatisierung testen.

Was ist Automatisierungstest?

Beim automatisierten Testen werden mithilfe von Tools, Skripten und Software Testfälle ausgeführt, indem vordefinierte Aktionen wiederholt werden. Es hängt vollständig vom vorgefertigten Test ab, bei dem wir das erwartete Ergebnis mit dem tatsächlichen vergleichen, wenn das vorgefertigte Skript ausgeführt wird. Tests wie Belastung, Belastung und die Spitze können mit Automatisierungstools getestet werden. Beispiel: Facebook testet eine Gehirn-Computer-Schnittstelle, die Gedanken in digitale Texte umwandeln kann.




Welche Testfälle sollten zuerst automatisiert werden?

Im Folgenden sind die Testfälle aufgeführt, die zunächst automatisiert werden sollen:

  • Wiederholte Aufgabe - Ein Beispiel wie eine E-Commerce-Site, die mehrmals nach Anmeldeinformationen sucht, um sicherzustellen, dass die Anmeldeseite gemäß den Benutzeranforderungen funktioniert.
  • Ergebnisse erfassen und teilen - Anstatt die Zahlen zu knacken und Diagramme in Tools oder Automatisierungsstrategien zu investieren, kann dies nützlich sein, um Zeit zu sparen.
  • Dateneingabetest - Automatisierung von Informationen auf Datenquellen, damit diese leicht lesbar sind. Wo man die Datenvariabilität besser in den Griff bekommen kann. Wenn man bestimmte Daten aus Tausenden von Daten durchsuchen möchte, kann das Automatisierungstool verwendet werden, um die bestimmten Daten zu durchsuchen.
  • Timing oder Screening-Reaktion - Sie müssen den Bildschirm nicht manuell verfolgen, sondern können ihn mithilfe des automatisierten Codes „Warten bis“ verbessern.
  • Nichtfunktionale Tests - Ein Beispiel für die Automatisierung nichtfunktionaler Testtypen ist die Automatisierung von Lasttests. Wenn wir eine Last von zehntausend haben, anstatt manuell zu testen, ist es eine bessere Option, Automatisierungstests zu verwenden.

Automatisierungstestprozess

Das schrittweise Verfahren für den Automatisierungstest ist



Automatisierung - Test - Prozess

Automatisierungstest-Prozess

1). Auswahl des Testwerkzeugs

Die Auswahl des richtigen Tools basierend auf der Art des betreffenden Tests ist sehr wichtig, damit die Automatisierung erfolgreich ist. Für einen Code-gesteuerten Test verarbeiten oder grafische Benutzeroberfläche -basierte Tests geeignete Werkzeuge müssen entsprechend ausgewählt werden.


2). Definieren Sie den Umfang der Automatisierung

Der Umfang der Automatisierung spielt eine grundlegende Rolle. Ein Beispiel wie die wichtigsten Merkmale für jedes Unternehmen sind Szenarien mit einer großen Datenmenge, die über verschiedene Plattformen und Anwendungen hinweg gemeinsame Funktionen aufweisen, sowie die Komplexität von Testfällen. Usw.

3). Planung Design und Entwicklung

Nachdem Sie das Ziel und die Art der zu automatisierenden Tests festgelegt haben, sollten Sie entscheiden, welche automatisierten Tests durchgeführt werden sollen. Entwickeln Sie zunächst Testfälle zu kleineren logischen Tests, schreiben Sie dann Testskripte und entwickeln Sie Testsuiten, in denen sie automatisch nacheinander ausgeführt werden. Dies wird generiert, indem ein Test in einem Anzug wie einer Bibliothek mit mehreren Testfällen erstellt wird.

4). Test Ausführung

Für die Ausführung des Testskripts wird ein Automatisierungstool oder ein Testverwaltungstool verwendet. Nach der endgültigen Ausführung muss ein Bericht über einzelne Tests im Detail erstellt werden. Damit kann der Bericht als Referenz für andere Tests verwendet werden.

5). Instandhaltung

Automatisierungsskripte müssen für jeden Zyklus hinzugefügt, überprüft und verwaltet werden. Wo Wartung notwendig wird. Zum Beispiel überprüfen wir nach dem Schreiben des Codes den Code und wenn ein Fehler vorliegt, tritt ein Fehler auf. Daher identifizieren wir, welcher Teil des Codes einen Fehler aufweist, beheben ihn und führen den Code von Anfang an aus. Daher spielt die Wartung eine wichtige Rolle, die die Notwendigkeit von Automatisierungsskripten verbessert.

Ansätze zur Automatisierung

Es gibt drei Ansätze zur Automatisierung

1). Code-gesteuerter Ansatz

Es testet die Rahmenbedingungen und konzentriert sich auf die Ausführung von Testfällen, um herauszufinden, ob verschiedene Codeabschnitte unter verschiedenen Bedingungen erwartungsgemäß ausgeführt werden oder nicht. Es ist eine beliebte Methode in der agilen Softwareentwicklung.

2). Grafische Benutzeroberfläche (GUI)

Anwendungen mit GUIs können mit dieser Methode getestet werden, um die Aktionen und Antworten des Benutzers beliebig oft aufzuzeichnen. Beispiel: Selenium-Tool zum Testen einer Website. Testfälle können in jeder Skriptsprache wie Java, Phyton, C usw. geschrieben werden.

3). Rahmenansatz

Es ist eine Reihe von Richtlinien. Wo das Framework die Bibliotheken der Funktion, Testdatenquellen, Objektdetails und andere wiederverwendbare Module zusammenführt. Die Wartungskosten sind geringer und hocheffizient. Beispiel: Wenn sich im Testfall etwas ändert, muss dieser Teil der Testfalldatei aktualisiert werden, ohne dass Änderungen am Treiber oder an den Startskripten vorgenommen werden müssen.

Arten von Frameworks

Es gibt verschiedene Arten von Framework-Ansätzen

  • Rahmen für lineare Skripte
  • Datengesteuertes Framework
  • Schlüsselwortgesteuerte Rahmenbedingungen
  • Modularer Testrahmen
  • Hybrider Testrahmen.

Arten von Automatisierungstests

Die verschiedenen Arten von Automatisierungstests sind

  1. Unit Testing
  2. Rauchprüfung
  3. Funktionsprüfung
  4. Integrationstests
  5. Regressionstests

1). Unit Testing

In einer Webanwendung können mehrere Komponenten / Modelle getestet werden. Der Testprozess für jedes einzelne Modell ist ein Unit-Test. Dies erfolgt während der Entwicklungsphase. Wo die Codes von Entwicklern und auch Testern geschrieben werden.

2). Rauchprüfung

Rauchtests werden alternativ als „Build Verification Testing“ bezeichnet. Es wird verwendet, um zu überprüfen, ob der Code gemäß der Erwartung der Endergebnisse geschrieben wurde oder nicht. Bei Rauchtests entscheidet das Endergebnis nach Abschluss des Tests, ob der zukünftige Test fortgesetzt werden soll oder nicht. Probleme beim Testen können frühzeitig erkannt werden.

3). Funktionsprüfung

Es überprüft die Funktionalität des Webs, funktioniert entsprechend oder nein. Wenn wir zum Beispiel die Anmeldeseite betrachten, auf der wir die Benutzer-ID und das Passwort eingeben müssen. Sofern wir keine korrekten Daten eingeben, wird unsere erwartete Seite nicht geöffnet. Wenn der Code für die Anmeldeseite geschrieben und korrekt getestet wurde, wird die erwartete Seite geöffnet. Dies bedeutet, dass der Funktionstest ordnungsgemäß funktioniert.

4). Integrationstests

Dabei werden die einzelnen Komponenten gleichzeitig integriert und getestet. Hier können wir prüfen, ob die einzelnen Module mit der Kommunikation miteinander kompatibel sind. Wenn wir zum Beispiel die Herstellung eines Kugelschreibers in Betracht ziehen, bei dem der Stift aus einer Nachfüllung, einer Kappe und einem Körper besteht, die separat hergestellt und zusammengebaut werden. Bei der Montage prüfen wir, ob sie richtig montiert sind oder nicht.

5). Regressionstests

Wenn der Code aktualisiert wird, stellen wir sicher, dass er bereits geschriebene Codes nicht beeinflusst. Daher führen wir Regressionstests durch. Durch die Verwendung von Regressionstests wird der Code basierend auf der Anforderung aktualisiert, der Fehler erkannt und behoben. Ein Beispiel für Regressionstests ist die Bank-Website, auf der die Website bei Bedarf regelmäßig aktualisiert wird, z. B. um den aktuellen Kontostand zu aktualisieren. Daher muss beim Aktualisieren der Website sichergestellt werden, dass die neu aktualisierten Funktionen keine Auswirkungen auf bereits vorhandene Funktionen haben.

Wie wähle ich Automatisierungstools aus?

Um ein geeignetes Automatisierungstool auszuwählen, überprüfen Sie die folgenden Eigenschaften:

  • Umweltunterstützung
  • Datenbanktests
  • Objektidentifikation
  • Bildtest
  • Fehlerbehebungstest
  • Unterstützung für mehrere Rahmen
  • Kosten minimieren
  • Umfangreiche Testberichte und Kosten.

Arten von Automatisierungstestwerkzeugen

Es gibt viele Automatisierungstest-Tools, von denen einige unten aufgeführt sind

1). Selen

Es ist Open Source, eine beliebte Testmethode zum Ausführen von Webanwendungen, mehreren Browsern und Plattformen. Die neueste Version von Selen ist Selenium4. Der Programmierer benötigt fortgeschrittene Programmiersprachenkenntnisse. Es gibt vier Komponenten von Selen, Selen-IDE, Selen-Fernbedienung, Web-Treiber und Selen-Gitter.

2). Wasser

Es ist ein Open-Source-Testtool, das aus einer Ruby-Bibliothek besteht und das Testen von Webanwendungen automatisiert. Die neueste Version von Watir ist Watir 6.16. Codes können in jeder Sprache geschrieben werden. Firefox, Chrome, Safari sind bestimmte Browser, die Watir unterstützt. Einige der Funktionen von watir sind: Es dauert Bildschirmkurzschlüsse, Seitenleistung und es kann jede Datei einfach herunterladen.

3). Ranorex

Es ist ein flexibles All-in-One-GUI-Testtool. Es ist für alle Umgebungsbrowser und -geräte geeignet. Es unterstützt C # und V.NET. Es ist in Microsoft Windows und Windows Server integriert. Die Hauptkomponenten von Ranorex sind Ranorex-Rekorder, Ranorex-Repository, Ranorex-Spion, Ranorex-Code-Editor und Ranorex-Debugger.

4). API (Application Programming Interface Testing)

Es ist ein mobiles Testtool, bei dem es sich um Open-Source-Anwendungssoftware handelt. Die API ermittelt, ob ein ausgeführter API-Test genaue Ergebnisse liefert oder nicht. Es gibt verschiedene Arten von API-Tests: Komponententests, Funktionstests, Lasttests, Laufzeitfehlererkennung, Sicherheitstests, Web-UI-Tests, Penetrationstests und Fuzz-Tests. Es ist auf der POSIX-API implementiert.

Tools für Automatisierungstests für mobile Anwendungen

Die verschiedenen Arten von Automatisierungstest-Tools für mobile Anwendungen sind Appium, Robotium, MonkeyRunner, UI Automator, Selendroid, MonkeyTalk, Testdroid, Calabash, Frank und SeeTest

1). Appium

  • Es ist ein Open Source
  • Unterstützt Java, Ruby und andere
  • Der Quellcode kann wiederverwendet werden
  • Kompatibel für Android und Ios.

2). Roboter

  • Es ist ein Open Source
  • Kompatibel für alle Android-Versionen und Subversionen.
  • Codes werden in Java geschrieben.

3). Monkeyrunner

  • Das Testen auf Framework- oder Funktionsebene wird mit Monkeyrunner durchgeführt
  • Codes sind in Python geschrieben
  • Features: Es steuert viele Geräte gleichzeitig, die Automatisierung kann erweiterbar sein, Android-Apps und -Hardware können getestet werden, die Automatisierung kann erweiterbar sein.

4). UI Automator

  • Es wird zum Testen von Benutzeroberflächen mithilfe von UI-Testfällen verwendet.
  • Unterstützt verschiedene Versionen von Androiden
  • Es kann Smartphones sperren und entsperren

5). Selendroid

  • Es wird verwendet, um die Benutzeroberfläche von Android-basierten Hybrid zu testen.
  • Testfälle werden mit Selendroid geschrieben
  • ZU Protokoll wie JSON Draht ist sehr kompatibel.

Mit Automatisierungstests verbundenes Risiko

Das mit Automatisierungstests verbundene Risiko ist

  • Die anfänglichen Kosten werden hoch sein
  • Automatisierung ist niemals 100%
  • Automatisiert keine nicht fixierte Benutzeroberfläche
  • Falsche Bewertung von Zeit und Aufwand
  • Inkompatibilität von Automatisierungstools.

Vorteile von Automatisierungstests

Die Vorteile von Automatisierung Tests sind

  • Die Ausführung von Testfällen wird vereinfacht
  • Verbessert die Zuverlässigkeit des Tests
  • Reduziert die Wartungskosten
  • Testergebnisse werden öffentlich gemacht
  • Keine menschlichen Fehler
  • Spart Zeit und Speicher.

Hier haben wir Software beschrieben Automatisierungstests, Testprozess, Arten von Automatisierungstests und Automatisierungstest-Tool. Hier ist eine Frage: 'Wie sind Automatisierungstests besser als manuelle Tests?'.