Die hohe Kunst des agilen Testens

Flexibilität – Das Agile Manifest als Herausforderung für den modernen Testmanager

Wie in den einzelnen Übungsabläufen im Yoga ist auch für die Mitglieder des Scrum-Teams Flexibilität eine wichtige Eigenschaft. Bedingt durch die geringe Größe des Teams müssen die Mitglieder flexibel verschiedene Rollen einnehmen können, um alle erforderlichen Aktivitäten im Sprint abdecken zu können. Neben operativen Themen ist es wichtig, sich ergänzend mit Fragen des Testmanagements auseinanderzusetzen, um gegebenenfalls steuernd mit einzugreifen.

Mangelnde Flexibilität führt dazu, dass auf Unvorhergesehenes nicht angemessen und zeitnah reagiert werden kann. Fällt beispielsweise der Test-Engineer im Team durch Krankheit aus, so muss ein anderes Teammitglied dessen Rolle übernehmen können, damit der Sprint nicht gefährdet wird. Wichtig ist, dass jeder im Team bereit ist, eine ihm nicht völlig vertraute Rolle zu übernehmen, um die Qualität im Sprint voranzubringen.

Gerade die Werte des „Agilen Manifests“ können für Testmanager, die schon große Projekte begleitet und verantwortet haben, eine Herausforderung an die eigene Arbeitsweise sein. Hier kommt es auf die Flexibilität der Aufgaben an, die dieser in einem Scrum-Team übernehmen kann. So ist es dort selbstverständlich, dass sich der Test-Engineer nicht nur mit planerischen und methodischen Fragen um das Thema Test beschäftigt, sondern auch selbst die Testfälle erstellen und anschließend durchführen kann. Daher ist es wichtig, dass ein Testspezialist im agilen Umfeld sowohl die Aspekte aus dem operativen Testing als auch aus dem Testmanagement beherrscht und diese flexibel, den aktuellen Umständen im Sprint entsprechend einsetzen kann.

Stärke – Konsequente Einbindung des Testings von Beginn an

Die zweite, zentrale Eigenschaft eines Test-Engineers in Zeiten der Agilität ist Stärke im Sinne von Durchsetzungsvermögen. In der Yogapraxis ist dieses Durchsetzungsvermögen vor allem gegenüber dem eigenen Ego wichtig. Dieses verleitet einen häufig dazu, die Yogastunde sehr niedrig zu priorisieren und lieber andere Dinge zu tun. Danach wundert man sich, warum man im Yoga nicht vorankommt.

In Scrum-Projekten verleiten die kurzen Entwicklungszyklen gerne dazu, Testanforderungen niedrig priorisiert hinten anzustellen. Hier ist der Test-Engineer gefordert, das Thema Testing zu platzieren und darauf zu achten, dass die erforderlichen Aktivitäten bei den Planungen für die Sprints mit den entsprechenden Aufwänden berücksichtigt werden. Diese Fähigkeit hat direkten Einfluss auf das Ergebnis des Sprints. Fehlt dem Test-Engineer die notwendige Stärke, so leidet darunter die Qualität der Software und das Team wundert sich, warum das Ergebnis vom Product Owner zurückgewiesen wird.

Balance – Testautomatisierung vs. manuelle Tests

Gerade der Testautomatisierung wird ein hoher Stellenwert innerhalb der agilen Softwareentwicklung zugemessen. Hier kommt der Aspekt der Balance ins Spiel, denn es ist weder effizient noch realistisch alle erforderlichen Tests zu automatisieren. Der Test-Engineer muss innerhalb des Sprints „ausbalancieren“, welche Tests sinnvoll zu automatisieren sind, beziehungsweise wo das Kosten-Nutzen-Verhältnis für eine Automatisierung nicht passt. Wenn es einem Yogi an der notwendigen Balance fehlt, wird er unweigerlich bei bestimmten Gleichgewichtsübungen, wie dem Baum, umfallen. Fehlt es dem Test-Engineer an der notwendigen Balance, geht übermäßig Zeit für das Erstellen oder die Wartung von Automatisierungsskripten verloren, was sich negativ auf die Testabdeckung auswirkt. Bei einem Übermaß an automatisierten Tests passiert es häufig, dass wichtige Tests gestrichen werden, da diese nicht mehr im gegebenen Zeitrahmen automatisiert werden können. Gerade bei komplexen fachlichen Abläufen empfiehlt es sich oftmals, statt in eine Automatisierung besser in manuelle Tests zu investieren.

Die bewusste Entscheidung über die Balance zwischen automatisierten und manuellen Testes ist ein wesentlicher Faktor in agilen Projekten, da es ohne Testautomatisierung nur unter sehr hohen Aufwänden möglich ist, Regressionstests innerhalb der Sprints durchzuführen und so die Stabilität der Software zu gewährleisten.

Die Gefahren bei der Unausgewogenheit von Flexibilität, Stärke und Balance
  • Balance und Flexibilität ohne Stärke bedeutet, dass Testaspekte bei den Planungen und innerhalb der Sprints vermeintlich wichtigeren Entwicklungsaspekten zum Opfer fallen.
  • Flexibilität und Stärke ohne Balance bedeutet, dass zu viel oder auch zu wenig Testautomatisierung umgesetzt werden und die Testabdeckung und damit letztendlich die Qualität leidet.
  • Stärke und Balance ohne Flexibilität bedeutet, dass die Akzeptanz des Testings im Scrum-Team leidet, weil Themen adressiert aber danach nicht vom Testspezialisten umgesetzt werden.

All dies zeigt, welch hohe Erwartungen an die Mitarbeiter der Testabteilung in agilen Projekten gestellt werden. Der ideale Test-Engineer, der über das notwendige fachliche Wissen, Teamfähigkeit und alle drei angesprochenen Eigenschaften verfügt, ist selten. Fehlt dazu die Möglichkeit, sich in diesen Aspekten weiterzuentwickeln, werden die wenigen gut ausgebildeten Test-Engineers bald zu den „bedrohten Arten“ zählen. Es empfiehlt sich, stets zwei Personen für das Testing im Team einzuplanen, um gegenseitig von den Fähigkeiten des Anderen zu profitieren und zu lernen. Weitere Möglichkeiten sind ein regelmäßiger Austausch über Projektgrenzen hinweg, qualifizierte Aus-/Weiterbildungen auch im Bereich der Softskills und Zertifizierungen sowohl im Testing als auch im agilen Vorgehen.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.