XING Karriere Qualitätssicherung

Testautomatisierung: Der Boost für erfolgreiche Softwareentwicklung

Das aktuelle Trainee-Programm der profi.com AG widmet sich auch wieder dem Thema Testautomatisierung.

In Anbetracht dessen möchte Schulungstrainer Frederick Wong sein persönliches Lieblings-Fachthema den Teilnehmern schmackhaft machen. Er ist gespannt, ob er bei einigen die gleiche Begeisterung für diese Materie wecken kann.

Jeder hat schon einmal von Automatisierung gehört - der Einsatz von Maschinen, um Arbeit von Menschen deutlich schneller und besser zu machen. Ein gesellschaftlich brisantes Thema, denn die Vor- und Nachteile werden oft kontrovers diskutiert. Können menschliche Tätigkeiten durch Maschinen ersetzt werden? Wenn ja, wie sehr oder sogar vollständig? Und lohnt sich das wirtschaftlich überhaupt? Schließlich muss die Maschine erst einmal gebaut werden und anschließend auch angelernt und gewartet werden.

Auch im Software Testing kommt Automatisierung schon seit Jahrzehnten zum Einsatz und ist heutzutage – vor allem im agilen Umfeld – beinahe schon ein Pflichtprogramm, um hohe Software-Qualität in kurzen Entwicklungszyklen zu erreichen. Aber kommen wir zur Ur-Frage zurück.

Was ist Testautomatisierung?
Jedes Mal, wenn eine neue Softwareversion oder ein Patch entwickelt worden ist, sollte das Produkt vollständig getestet werden, bevor es auf den Markt veröffentlicht wird. Üblicherweise kommt hier der erfahrene Softwaretester ins Spiel. Mit einem Testfalldokument, in welchem das Testziel und die Testschritte beschrieben sind, prüft er die Software auf Fehler. Dies kann einige wenige Stunden oder auch Tage bis hin zu mehreren Wochen dauern, abhängig davon, wieviel getestet werden muss und wie viel Kapazität (Zeit, Tester, Werkzeuge etc.) verfügbar ist.

Um Zeit einzusparen und die Effizienz zu verbessern, können die manuell ausgeführten Testfälle durch Skripte automatisiert und von Testautomatisierungstools ausgeführt werden. Es gibt verschiedene Testautomatisierungstools auf dem Markt. Der Gebrauch dieser Tools erfordert Skills in der Programmierung beziehungsweise im Skripting und ein generelles Verständnis für ein funktionierendes Testautomation Framework.

Was sind die Vorteile der Automatisierung?
Einige der Vorteile sind beispielsweise:

  • Automatisierungstools führen Tests schneller aus als manuelle Tester
  • Automatisierte Tests können auch unbeaufsichtigt, z.B. über Nacht, laufen
  • Weniger anfällig für Fehler in der Ausführung (versus menschliche Fehler im Testing)
  • Kann mittel- bis langfristig enorme Kosten einsparen
  • Generiert detaillierte Testberichte für die Fehleranalyse

Welche Herausforderungen gilt es zu meistern?
Zu den Herausforderungen gehören unter anderem folgende Aspekte:

  • Testskripte müssen entwickelt und gewartet werden
  • Limitationen der Testautomatisierungstools müssen ggf. mit Workarounds erweitert werden
  • Nichtfunktionale Eigenschaften wie Benutzerfreundlichkeit können mit Automatisierungstools eingeschränkt oder gar nicht getestet werden
  •  Kommerzielle Testautomatisierungstools können im Einkauf teuer sein, müssen aber nicht

Wann sollte Testautomatisierung eingesetzt werden?
Wie beim Einsatz jedes Hilfsmittels sollten zunächst die Vorteile und die Herausforderungen der Testautomatisierung im Projekt abgewogen werden. Generell ist die Testautomatisierung bei jedem Softwareentwicklungsprojekt empfehlenswert – schließlich wird Testautomation in der Industrie seit Jahrzehnten eingesetzt und hat sich bereits zur Norm im Softwareentwicklungsprozess etabliert.

Unsere Trainees können sich Anfang Mai auf fachlich tiefgreifende Erläuterungen von Freddy freuen! Also dann… Booste mit uns die Softwareentwicklung!

Autor

Frederick Wong IT-Consultant
Frederick Wong