Automatisieren Sie so viel wie möglich – aber keinen schlechten Prozess

22.1.2020 / von Esko Hannula

Es ist praktisch unmöglich, einen schnellen Software-Release-Zyklus ohne automatisiertes Testen zu betreiben. Manuelle Tests sind zu langsam, um mit dem Tempo agiler Entwicklungsteams Schritt zu halten.  


 Später, während des Systemtests und der Validierung von Integrationen mit anderen Systemen, werden sowohl der Zeitaufwand als auch die Gesamtauslastung untragbar.

Testautomatisierung steht in den Ruf, teuer in der Durchführung und noch teurer in der Wartung zu sein. Daher sollte die Automatisierung zunächst auf Tests angewendet werden, die häufig wiederholt und selten geändert werden. Wenn Testautomatisierung gut funktioniert, kann sie einiges an menschlichem Aufwand sparen. Größere Gewinne ergeben sich jedoch aus der Zeitersparnis. Im besten Fall kann die Testautomatisierung Ihre Tests um bis zu 90% beschleunigen, einfach indem sie Wartezeiten im Prozess eliminiert.

Betrachten wir ein einfaches Beispiel. Ein Software-Team veröffentlicht eine neue Systemversion zum Testen. Es ist Donnerstag. Die Tester sind noch damit beschäftigt, einige Korrekturen aus dem vorherigen Testrelease zu überprüfen, aber sie werden bereit sein, am Montag zu beginnen. Du hast mehr als drei Tage verloren. Die Tester werden die Testrunde in drei Tagen, d.h. nächsten Mittwoch, abschließen. Dann kann das Entwicklungsteam mit der Korrektur der in den Tests gefundenen Fehler beginnen. Einige der Korrekturen sind einfach. Einige werden so viel Arbeit erfordern, dass sie erst in drei Wochen getestet werden. Nach diesen drei Wochen wird der Testzyklus wieder von vorne beginnen. Jetzt werden die Tester neue Funktionen sowie Korrekturen von Fehlern testen, die sie vor drei Wochen gefunden haben. Und so weiter.

Ein Testfall, der auf diese Art mehr als sechs Kalendertage in Anspruch nimmt, kann durch automatisierte Tests in wenigen Stunden abgeschlossen werden. Die Korrekturen im Code können jederzeit durch erneutes Ausführen der Tests überprüft werden. Die Zeitersparnis im Feedbackzyklus ist enorm.

Aber Testautomatisierung ist kein Kinderspiel. Sie können zwar die Anzahl der Tester reduzieren, aber Sie benötigen immer noch Mitarbeiter, die Tests manuell ausführen sowie automatisierte Tests entwerfen und pflegen. Ein kreativer Mensch ist einer Maschine immer noch überlegen, wenn es darum geht, neue Funktionen zu testen und herauszufinden, was schief gehen könnte. Die Maschine ist überlegen, wenn es darum geht, die gleiche Routine wiederholt durchzuführen. In einer Welt der schnellen Zyklen und mehrfachen Integrationen "wiederholt" sich immer mehr immer öfter.

Testautomatisierung wird in der Regel als die Automatisierung der Durchführung von Tests wahrgenommen. Das ist ein etwas enger Blick. Im Großen und Ganzen bedeutet Testautomatisierung:

  1. Automatisierte Durchführung der Tests
  2. Automatisierte Aufbereitung von Testdaten
  3. Automatisierte Erstellung von Testfällen
  4. Automatisierung der Einrichtung und Konfiguration von Testtools und -umgebungen
  5. Automatisierung der Installation und Konfiguration des zu testenden Systems
  6. Automatisierung der Berichterstattung über die Testergebnisse
  7. Automatisierte Analyse der Testergebnisse und
  8. Automatisierung des Reportings von Teststatistiken und Qualitätskennzahlen

Die Testautomatisierung wird bei richtiger Anwendung enorme Vorteile bringen. Aber auch hier beginnt alles mit dem richtigen Verständnis der Qualitätsrisiken, der Abhängigkeiten des Softwareprozesses. Die Automatisierung eines schlechten Prozesses führt immer noch zu einer automatischen Mittelmäßigkeit.

 


Den Rest der Blog-Serie finden Sie hier:

  1. Hören Sie auf, Ihre Systeme zu kontrollieren – und beginnen Sie, diese zu steuern
  2. Investieren Sie in Produkte, nicht Projekte – und machen Sie Ihre Organisation effektiv
  3. Setzen Sie auf DevOps – und lassen Sie sich nicht entmutigen
  4. Testen Sie – immer dann, wenn es Ihnen am meisten bringt
  5. Automatisieren Sie so viel wie möglich – aber keinen schlechten Prozess
  6. Messen Sie - aber mit Köpfchen



 

Esko Hannula

Geschrieben von Esko Hannula