"Für die Ausbildung der Tester wird noch wenig Geld ausgegeben", klagt Michael Fischlein, Technical Manager bei Sogeti Deutschland. Hierzulande gehört er zu den wenigen zertifizierten Trainern, die agile Tester ausbilden und prüfen. Oft wird er mit Fragen konfrontiert, die den Sinn von Tests im agilen Umfeld in Frage stellen: Was macht ein Tester am Anfang eines Sprints, es gibt doch nichts zum Testen? Wenn die Entwickler bis zum Ende des Sprints entwickeln, wann soll denn getestet werden?
- Kleines Scrum-Glossar
Was meint eigentlich Scrum, Product Owner oder Backlog? Wir stellen Ihnen die wichtigsten Begriffe und ihre Bedeutung vor. - Scrum
Der Begriff stammt aus dem Rugby und bedeutet wörtliche "Gedränge". In der Softwareentwicklung bezeichnet er ein Vorgehensmodell der agilen Softwareentwicklung, das 1995 von Ken Schwaber, Jeff Sutherland und Mike Beedle veröffentlicht wurde. - Das Scrum-Team
Aufgabe des Teams ist es, die Anforderungen der Fachabteilung umzusetzen. Es bietet drei Rollen: - 1. Rolle: Product Owner
Er vertritt den Auftraggeber, also die fachliche Seite. Also zeichnet er für die Priorisierung der Anforderungen verantwortlich und letztlich auch für den Nutzen, den das Projekt dem Unternehmen bringt. - 2. Rolle: Scrum-Master
Er ist quasi der Herr über die Prozesse. Er sorgt dafür, dass die Scrum-Regeln im Projekt eingehalten werden, er fördert die Transparenz, unterstützt das Team bei der Beseitigung von Hindernissen und sucht ständig nach möglichen Verbesserungen. - 3. Rolle: Die Entwicklergruppe
Sie besteht idealerweise aus sieben Entwicklern. - Sprint
Mit diesem Begriff bezeichnet Scrum einen Iterationszyklus, innerhalb dessen ein Scrum-Teams eine Anforderung umsetzt. Ein Sprint dauert mindestens zwei Wochen und maximal einen Monat. - Backlog
So heißt in Scrum die priorisierte Anforderungsliste für das zu entwickelnde Produkt. Sie wird vom Product Owner verantwortet und gepflegt. - Definitionen von fertig
Dabei handelt es sich um die Kriterien, unter den ein Produkt als umgesetzt akzeptiert wird.
Anforderungen an agile Tester
Dabei sind die Anforderungen in der Scrum-Welt hoch, gerade an Tester. In den Augen von Fischlein müssen diese über eine Vielzahl von Fähigkeiten verfügen:
-
Selbstorganisation und Verplanung. Hier geht es unter anderem um Themen wie Zeit-Management, Kommunikation oder Aufwandsschätzung der Aufgaben.
-
Unterstützen und Leben von Scrum. Gemeint sind Prozesskenntnisse, Teamfähigkeit und die Denkweise der agilen Entwicklung.
-
Erarbeiten und Verfeinern der so genannten User Stories. In diese Kategorie fallen Fähigkeiten wie Konflikt-Management, Interviewtechniken, Domain-Kenntnisse, Anforderungsanalyse.
-
Effektives und effizientes Testen. Das dürfte zum Kerngeschäft gehören, denn es handelt sich um Kompetenzen wie Testdesign, Testdurchführung, Testautomatisierung oder Gestaltung von Testumgebungen.
-
Umgang mit Fehlern. Damit sind sowohl "weiche" Fähigkeiten wie Kommunikation und Konfliktgespräche, aber auch "harte" wie Fehlerbeschreibung, -verwaltung und Nachtests gemeint.
-
Unterstützung der Entwickler. In diese Kategorie fallen Aufgaben wie Testdatenerstellung, Codereview und technische Dokumentation.
-
Ausbildung anderer Teammitglieder zum Testen. Zu den obengenannten Kenntnissen kommen hier noch die didaktischen Fähigkeiten dazu.
Um vollwertiges Mitglied eines Scrum-Teams zu werden, empfiehlt Fischlein Schulungen zum Erwerb sozialer und fachlicher Kompetenzen. Erstere Trainings sollten auf den Einzelnen zugeschnitten sein, so die Erfahrung des Trainers: „Es gibt Menschen, die von ihrer Natur her hier schon nahezu perfekt sind, und andere, denen das Thema auch nach der Schulung fremd bleibt." Angesichts des hohen Kommunikationsaufwandes sollte sich jeder ehrlich die Frage beantworten, ob er „für die Arbeit im agilen Projekt geeignet ist".
Als Basis für die fachliche Qualifikation empfiehlt der Sogeti-Manager zertifizierte Trainings für Softwaretester, etwa die ISTQB (=International Software Testing Quality Board) Certified-Tester-Foundation-Level- oder die TMap Next Test-Engineer-Schulung. Letztere gehe tiefer auf die Testdesign-Techniken ein und liefere mit Checklisten ein gutes Basishandwerkszeug, das auch im agilen Umfeld anwendbar sei. Zwei weitere ISTQB-Zertifizierungen zum Test Analyst und zum Technical Test Analyst vertiefen die Fähigkeiten, das richtige Testentwurfsverfahren zu wählen und die entsprechenden Werkzeuge einzusetzen.
Lernen mit Legobausteinen
Die erste Schulung, die sich in erster Linie auf das Testen in der agilen Welt konzentriert, wurde vor rund zwei Jahren aus der Taufe gehoben und ist hierzulande kaum bekannt. Sie schließt mit dem Zertifikat eines iSQI (=International Software Quality Institut) CAT - Certified Agile Tester - ab. Diese viertägige Schulung (plus ein Tag Prüfung) legt großen Wert auf Praxisbezug, denn die Hälfte der Zeit sind Übungen, die sich stark an Scrum anlehnen. "In rund zwölf Sprints erleben die Teilnehmer das Arbeiten und Fühlen innerhalb eines agilen Teams", wie es der erfahrene Trainer Fischlein formuliert. Besonders schwer tun sich nach Fischleins Beobachtung die Tester aus dem klassischen Umfeld. Es gebe kein "ich" und kein "die", sondern nur ein "wir", Kommunikation und Vertrauen müsse gelebt und sich ständig erarbeitet werden.
Um die Vielfalt der Anforderungen aufzuzeigen wird gleich am ersten Kursnachmittag mit Legosteinen gearbeitet: mehrere Gebäude sind zu bauen, der Aufwand ist zu schätzen, die Reihenfolge der Bauten festzulegen, damit dann auch der erste Sprint geplant werden kann. Durch die spielerische Herangehensweise an dieses Thema entstehe eine hohe Motivation der Teilnehmer, hat Fischlein beobachtet. Ziel könne nur sein "den Tester fitter für ein Leben in agilen Softwareentwicklungen zu machen". So ein fünftägiger Kurs, den Sogeti anbietet, kostet rund 1900 Euro, dazu kommen nochmals 400 Euro Prüfungsgebühren. Weitere Infos sind erhältlich auf der Sogeti-Homepage .