Acht Schritte zur erfolgreichen Automatisierung von Softwaretest-Prozessen


29.06.2010

Softwaretesting hat sich in den vergangenen Jahren von einem notwendigen Übel zu einem wichtigen Mittel der Wertschöpfung entwickelt. Softwaretests beschleunigen und verbessern Prozesse. Daraus ergeben sich starke Geschäftsvorteile. Plattformen lassen sich schneller integrieren, Entwicklungs- und Markteinführungszeiten beschleunigen sowie die Nutzerfreundlichkeit von Kundenapplikationen erhöhen. Unternehmen, die Softwaretests automatisieren, sparen dabei Zeit und erhöhen die Ergebnisqualität. Allerdings ist Automation nicht gleich Automation. Bei der erfolgreichen Testautomatisierung haben Unternehmen einiges zu beachten.

Ziel der Automatisierung ist es, Softwaretests schneller, zuverlässiger und effizient durchzuführen. Da jedoch die Einführungskosten für Automations-Tools und der Implementierungsaufwand hoch sind, lohnen sich automatisierte Tests nur dann, wenn langfristige Kosteneinsparungen die Erstausgaben übersteigen. Außerdem gibt es eine Vielzahl an Methoden und Funktionen von Automations-Werkzeugen, die für jedes Projekt individuell angepasst werden müssen. Unternehmen sollten daher bei der Planung wichtige Schritte beachten, um den Return on Investment (RoI) zu erhöhen und die Software-Qualität zu verbessern.

Die folgenden acht Schritte machen die Automatisierung erfolgreich:

1. Verfügbarkeit geschäftskritischer Prozesse gewährleisten

Die geschäftskritischen Funktionalitäten der Anwendung müssen auf jeden Fall fehlerfrei zur Verfügung stehen. Die Möglichkeit, diese auch nach Notwendigkeit unmittelbar vor der Einführung zu testen ist ein wesentlicher Vorteil, der ausschließlich durch Automation zu erreichen ist. Anschließend kann das Testteam die ausgewählten Prozesse und Aktivitäten technisch bewerten. Dabei kommt es darauf an zu verstehen, welche Faktoren die Automatisierung erschweren. Denn nur so lassen sich Kosten und Nutzen gegenüberstellen. Für die Automatisierung geeignet ist beispielsweise Code, der große Datenmengen verarbeitet, wiederkehrende Prozesse ausführt oder in verschiedenen Applikationen verwendet werden kann. Zudem sollten Experten abwägen, wie einfach sich die Methode technisch umsetzen lässt. Dabei sollten sie auch Kriterien beachten wie die Testfrequenz, Wiederverwertbarkeit von Testkomponenten, benötigte Ressourcen, Komplexität der Tests, Testzeit und die Möglichkeit, Tests in multiplen Browsern und Umgebungen umzusetzen.

2. Test-Werkzeuge selektieren

Da sich automatisierte Tests nur lohnen, wenn sie über mehrere Jahre hinweg genutzt werden, sollten Unternehmen die Test-Werkzeuge gewissenhaft wählen. Um eine nachhaltige Nutzbarkeit zu gewährleisten, sollten diese multiple Test-Typen, Testframeworks und Plattformen unterstützen sowie Objekte erkennen, die in den verschiedensten Programmiersprachen erstellt wurden. Zudem sollten die Tools einen minimalen manuellen Aufwand erfordern und sich bei Applikationsfehlern automatisch wiederherstellen, um Testunterbrechungen zu vermeiden. Die Test-Werkzeuge sollten auch eine starke Skriptsprache enthalten, damit sich Skripts einfach entwickeln und über verschiedene Plattformen und Testarten hinweg wiederverwenden lassen.

3. Testprozess verfeinern

Unternehmen sollten die Risiken aktueller Methoden abwägen und prüfen, wie die Tests kostengünstiger, schneller und effizienter durchführbar sind. Zudem sollte das Management mit den Testing-Mitarbeitern eng zusammenarbeiten. Das Management sollte das Team nicht nur finanziell unterstützen, sondern auch Trainings fördern und den Weg für veränderte Arbeitsprozesse frei machen. Die Prozessverbesserungen sollten je nach Geschäftszielen priorisiert werden. Testprozesse fortlaufend zu messen hilft, die Kontrolle zu behalten und einen höheren RoI zu erreichen.

4. Framework wählen

Ebenso wie die Tools sollten Unternehmen das Framework sorgsam selektieren. Es sollte langfristig wiederverwendbar sein und effizient laufen. Parameter sollten für Testskripts und Testdaten einstellbar sein. Es gibt Daten- und Keyword-basierte Frameworks, die jeweils Vor- und Nachteile mit sich bringen. Ideal ist die Kombination beider Ansätze in einem hybriden Framework, das die jeweils besten Elemente nutzt.

5. Den manuellen Aufwand nicht unterschätzen

Sobald das Wort "Automation" fällt, wird häufig der manuelle Aufwand unterschätzt, der bei der Einrichtung von automatisierten Testprozessen nötig ist. Mitarbeiter müssen die Maschinen einrichten, die Testskripts erstellen, die Testmethoden auswählen, die Ergebnisse auswerten und die Fehler beheben. Die Einberechnung der Kosten, die daraus entstehen, sind wichtig für die Budgetierung, Planung und die akkurate RoI-Kalkulation.

6. Skripts beobachten

Das Testteam sollte für spezielle Situationen standardisierte Abläufe einführen. Das ist beispielsweise bei der Wiederherstellung eines Skripts wichtig, nach einem Fehler der getesteten Applikation oder bei unerwarteten Vorkommnissen wie dem Erscheinen eines Pop-Up-Fensters. Auch bei der Fehlerprotokollierung erleichtern Standardabläufe die Arbeit bei der Analyse und Fehlerbehebung. Standards bei der Dokumentierung erleichtern die Kommunikation im Team – so können Kollegen die Skripts anderer auf einen Blick verstehen.

7. Festlegen, wer die Tests durchführt

Die erforderlichen manuellen Schritte zur Test-Automation sollte von qualifizierten und erfahrenen Mitarbeitern durchgeführt werden, um unerwartete Ausfälle, Verzögerungen und überhöhte Kosten zu vermeiden.

8. Erfolg messen

Tools wie die Automated Execution Efficiency Ratio (AEER) evaluieren, wie effektiv die Tests laufen. Dazu analysieren sie den Aufwand der Mitarbeiter sowie den Gesamtaufwand, der für die Durchführung der automatisierten Tests nötig wird. Es gibt allerdings noch weitere Parameter, die es zu beachten gilt: Unternehmen sollten sicherstellen, dass sie durch die automatisierten Prozesse einen höheren Prozentsatz an Fehlern finden, die Testzeit reduzieren, die Markteinführungszeit verkürzen, die Kundenzufriedenheit erhöhen und die Produktivität durch eine verbesserte Applikationsqualität erhöhen.

Die Automatisierung von Softwaretests ist nicht so einfach oder schnell wie sie klingen mag. Tools können teuer sein und ihre Einrichtung und Nutzung sowie die anschließende Analyse erfordern einen hohen manuellen Einsatz. Mit den richtigen Werkzeugen wie Open Source-Software und den passenden Prozessen und Frameworks lässt sich das erreichen, wofür es Automatisierung gibt: Kosteneinsparungen und eine gesteigerte Qualität.


Unsere Experten


alle Experten

Premium Lösungen

Marktübersicht

Premium Services

Dienstleisterübersicht