Über unsMediaKontaktImpressum
Jan Wolter 11. August 2015

Automatisiertes Testing: Mit der richtigen Strategie zum Nutzer-Glück

Das Testen einer App ist einer der wichtigsten Schritte des Entwicklungsprozesses. Schließlich ist das oberste Ziel beim Markteintritt, Kunden zufriedenzustellen und gute Bewertungen zu erhalten. Bedingt durch das hohe Tempo bei der Entwicklung von Anwendungen, die sich schnell ändernde Technik und die ständig wachsende Zahl an Endgeräten, steigt auch die Nachfrage nach einer effizienten Automatisierung von Qualitätssicherungsprozessen. Dabei sind die Vorteile von Testautomatisierung gegenüber manuellen Analysen vielseitig. Dazu gehört eine schnelle und beliebig wiederholbare Qualitätsvalidierung noch während der Code-Entwicklung, bei der Auswirkungen von selbst kleinen Code-Änderungen sofort auf das Gesamtergebnis getestet werden können.

Die automatisierten Verfahren sparen Zeit und Kosten, steigern die Testeffizienz und die Abdeckung von Endgeräten. Somit erlauben sie die Entwicklung von Apps, die Konsumenten begeistern, ermöglichen einen schnellen Markteintritt und einen möglichst hohen ROI. Doch neben diesen praktischen Vorteilen existieren auch Stolpersteine, die nicht unterschätzt werden sollten: Die falschen Werkzeuge und ein ungünstiger Aufbau der Automatisierungssoftware können schnellen und validen Ergebnissen im Wege stehen sowie einen hohen Wartungsaufwand erzeugen. Wollen Unternehmen die richtige Automatisierungsstrategie finden, sollten sie folgende Aspekte unbedingt beachten.

Ergänzen statt ersetzen

Testautomatisierung bringt klare Vorteile, hat aber gleichzeitig ihre Grenzen. Sie sollte daher weniger als Wundermittel oder Allzweckwaffe, sondern als Teil einer gut ausbalancierten Teststrategie betrachtet werden. Klar ist: Automatisierte Testings können manuelle Tester nicht gänzlich ersetzen. So hilfreich diese auch bei der Identifizierung rein funktionaler oder performancebasierter Probleme sind, stoßen sie spätestens bei Usability oder Designfragen an ihre Grenzen. Subjektiv-menschliche Eindrücke, wie z. B. das optische Empfinden, können nicht über Skripte dargestellt werden. Genauso gilt zu beachten, dass Testautomatisierung mit dem Abarbeiten einer Checkliste gleichzusetzen ist und daher tatsächlich nur genau das abgearbeitet wird, was vorher im Detail definiert worden ist. Mögliche Probleme, an die nicht bereits vorab – also beim Aufsetzen der Automatisierungsskripte – gedacht worden ist, bleiben daher unberücksichtigt. Das gesamte Testverfahren zu automatisieren ist somit weder besonders effektiv, noch aus ökonomischer Sicht sinnvoll.

Wollen Unternehmen den höchsten ROI erreichen, gilt als Faustregel: Alle wiederholbaren Szenarien sind mit automatisierten Testings abzudecken, der Rest sollte mit einer manuellen Strategie überprüft werden. Um die bestmöglichen Ergebnisse zu erhalten und die Zufriedenheit der App-Nutzer zu sichern, muss das Vorgehen zwischen manuellen und automatisierten Testings genauso wie zwischen In-The-Lab- und In-The-Wild-Verfahren sinnvoll ausbalanciert werden.

Vorausschauendes Planen ist die halbe Miete

Wie sehen die eigenen Ziele aus? Und wie gelangt man am besten zu ihrer Umsetzung? Diese Fragen sollten am Anfang einer guten Planung stehen. Wer überstürzt mit der Automatisierung beginnt, ohne eine fundierte Strategie auszuarbeiten, wird kaum positive Resultate erhalten. Falsch gewählte Werkzeuge, unsachgemäße Stellenbesetzung und unpassende Methodologie sind die Folgen einer fehlenden Strategie und können das ganze Projekt bedrohen. Die Komplexität des Vorhabens am Anfang zu unterschätzen, kann gefährlich sein. So ist es viel schwerer, grundlegende Änderungen an einer bereits implementierten Automatisierung durchzuführen, ohne dabei den Großteil der Arbeit wieder zu verwerfen. Deswegen sollten Teams möglichst früh die langfristigen Ziele der Testautomatisierung definieren und einen genauen Ablaufplan festlegen. In diesen Planungsprozess müssen die konkreten Erwartungen aller Beteiligten (Auftraggeber, Entwickler und Testteam) unbedingt mit einfließen. Wichtig ist, dass die formulierten Ziele spezifisch, messbar und realistisch sind.

Talente & Tools

Die richtigen Talente und die passenden Tools bilden das Herzstück einer jeden Planung erfolgreicher Automatisierungsstrategien. Daher sollten Unternehmen bei der Zusammenstellung des Teams von Anfang an auf spezialisierte Automatisierungsingenieure setzen, die individuelle Automatisierungslösungen entwickeln, warten und an neue Bedürfnisse anpassen können. Auch die Wahl der Tools muss sorgfältig überlegt sein: Zu den wichtigen Faktoren bei der Auswahl zählen z. B. die unterstützten Betriebssysteme, die Möglichkeit, ein Testskript für alle Oberflächen ohne Modifikation zu nutzen und die Fähigkeit, sich den Marktänderungen wie neuen Geräten, Browsern und Eingabemöglichkeiten anzupassen.

