L. F.

Testautomatisierung – Wieso, Warum, Wofür?

Geschrieben von Lukas Friedrichs veröffentlich am in der Kategorie Quality Assurance
 Das Ziel einer Testautomatisierung ist die Reduzierung der Anzahl manueller (von Menschen) durchgeführter Tests.

Hierbei geht es nicht darum, manuelle Tests zu ersetzen, sondern immer wiederkehrende Testfälle (Smoketests) in die Automatisierung auszulagern, damit das Team beim manuellen Testen entlastet wird. Menschliche Tester können sich so auf Release-/Versionsspezifische Testfälle konzentrieren.

Manuelle Tests oder Automatisierte Tests?

Die folgenden Punkte stellen die Vor- aber auch Nachteile der Testautomatisierung und des manuellen Testens dar:

Manuelles Testen ist sehr zeit- und somit kostenintensiv, hat aber im Gegensatz zur Test-Automatisierung eine geringere Einstiegshürde. Im Gegensatz dazu entsteht bei der Testautomatisierung der größte Aufwand am Anfang: in der Einarbeitung in die entsprechenden Tools und Frameworks und durch die Erstellung der entsprechenden Testfälle.

Manuelle Tests

Automatisierte Tests

Flüchtigkeitsfehler

Stets identische Ausführung

Jederzeit Reaktion auf Änderungen möglich

Nur begrenzte Reaktionsmöglichkeit

Zeit- & Kostenintensiv

Deutlich weniger Zeit zur Durchführung eines Test Cases

Ad hoc Tests jederzeit möglich

Kein Testen und keine Anpassung ohne menschliches Eingreifen

Jeder Schritt muss von Menschen gemacht
und geprüft werden.

Benötigt keine menschliche Unterstützung; Tests können automatisiert starten.

Reaktion auf Unerwartetes möglich.

Kein spontanes / exploratives Testen, benötigt klaren Test Case


Ranorex – Weil?

Bei netzkern ist Ranorex Studio das gewählte Tool zur Testautomatisierung.

Der Grund hierfür liegt unter anderem in der sehr guten Kompatibilität zu den gängigsten Browser Versionen, hierdurch wird gewährleistet das in Ranorex erstellte Test Cases immer mit den neuesten Browserversionen getestet werden können.

Bei Tests mit anderen Automatisierungs-Frameworks (Selenium / Protractor) mussten wir zum Teil mit Browserversionen arbeiten die mehr als 3 Monate alt waren, da die Automatisierungssoftware nicht kompatibel war mit neueren Browserversionen und sich somit die Test Cases nicht haben ausführen lassen.

Darüber hinaus bringt Ranorex Studio aber auch eine große Menge an Funktionen mit, die mit anderen Automatisierungs-Tools erst entwickelt werden müssten.

Ein Beispiel hierfür: die Reporting Funktion von Ranorex. Nach jedem durchgeführten Test Case erstellt Ranorex automatisch einen Report.

Dieser enthält alle wichtigen Informationen zum durchgeführten Test Case: Gesamtzeit des Tests, durchgeführte Aktionen, fehlgeschlagene oder erfolgreiche Validierungen, etc.

Auf diese Art und Weise werden die Ergebnisse jedes durchgeführten Test Cases automatisch dokumentiert.

Der Einstieg in Ranorex Studio ist für erfahrene und nicht erfahrene Test-Ingenieure gleichermaßen einfach.

Zum Erzeugen von Test Cases hat der Nutzer zwei Möglichkeiten - unabhängig davon, ob es sich um einen Test für eine WebApp/Webseite, eine „native“ Desktop Software oder eine Mobile App (iOS, Android) handelt:

Die erste Möglichkeit ist das erzeugen eines Test Cases anhand eines recordings, hierzu bietet Ranorex die Möglichkeit alle durchgeführten Aktionen (bspw. Klicks auf einer Webseite oder das Aufrufen bestimmter Funktionen) aufzuzeichnen. Diese Aufzeichnung kann im Nachhinein noch bearbeitet und individualisiert werden.

Die zweite Möglichkeit ist das Erzeugen eines Test Cases anhand eines sog. Code Modules. Hierbei kann der Test-Ingenieur zwischen den Programmiersprachen C# und VB.Net wählen. In einem Code Module muss der Test-Ingenieur dann die im Test Case durchzuführenden Aktionen im Code definieren.



Der Vorteil von Code Modulen ist die Möglichkeit der besseren Individualisierbarkeit. Denn im Gegensatz zu Recordings ist es in Code Modulen (durch die Verwendung von „Schleifen“ und Bedingungen) möglich, bestimmte Aktionen wiederholt durchzuführen bzw. anhand vordefinierter Bedingungen bestimmte Entscheidungen zu treffen.


Mehr Zeit für die Testerstellung

Wir haben uns für Ranorex Studio entschieden um mehr Zeit in die Erstellung von Test Cases und nicht in die Programmierung unterstützender Features zu investieren. Ranorex gibt uns die Möglichkeit mit jeder Art von Software (Desktop / Mobile / Web) Test Cases zu erstellen und diese jederzeit an neue Gegebenheiten anzupassen, ohne dabei gleich den Test Case komplett neu erstellen zu müssen.