Einführung von Testautomatisierung in einem Unternehmen erfolgt bestenfalls schrittweise. Dies dient dazu, die Techniken und Tools an die Bedürfnisse im Unternehmen anzupassen. Aber auch dazu, die Prozesse anzupassen und insbesondere die Erwartungen im Unternehmen an die Möglichkeiten der Testautomatisierung anzugleichen. In der Praxis hat sich für uns eine Einführung in 3 grundlegende Phasen bewährt, die diese schrittweise Einführung repräsentieren: Pilotprojekt, Anwendung und Roll-Out.
Pilotprojekt Testautomatisierung – Proof of Concept
Die Phase des Pilotprojekts umfasst mehrere Aktivitäten: die Vorbereitung, die Durchführung und die Auswertung des Piloten.
Vorbereitung des Pilotprojekts
Während der Vorbereitung erfolgt die Analyse des IST-Standes. Dazu werden die Prozessbeschreibungen, verwendeten Werkzeuge und bestehenden Abhängigkeiten über die Analyse der zugehörigen Dokumentation erfasst. Weiterhin werden typischerweise auch Interviews mit allen Beteiligten geführt, um die gelebten Prozesse und den Abgleich zur Dokumentation zu erfassen. Der Unterschied ist manchmal gravierend. Während dieser Analyse wird vorrangig darauf geachtet, Verbesserungspotenzial zu identifizieren, das sich auf die Reduktion bislang manuell ausgeführter Tätigkeiten ergibt. Entsprechende Tätigkeiten zur Hebung dieses Potenzials (z.B. Werkzeugeinsatz, Notwendigkeit zur Modellierung, Testüberdeckung oder Rückverfolgbarkeit) werden ebenso analysiert. Hieraus ergibt sich ein Katalog an Kriterien, die eine Testautomatisierungslösung bestmöglich erfüllen sollte.
Der nächste Schritt ist die Marktanalyse der verfügbaren Konzepte, der zugehörigen Werkzeuge, sowie der entsprechenden Abhängigkeiten auf Basis des zuvor identifizierten Kriterienkatalogs. Dabei werden alle verfügbaren Lösungen analysiert und bewertet und im Anschluss daran verglichen. Je nach zeitlichen und finanziellen Möglichkeiten wird die Pilotphase im Anschluss mit den besten x Lösungen durchgeführt. Da es höchstwahrscheinlich einige Angebote gibt, die offensichtlich nicht zu den Bedürfnissen des Unternehmens passen, ist die Durchführung mit allen Lösungen unsinnig. Ebenso rate ich davon ab, den Piloten nur mit einem (dem bestplatzierten) Werkzeug durchzuführen, da hier der Blick auf die Vor- und Nachteile doch sehr eingeengt wird. Ich empfehle die Durchführung des Piloten mit den 3 bestplatzierten Werkzeugen.
Durchführung des Testautomatisierungs-Pilotprojekts
Die Durchführung des Piloten erfolgt nun mit dem Ziel, eine kleinere Aufgabe zu lösen, die nur wenige Personentage in Anspruch nimmt. Die Durchführung selbst kann unter Einbeziehung der Fachexperten geschehen. Federführend sollten in jedem Fall die Experten für die Testautomatisierung sein. Der Weg zu der Lösung, die dabei erfahrenen Vor- und Nachteile, sowie die Lösung selbst werden für jedes eingesetzte Werkzeug protokolliert.
Auswertung der Testautomatisierungs-Lösung
Im Anschluss an die Durchführung werden die gemachten Erfahrungen ausgewertet und im Rahmen eines Workshops dem gesamten Teilnehmerkreis präsentiert. Hierbei werden die Unterschiede zwischen den eingesetzten Werkzeugen neu bewertet. Insbesondere die praktischen Erfahrungen beim Umgang mit den Werkzeugen können die zuvor getroffenen Bewertungen revidieren. Im Rahmen des Workshops sollen zwei fundamentale Fragen geklärt werden:
- Soll nach Abschluss dieses Piloten der (lokal begrenzte) Einsatz der Testautomatisierung in echten Projekten empfohlen werden?
- Mit welchem Werkzeug soll dieser Einsatz durchgeführt werden?
Wenn die erste Frage positiv beantwortet wurde und auch für die zweite Frage eine Antwort gefunden wurde, dann wurde der letzte Meilenstein dieser Phase gemeistert und die Anwendungsphase beginnt.
Anwendung
Die Phase der Anwendung umfasst im Wesentlichen zwei Schritte: Die Auswahl der Abteilung / Gruppe, in der die kommerzielle Anwendung der Testautomatisierung stattfinden soll, sowie die Anwendung selbst.
Bei der Auswahl der Abteilung ist einer der wesentlichen Punkte die Wiederverwendung der Erfahrungen aus dem Pilotprojekt und die notwendigen Anpassungen, um einen möglichst reibungslosen Übergang vom Piloten zur Anwendung zu gewährleisten. Ich empfehle jedem Entscheider, auch hier auf die Auswahl der fachlich geeigneten Personen zu achten, da sich die Einführung noch immer in einer sensiblen Phase befindet. Weiterhin muss im Rahmen der Anpassung das zugehörige Werkzeug ausgewählt und die Prozesse angepasst werden. Für die Bewertung des Erfolgs ist es auch empfehlenswert, die relevanten Kennzahlen sorgfältig auszuwählen.
Im Anschluss an die Vorbereitung findet die Anwendungsphase statt. Gerade bei der ersten Anwendung ist es empfehlenswert, dass die Anwender im ständigen Austausch mit Experten stehen, um ihre Erfahrungen, Hindernisse und Fortschritte mit diesen diskutieren und reflektieren zu können. Dies geschieht anfangs mit Schulungen und Trainings über anwendungsbegleitendes Coaching mit dem Ziel des eigenständigen Arbeitens in der Abteilung.
Mit Hilfe der anfangs festgelegten Kennzahlen kann die gewählte Technologie der Testautomatisierung nach der Anwendungsphase mit Hinblick auf kommerzielle Anwendungstauglichkeit final bewertet werden. Diese Erfahrungen sollten genug Informationen für die Entscheidung liefern, ob die Technologie unternehmensweit ausgerollt wird.
Roll-Out der Testautomatisierung
In der Phase des Roll-Out wird die Anwendung der Testautomatisierung formalisiert. Der Entwicklungsprozess wird an die Testautomatisierung angepasst und ein entsprechendes Schulungsprogramm wird aufgesetzt. In den Abteilungen werden Verantwortliche benannt, die die Prozessverbesserung überwachen und steuern. Insbesondere bei der erstmaligen Anwendung sollte anwendungsbegleitendes Coaching stattfinden. Das langfristige Ziel des Roll-Out ist es, dass die Mitarbeiter ohne externe Unterstützung den Prozess verinnerlichen und bei Bedarf an die sich ändernde Geschäftswelt anpassen.
Testautomatisierung in agilen Projekten
In agilen Projekten finden diese Phasen verkürzt statt. Meist wird im laufenden Projekt ein Testautomatisierungs-Werkzeug an einem Teilbereich der Applikation erprobt. Das Ergebnis wird z.B. in einer Retrospektive bewertet und bei Erfolg sukzessive auf das Projekt ausgerollt. Hier ist der Einsatz deutlich dynamischer, Tools werden gelegentlich gewechselt und es herrscht oft auch eine Tool-Landschaft, statt eines einzelnen Testwerkzeugs.
Häufig gestellte Fragen
Warum wird Testautomatisierung besser schrittweise eingeführt statt sofort unternehmensweit?
Eine schrittweise Einführung gibt Zeit, Techniken und Werkzeuge an die Bedürfnisse des Unternehmens anzupassen. Ebenso wichtig ist die Anpassung der Prozesse und der Abgleich der Erwartungen: Viele Beteiligte überschätzen, was Testautomatisierung leisten kann. Bewährt hat sich ein Vorgehen in drei Phasen: Pilotprojekt als Proof of Concept, kommerzielle Anwendung in einer Abteilung und anschließender Roll-Out.
Wie ermittelt man, welche Anforderungen eine Testautomatisierungslösung erfüllen muss?
Am Anfang steht die Analyse des IST-Standes: Prozessbeschreibungen, eingesetzte Werkzeuge und bestehende Abhängigkeiten werden über die vorhandene Dokumentation erfasst, ergänzt um Interviews mit den Beteiligten. Der Blick richtet sich vor allem auf Potenzial zur Reduktion manueller Tätigkeiten sowie auf Themen wie Modellierung, Testüberdeckung und Rückverfolgbarkeit. Daraus entsteht ein Kriterienkatalog für die Werkzeugbewertung.
Reicht die vorhandene Prozessdokumentation als Grundlage für die Analyse aus?
Nein. Dokumentierte und gelebte Prozesse fallen manchmal gravierend auseinander. Deshalb gehören Interviews mit allen Beteiligten zur Vorbereitung dazu, um den tatsächlichen Ablauf zu erfassen und mit der Dokumentation abzugleichen. Erst dieses Bild zeigt, wo manuelle Tätigkeiten wirklich anfallen und welches Verbesserungspotenzial die Testautomatisierung heben kann.
Genügt es, das Pilotprojekt mit dem bestbewerteten Werkzeug durchzuführen?
Davon ist abzuraten, weil der Blick auf Vor- und Nachteile dann stark eingeengt wird. Empfehlenswert ist der Pilot mit den drei bestplatzierten Werkzeugen aus der Marktanalyse. Alle verfügbaren Lösungen zu erproben, ist ebenfalls unsinnig: Ein Teil der Angebote passt erkennbar nicht zu den Bedürfnissen des Unternehmens und scheidet schon in der Bewertung aus.
Wie groß sollte die Aufgabe im Pilotprojekt sein und wer führt sie durch?
Die Aufgabe sollte klein bleiben und nur wenige Personentage in Anspruch nehmen. Fachexperten können einbezogen werden, federführend sind aber in jedem Fall die Experten für Testautomatisierung. Für jedes eingesetzte Werkzeug werden der Lösungsweg, die erfahrenen Vor- und Nachteile sowie die Lösung selbst protokolliert, damit die Auswertung auf vergleichbaren Erfahrungen aufsetzt.
Woran misst man, ob sich eine Testautomatisierungslösung für den unternehmensweiten Einsatz eignet?
An Kennzahlen, die vor der Anwendungsphase festgelegt werden. Sie sollten sorgfältig ausgewählt werden, denn auf ihrer Basis wird die Technologie nach der Anwendung in einer Abteilung final auf kommerzielle Anwendungstauglichkeit bewertet. Erst diese Erfahrungen liefern die Grundlage für die Entscheidung über den Roll-Out im gesamten Unternehmen.
Was gehört zum Roll-Out außer der Verteilung des Werkzeugs?
Der Roll-Out formalisiert die Anwendung: Der Entwicklungsprozess wird an die Testautomatisierung angepasst und ein Schulungsprogramm aufgesetzt. In den Abteilungen werden Verantwortliche benannt, die die Prozessverbesserung überwachen und steuern. Bei der erstmaligen Anwendung sollte anwendungsbegleitendes Coaching stattfinden. Das langfristige Ziel ist, dass Mitarbeiter den Prozess ohne externe Unterstützung tragen und bei Bedarf anpassen.
Gilt das phasenweise Vorgehen auch für agile Projekte?
In verkürzter Form. Meist wird ein Werkzeug im laufenden Projekt an einem Teilbereich der Applikation erprobt, das Ergebnis etwa in einer Retrospektive bewertet und bei Erfolg sukzessive auf das Projekt ausgerollt. Der Einsatz ist dynamischer: Werkzeuge werden gelegentlich gewechselt, und häufig entsteht eine Tool-Landschaft statt eines einzelnen Testwerkzeugs.


