
Testautomatisierung – Wieso, Warum, Wofür?
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 |
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.