Einleitung Auch wenn Testfälle sorgfältig mit Stabilität und Wartbarkeit im Hinterkopf erstellt wurden, können sie dennoch fehlschlagen. Was genau wir unter einem Fehlschlag im Zusammenhang mit Testautomatisierung verstehen, müssen wir angesichts der Verwendung dieser...
- Mit Ranorex 8.3 wollten wir vor allem eines erreichen: den Einstieg in die Testautomatisierung zu erleichtern. Uns war wichtig, dass neue Nutzer schnell erste Erfolgserlebnisse haben und sofort an die Best Practices herangeführt werden, die essentiell für robuste und nachhaltige Tests sind. Zur Erreichung dieser Ziele haben wir drei wesentliche Änderungen eingeführt, die wir Ihnen in diesem Artikel näherbringen wollen:
Der RocketStart Solution Wizard
Der Wizard erscheint, wenn Sie zum ersten Mal Ranorex Studio starten. Sie können Ihn auch auf der Start Page oder im File-Menü über „New solution using wizard…“ aufrufen.
Zu Beginn wählen Sie die Technologie, die Sie testen möchten. Der Wizard führt Sie dann durch den weiteren Prozess und hilft Ihnen bei
- der Konfiguration der Desktop-, Web- oder Mobilanwendung für den Test
- bei der Wahl des Aufnahmeverhaltens, damit die Aufnahme fehlerfrei verläuft
Die folgenden Optionen sind für das Aufnahmeverhalten verfügbar:
- Focus on single application: Fokus auf eine einzige Anwendung. Es werden nur Aktionen in der zuvor ausgewählten AUT (application under test, getestete Anwendung) aufgezeichnet. Aktionen in anderen Anwendungen werden ignoriert.
- Record actions in specific applications: Nur Aktionen in den definierten Anwendungen werden aufgezeichnet.
- No focus applied: Kein Fokus. Alle Interaktionen in allen Anwendungen werden aufgezeichnet.
Ranorex Studio auf die für den Test relevanten Prozesse zu fokussieren hat zwei Vorteile: Erstens verbessert sich die Leistung bei der Aufnahme, der Ausführung und in Ranorex Spy. Zweitens trägt es zu fehlerfreien Aufnahmen bei, da nur mit den freigegebenen, also testrelevanten, Prozessen interagiert werden kann. Die freigegebenen Prozesse können über das Whitelist Pad in Ranorex Studio eingesehen werden:
Nach Fertigstellung des Wizards erscheint in Ranorex Studio automatisch das integrierte Tutorial, wie unten dargestellt. Dieses Tutorial führt Sie durch die ersten Schritte der Testerstellung.
Best Practices in der Testautomatisierung: Aufsetzen und Bereinigen der Testumgebung
In der neuen Struktur der Standard-Test-Suite spiegeln sich bereits angewandte Best Practices der Testautomatisierung wider. Bisher musste bei jedem neuen Recording die AUT angegeben werden. Die Aktion zum Starten der AUT wurde dann direkt in das Recording eingefügt. In Version 8.3 haben wir diese Funktionalität des AUT-Starts in ein eigenes Modul mit dem Namen „StartAUT“ verlegt. Dieses Modul wird automatisch vom RocketStart Wizard in der sogenannten Setup Region des anfänglichen Test Cases angelegt. Außerdem legt der Wizard auch das Modul „CloseAUT“ in der Teardown Region desselben Test Cases an. Dieses Modul ist das Gegenstück zum anderen und beendet die AUT.
Entsprechend werden Sie jetzt nicht mehr aufgefordert, die AUT auszuwählen, wenn Sie ein neues Recording erstellen. Diese wird jetzt schon vorab im RocketStart Wizard definiert.
Setup Regions werden im sie beinhaltenden Element immer als Erstes ausgeführt. Es ist Best Practice, sie mit jenen Modulen bzw. Modulgruppen zu befüllen, die die AUT in den Zustand versetzen, der für die Ausführung aller weiteren Module nötig ist. Ein Paradebeispiel hierfür ist ein Modul, das die AUT startet.
Teardown Regions werden im sie beinhaltenden Element entweder als Letztes oder bei Auftreten eines Fehlers ausgeführt. Hier ist es Best Practice, sie mit jenen Modulen bzw. Modulgruppen zu befüllen, die die AUT bzw. die Testumgebung nach einem Testlauf bereinigen und/oder in den Ursprungszustand versetzen. Ein Paradebeispiel hierfür ist ein Modul, das die AUT beendet.
Folgen Sie diesen Best Practices, um Ihren Test von Anfang an robust und nachhaltig zu gestalten. Achten Sie bei der Testerstellung immer auf Module zum sauberen Starten und Beenden Ihrer AUT. Nach einem Testlauf sollte alles so bereinigt sein, dass ohne weiteren Aufwand der nächste Testlauf starten und problemlos durchlaufen kann.
Das in Ranorex Studio inkludierte Desktop Sample veranschaulicht die beschriebenen Best Practices gut anhand der Struktur einer komplexeren Test Suite.
Wie im obigen Screenshot ersichtlich enthält der Smart Folder „AddNewEntry“ Setup und Teardown Regions. Die Module in der Setup Region starten die AUT KeePass und führen einen Login durch. Die Module in der Teardown Region speichern alle Änderungen, die während des Tests durchgeführt wurden, und beenden dann die AUT. Der Test Case „AddNewGroup“ folgt demselben Prinzip: Eine Setup Region zum Starten und Einloggen, eine Teardown Region zum Speichern und Beenden.
In dieser Test Suite gibt es außerdem sogenannte globale Setup und Teardown Regions, die sich auf die gesamte Test Suite beziehen. Sie dienen zur Bereinigung und Wiederherstellung des Ausgangszustandes auf dem System und werden bei jedem Testlauf ausgeführt, egal ob dieser erfolgreich ist oder fehlschlägt.
Bei der Planung eines End-to-End-Tests, der mehrere verschiedene Technologien einbindet, ist es nützlich, die verschiedenen Technologien auf separate Projekte aufzuteilen. Dazu erstellen sie einfach für jede getestete Technologie bzw. App ein eigenes Module Library Project. Dort erstellen bzw. speichern Sie die Module, die für Ihren Test notwendig sind. In der Test Suite schließlich bauen Sie dann mit diesen Modulen einen kombinierten Test, der in einem Lauf alle Technologien abdeckt.
Öffnen Sie das in Ranorex Studio enthaltene Cross-Platform Sample, um dieses Prinzip veranschaulicht zu bekommen.
Die Solution enthält, wie oben beschrieben, mehrere Module Library Projects für unterschiedliche Technologien: eines für Web, eines für iOS und eines für Android. Zusätzlich enthält die Solution auch das Test Suite Project „CrossPlatform“, in welchem die Module aus den drei Module Libraries in einer großen Test Suite kombiniert werden.
Wie im letzten Sample finden sich auch hier wieder Setup und Teardown Regions in allen Test Cases/Smart Folders. Sie führen respektive wieder Start- und Bereinigungsvorgänge mittels der Module aus den technologiespezifischen Module Libraries aus.
Die Recorder-Konsole
Die dritte Verbesserung, die wir im Hinblick auf einen einfacheren Einstieg durchgeführt haben, betrifft die Recorder-Konsole. Wir haben Sie überarbeitet und erweitert, um Ihnen mehr Kontrolle über den Aufnahmevorgang zu geben.
Der Recorder zeigt jetzt einen Verlauf mit den letzten fünf Aktionen, wodurch Sie schon bei der Aufnahme einen Überblick über Ihren Test erhalten. Außerdem ist es jetzt möglich, während der Aufnahme Aktionen zu löschen bzw. eine von drei vorgegeben Aktionen manuell hinzuzufügen. Das sorgt für saubere Recordings von Anfang an.
Related Posts:
10 Best Practices: #6 Der Umgang mit fehlgeschlagenen Testfällen
Finden Sie heraus, wie Sie durch konsequente Behebung von fehlgeschlagenen Testfälle Ihre Fähigkeiten verbessern und Ihre Tests noch zuverlässiger werden.
10 Best Practices: #3 Einfach wartbare Tests
In diesem Artikel beschreiben wir Zugänge zur Testfallgestaltung, zum Coden und zur Ausführung, mit denen Sie den Wartungsaufwand für Tests verringern.
10 Best Practices: #7 Integration in CI-Pipelines
Automatisierte Tests erlauben die Einhaltung kurzer Entwicklungszyklen. Hier finden Sie Best Practices für Tests in einer CI-/CD-/DevOps-Umgebung.