stepwise AG | Weltpoststrasse 5 | 3015 Bern | info@stepwise.ch

Die Rolle des Testmanagers im Wandel der Zeit

Seit vielen Jahren darf ich Unternehmen in der Rolle des Testmanagers unterstützen. Das Anforderungsprofil an diese Rolle mit der Verbreitung von agilen Ansätzen und technologischen Neuerungen im Laufe der Zeit verändert. In diesem Beitrag möchte ich aufzeigen, wie sich diese Transformation konkret auf meinen Arbeitsalltag ausgewirkt hat.

Die klassischen Aufgaben eines Testmanagers

In der klassischen Software-Entwicklung werden einzelne Disziplinen mehr oder weniger nacheinander ausgeführt. Der Business Analyst definiert eine fachliche Anforderung, der Softwareentwickler setzt die Anforderung technisch um, die Lösung wird anschliessend ausgiebig getestet und wenn die Qualität den Anforderungen genügt, wird die Lösung in Produktion genommen und von einem dedizierten Betriebsteam betreut. Für den Testmanager ist der Planungs- und Koordinationsaspekt besonders wichtig. In einem Testkonzept werden viele wichtige Faktoren festgehalten:

  • Wie werden Anforderungen abgenommen (Stichwort Review-Arten)?
  • Auf welchen Teststufen werden welche Testarten eingesetzt?
  • Wie werden Bugs gemeldet, triagiert und gelöst?
  • Welche Testdaten/Testuser sind für die Tests erforderlich?
  • Welche Testsysteme müssen aufgebaut werden?
  • Welche Tools kommen zum Einsatz?
  • Mit welchen Testmetriken wird der Testfortschritt gemessen und dokumentiert?
  • etc.

In einem sog. Testplan wird dann meist noch zusätzlich dokumentiert, wer, wann welchen Test auszuführen hat. Wichtige Tests werden danach auch häufig automatisiert, vorwiegend auf dem GUI. Der Testmanager koordiniert zugleich auch häufig ein Team von Testern und Testautomatisierern.

Welche Probleme können mit der klassischen Rolle des Testmanagers verbunden sein?

Diese klassische Vorgehensweise hat je nach Aufgabenstellung durchaus ihre Daseins-Berechtigung. In komplexen Projekten bin ich als Testmanager jedoch immer wieder mit folgenden Herausforderungen konfrontiert:

  • Die Anforderungen sind nicht für jede «Disziplin» klar formuliert. Sie werden teils unterschiedlich interpretiert oder bereits während der Realisierung angepasst.
  • Es vergeht oft sehr viel Zeit, bis testbare Software auf einem Testsystem bereitsteht. Termine müssen oft zu Lasten des Testings nach hinten verschoben werden, der Testplan muss angepasst werden und die Einführung verzögert sich.
  • Fehler werden oft erst sehr spät im Entwicklungsprozess erkannt und die Behebung ist dementsprechend aufwändiger und teurer.
  • Gegen Ende des Projekts verlaufen die Testphasen oft hektisch und sind mit vielen Überstunden verbunden.
  • Nicht-funktionale Tests (Last- und Performance, Security Tests) können oft nur noch oberflächlich vorgenommen werden, wenn überhaupt.

Welche Veränderung hat die Rolle des Testmanagers im agilen Umfeld erfahren?

Die Hauptproblematik sehe ich darin, dass die klassische Methode oft zu langsam ist, um auf sich rasch ändernde Marktanforderungen reagieren zu können. Dem Fachbereich reicht es nicht, wenn Erweiterungen bloss halbjährlich ausgeliefert werden können. Diese und andere Erkenntnisse brachten ein radikales Umdenken hin zu agilen Methoden wie beispielsweise Xtreme Programming (XP) oder SCRUM. Diesen Methoden gemein sind Grundsätze aus dem Agilen Manifesto. Es soll beispielsweise nicht unendlich viel Zeit mit Planung und Spezifikation vergeudet werden, sondern die Software-Lösung soll in kurzen iterativen Zyklen vorangetrieben werden. Der Lösungsumfang ist zwar kleiner, dafür aber lauffähig, getestet und jederzeit bereit für eine produktive Einführung.

Für mich als Testmanager hat dieser Paradigmenwechsel viele positive Aspekte. Die Zusammenarbeit mit den Stakeholdern hat sich intensiviert und die Disziplinen-Silos werden mehr und mehr abgeschafft. Die Testing-Arbeit ist mit häufigeren Releases gleichmässiger verteilt, es gibt keine Nacht-und-Nebel-Einführungen mehr. In einem SCRUM-Team existiert die explizite Rolle des Testmanagers in ihrer alten Form nicht mehr. Ich trage folglich als Mitglied im SCRUM-Team häufig den «Testing-Hut». Ich kann damit Erfahrungen aus meiner Disziplin einbringen und sehe mich als Coach oder Mentor und weniger als Einzelkämpfer in irgendeinem Testcenter. Bei meinem letzten Einsatz konnte ich zugleich noch die Rolle des Scrum Masters wahrnehmen, was sich als gut machbar erwiesen hat, aber nicht per se ratsam ist. Die Arbeit in einem solchen agilen Setting ist für mich viel befriedigender und mit mehr Spass verbunden. Ich bin bei allen Zeremonien mit dabei und kann bereits frühzeitig Einfluss nehmen zugunsten einer guten Qualität. Fehler kann ich früher erkennen und die Entwickler können diese zeitnah beheben. Der wertvolle Austausch mit andern «Embedded Testern» findet oft über sog. Communities of Practice (CoP) statt.

Wie kann sich ein Testmanager auf die Herausforderungen als «agiler Tester» vorbereiten?

Meine Aufgabe im Team ist viel technischer geworden, planerische Aspekte sind eher in den Hintergrund geraten resp. werden in regelmässigen, gemeinsamen Planning-Sessions erledigt.

Der Testautomatisierung kommt in der agilen Vorgehensweise ein viel höherer Stellenwert zu. Das Team erwartet von mir, dass ich beispielsweise Integrationstests auf Stufe von WebServices automatisieren und in eine Build Pipeline integrieren kann, damit der Entwickler ein schnelles Feedback eines neuen Builds erhält. Dieser «shift-left» ist nur mit einer Ausbildungsinitiative zu schaffen und die so gewonnenen neuen Erkenntnisse können dann gleich in die Praxis umgesetzt werden. Weiterbildungen in den nachfolgenden Themen haben mir die Transformation zum agilen Tester erleichtert, sind aber natürlich abhängig vom konkreten Umfeld:

  • Grundsätzliches Verständnis vom Testing im agilen Umfeld, z.B. ISTQB Agile Tester Zertifikat
  • Das Erlernen einer Programmiersprache soweit es für die Bedienung von Test-Automatisierungs-Frameworks notwendig ist (oft Java Script oder Java).
  • Kenntnisse von Webservice-Schnittstellen (REST, SOAP) und Tools/Frameworks zu deren Automatisierung (Postman, SoapUI)
  • Auseinandersetzung mit dem Dev/Sec/Ops Ansatz (SAFe DevOps Practionner Zertifikat)
  • Kenntnisse über gängige GUI Testautomatisierungs-Tools (Selenium, Cypress, TOSCA)
  • Kenntnisse über gängige Virtualisierungs-Lösungen (Docker)
  • Grobe Übersicht über Cloud Angebote (Azure, AWS, GCP)
  • Interesse an Monitoring Tools und Tools zur Log-Analyse (Dynatrace, Splunk)

Thomas Rieger
Testmanager stepwise AG

 

 

Mehr aktuelle Meldungen

Testmanagement