Wenn der zeitliche Aufwand für die Zusammenstellung des Teams und die Bestimmung der Tools zu komplex und die Entwicklungs- und Instandhaltungskosten einer Testautomatisierung zu hoch sind, sollten Unternehmen überlegen, die entsprechenden Aufgaben an Dritte auszulagern. Hilfreich können hier Anbieter sein, die Full-Service-Automatisierungslösungen zur Verfügung stellen und die Qualität mobiler Anwendungen während des gesamten Produktzyklus’ sichern. Sie entwerfen die richtige Testautomatisierungs-Architektur, übernehmen oder begleiten die Evaluation und die Auswahl der möglichen Tools und implementieren die Automatisierungs-Skripte und Testbausteine.

Richtig implementiert gewinnt!

Um die passende Automatisierungsarchitektur aufzubauen, sollten Unternehmen einige grundlegende Implementationsschritte befolgen. Dazu gehört in erster Linie die enge Abstimmung zwischen dem Testteam und den Entwicklern – nur so kann sichergestellt werden, dass alle Beteiligten die gleichen Ziele im Blick haben. Beim Start einer Testautomatisierung sollten zunächst die besonders kritischen Test Cases im Fokus stehen, da diese Fälle besonders stabil und zuverlässig sein müssen.

Wichtig ist auch die Herstellung realer Bedingungen, wie die Nutzung echter Geräte. So können Probleme identifiziert werden, die mit Hilfe von Simulatoren nicht zu finden sind. Um effektive und skalierbare Automatisierungseffekte zu erhalten, sollten die Testfälle in klare und präzise Schritte unterteilt werden: Kleine, schnelle und stabile Tests eignen sich besser als überkomplexe Use-Cases, die extrem wartungsintensiv sind. Schließlich ermöglichen es zeitlimitierte Testings, sicherzugehen, dass Ergebnisse innerhalb eines angemessenen Zeitraums vorliegen – Verzögerungen werden damit vermieden.

Nachhaltigkeit ist Trumpf

Eine anfangs erfolgreiche Automatisierungsstrategie kann sich während der App-Entwicklung als nutzlos erweisen, wenn die Rahmenbedingungen nicht so gestaltet wurden, dass sie einfach wartbar und erweiterbar sind. Nachhaltige Automatisierungsprozesse minimieren dagegen den Aufwand der Instandsetzung. Grundsätzlich ist zu überlegen, welcher Art sich die Automatisierungsstrategie in Zukunft entwickeln kann, wenn sich die App weiterentwickelt.

Um für eine verbesserte Nachhaltigkeit zu sorgen, sollten Unternehmen Text-, Bild- oder xpath-basierte Locators vermeiden, Monitoring- und Analyse-Tools nutzen und ein Fehlertrackingsystem integrieren. Schließlich sollte jede Folge der Skripte auf Code-Änderungen überprüft werden. Bei Unsicherheiten im Hinblick auf eine nachhaltige Entwicklung sind Unternehmen gut beraten, auf externe Expertise zu setzen.

Auf das Wann kommt es an

Der Zeitpunkt für die Einführung einer Testautomatisierung hat entscheidenden Einfluss auf die Höhe der Investitionskosten und die Länge des Testzyklus’ und sollte deswegen genau geplant werden. Zu früh konzipiert, bringt die Testautomatisierung kaum Vorteile, da die unreife Software noch keine maßgeschneiderte Automatisierungsstrategie erlaubt. Die Folge sind Testings, die in einer kontinuierlichen Überarbeitungsschleife laufen.

Problematisch wird es auch, wenn der richtige Automatisierungszeitpunkt verpasst wird – denn je weiter das Projekt fortgeschritten ist, desto genauer müssen Unternehmen einschätzen, ob sich die Automatisierung in dieser Phase noch lohnt. Generell gilt: Ist der richtige Zeitpunkt bereits verpasst, muss später umso mehr Aufwand in manuelle Testings investiert werden.

Akzeptanz durch Transparenz

Die Implementierung eines Automatisierungsprogramms ist eine wichtige Investition für ein Unternehmen und bedarf einer genauen Dokumentation. Um den Mehrwert der Testautomatisierung wichtigen Stakeholdern deutlich zu machen, sollten die einzelnen Prozesse und ihre Ergebnisse möglichst transparent gehalten werden. Einfacher Zugang zu diesen Informationen zeigt die Vorteile der Testautomatisierung auf und bestätigt die Bedeutung der gemachten Investitionen. Zu den wichtigen Daten gehören unter anderem die gefundenen Fehler, die Bedeutung der Fehlerbehebung, die Anzahl der durchgeführten Testings sowie die Zeit für manuelle Tests, die durch die Automatisierung gespart wurde. Idealerweise sollten diese Reports grafisch aufbereitet allen Beteiligten über ein Dashboard zugänglich gemacht werden.

Fazit

Effektive und effiziente Testautomatisierung gestaltet die Qualitätssicherung einer App nicht nur einfacher, sie sorgt auch beim Markteintritt für besseres Kundenfeedback und höheren ROI. Die bestmöglichen Ergebnisse erhalten Unternehmen durch Kombination von manuellen Testings mit automatisierten Verfahren und einer detaillierten, vorausschauenden Planung. Dabei helfen sorgfältig gewählte Werkzeuge, nachhaltig konzipierte Prozesse und ein zeitlich optimaler Einsatz der Automatisierungsprogramme, den Mehrwert der Testautomatisierung zu steigern.

Autor

Jan Wolter

Jan Wolter leitet als Geschäftsführer das Europageschäft für Applause. Zuvor war er CEO und Mitgründer von testhub. Er verfügt über jahrelange Erfahrung in der Umsetzung und Skalierung innovativer Testing-Lösungen und die rasanten...
>> Weiterlesen
botMessage_toctoc_comments_9210