DevOps ist derzeit in aller Munde. Grundsätzlich steht DevOps für Development & Operation. Hat dies noch etwas mit meiner bisherigen Rolle im Testing zu tun? Wir wollen Software in hoher Qualität liefern. Ich möchte aufzeigen, dass sich die Rolle des Testers verändert aber auch bestehen bleibt.
klassisches Testing
In der klassischen Methode (Beispiel V-Modell) werden die Testaktivitäten in einer dedizierte Testphase in den meisten Fällen von einem oder mehreren Testteams (Testmanager, Testengineer, Tester) übernommen. In diesen Testphasen werden die fachlichen Systemprozesse, Business Szenarien, Last– und Performanceszenarien im Zusammenwirken mit allen Umsystemen getestet. Der Testfocus des Testteams wird in diesem Modell eher auf End to End gesetzt. Die Tester müssen eher fachliche Skills haben. Die Testbasis stellt die Gesamtheit der Informationen dar. Die erforderlichen Systemanforderungen und das Systemverhalten definiert. In der Praxis wird leider der Focus (Erfahrung Testmanagement von über 15 Jahren) der Testbasis auf Business Szenarien und Fachspezifikationen gesetzt. Das Testteam prüft demnach erst am Schluss des Entwicklungsprozesses die Anforderungen an die zu liefernde Software. Dies hat Auswirkungen bei Fehlverhalten (länger Bugfixing Zeiten, Testphasenverlängerung). Die Regressiontestfälle werden wenn möglich automatisiert, leider in den meisten Fällen auf der UI – Ebene automatisiert. Was gemäss Testautomatisierungpyramide nur die Spitze ist. Was bei dieser Methode auffällt ist, dass die verschiedenen Teams nicht eng zusammen arbeiten . Die zu bearbeiteten Aufgaben werden einfach weitergeleitet oder sogar vergessen.
Shift Left-Testing
Wir haben im agilen Team jeweils vom Entwickler, über den Tester mit Entwicklung- Skills , bis zum Produktmanager und Business-Analysten eingesetzt. Das Team nimmt zusammen an Meetings teil, überprüft gemeinsam Code, testet zusammen und entscheidet, wann die Funktion fertig ist. Der Focus der Testbasis ist auf der Prozess- und technische Spezifikationen. Es ist ein Prozess, der eine bessere teamübergreifende Zusammenarbeit ermöglicht, indem jeder in demselben Team, von Testern bis hin zu Produkt-Managern unterstützt wird. Somit gibt es z.B. keine dedizierte Testphase mehr, sondern das Testing wird kontinuierlich durchgeführt, im Idealfall bei jedem Build. Dieses kontinuierliche Testing bedingt natürlich auch einen hohen Grad an Automatisierung, insbesondere Testautomatisierung. Ein Vorteil dieser Methode ist, dass die Aufgaben schneller bearbeitet und die Resultate schneller bereit sind. Das Team arbeitet enger zusammen und reagiert auf Fehlverhalten der Software frühzeitig.
Fazit
Die Testrolle verändert sich. Es wird künftig (noch) mehr geistige Flexibilität brauchen. Tester müssen sich technische Skills aneignen und die Softs Skills werden weiter an Bedeutung gewinnen. Reine Routine-Arbeiten, den gleichen Testfall x – mal durchführen, wird hingegen künftig kaum noch vorkommen.