

Tests, die man automatisieren sollte
Im Prinzip lässt sich jeder Softwaretest automatisieren. Man sollte sich aber immer fragen, ob es nicht günstiger ist, einen Test manuell durchzuführen, anstatt ihn aufwändig zu automatisieren und entsprechend zu warten. Dieser Aufwand sollte in erster Linie für jene Tests betrieben werden, die ein Maximum an Rentabilität versprechen. Im Normalfall fallen diese unter eine oder mehrere der folgenden Kategorien:
Tests für stabile Features
Regressionstests
Risikofeatures
Führen Sie eine Risikoanalyse durch und automatisieren Sie die Tests für jene Features, die das größte Risiko bergen, welche also bei Fehlschlag am meisten Kosten verursachen würden. Binden Sie diese automatisierten Tests dann auch in Ihre Regressionstests ein. Mehr zur Priorisierung von Test Cases nach ihrem Risiko finden Sie in der Sektion Risk assessment im Ranorex GUI Testing Guide.
Smoke Tests
Datengetriebene Tests
Lasttests
Cross-Browser-Tests
Cross-Device-Tests
Mobile Apps müssen auf einer Vielzahl von Geräten mit unterschiedlichen Leistungsprofilen, Auflösungen und Betriebssystemen funktionieren. Einem Bericht von Software Testing News zufolge müsste ein neu gegründetes Testlabor fast 50 verschiedene Geräte anschaffen, um 80 % der 2018 möglichen Kombinationen mit manuellen Tests abzudecken. Durch die Automatisierung von Cross-Device-Tests lassen sich diese Anschaffungen umgehen und noch Zeit in der Testausführung sparen.
Tests, die schwierig zu automatisieren sind
Das Automatisieren der folgenden Testarten stellt häufig eine Herausforderung dar. Das heißt allerdings nicht, dass sie nicht automatisiert werden sollten. Es muss aber mit höheren Kosten bei der Erstellung und Wartung gerechnet werden. Prinzipiell hängt die Schwierigkeit der Automatisierung stark von der Technologie der zu testenden Anwendung ab. Wenn Sie ein Automatisierungstool evaluieren oder einen Proof of Concept durchführen, sollten sie deshalb überprüfen, ob und wie ein Tool Ihnen beim Meistern herausfordernder Automatisierungsszenarien helfen kann.
Testen von Technologie-Kombinationen
Dynamische Inhalte
Umgang mit Wartezeiten
Benachrichtigungen/Popups
Komplexe Workflows
Bestimmte Aspekte von Webanwendungen
Manche Aspekte von Webanwendungen stellen bei der Testautomatisierung besondere Herausforderungen dar. Eines der Hauptprobleme ist die Erkennung von UI-Elementen mit dynamischen IDs. Ranorex erlaubt die Konfiguration von sogenannten Weight Rules, also Gewichtungen, um den RanoreXPath an dynamische UI-Elemente anzupassen und auch diese robust zu erkennen. Andere Herausforderungen sind zum Beispiel das Wechseln zwischen verschiedenen Fenstern und die Automatisierung von iframes – besonders bei Cross-Domain-Inhalten. Mit Ranorex Studio lassen sich auch Objekte in Cross-Domain-iframes erkennen und automatisieren, sogar wenn die zugehörigen Sicherheitseinstellungen aktiv sind.
Bestimmte Aspekte von Mobile Apps
Tests, die nicht automatisiert werden sollten
Manche Arten von Tests können oder sollten nicht automatisiert werden. Das schließt solche Tests ein, die für die erste Automatisierung mehr Zeit und Arbeit beanspruchen, als sie später potentiell einsparen würden. Solche Tests sollten immer manuell ausgeführt werden.
Einmalige Tests
Oft dauert es länger, einen einmalig durchgeführten Test zu automatisieren als ihn einfach manuell auszuführen. Bedenken Sie, dass datengetriebene Tests oder solche, die später zu einem Regressionstest werden, nicht zu dieser Kategorie zählen.
Tests mit unvorhersehbaren Ergebnissen
Features, die sich nicht automatisieren lassen
Instabile Features
Native OS-Features auf Mobilgeräten
Fazit
Konzentrieren Sie sich in Ihrer Automatisierungsstrategie auf die richtigen Test Cases. Das ist der erste Schritt zur Erreichung Ihrer Ziele mit Testautomatisierung. Planen Sie auch Zeit für UX-/Usability-Tests ein. Es liegt in der Natur dieser Tests, dass sie nicht automatisiert werden können und sollten. Nutzen Sie auch unseren Test Case ROI Calculator. Er kann Ihnen bei der Entscheidung helfen, ob ein bestimmter Test Case automatisiert werden sollte. Dazu vergleicht er einfach geschätzte Zeit und Kosten für die Automatisierung mit Zeit und Kosten für die manuelle Ausführung desselben Test Cases. Nicht gedacht ist er zur Bestimmung des ROI eines ganzen Automatisierungsprojekts.
On-Demand-Webinar
Strategien für erfolgreiche Testautomatisierung: Finden Sie heraus, was Sie beachten müssen, damit ihr Testprojekt ein voller Erfolg wird.