Agiles Testen
Das Testen hat – wie bei jeder Entwicklungs-Methode – auch in SCRUM einen hohen Stellenwert. Die Rolle des Testers sollte ein fester Bestandteil eines cross-funktionalen Teams, die Qualitätssicherung automatisch in jedem Entwicklungszyklus integriert sein. Das agile Testen im SCRUM muss so gestaltet sein, dass es die Ziele der agilen Entwicklung unterstützt. Das heißt, es muss auf hohe Kundenzufriedenheit, hohe Produktivität und hohe Entwicklungsgeschwindigkeit ausgerichtet sein. Es muss schnell auf Änderungen reagieren können und selbstorganisiert sein.
Auch für das Testen gibt es einige Grundprinzipien, die im Agile Testing Manifesto festgehalten wurden.
- Schnelles Feedback
Neue Funktionalitäten sollten schon während des Sprints und vor Auslieferung des neuen Produktinkrements getestet worden sein. - Hoher Automatisierungsgrad
Durch einen hohen Grad an Automatisierung wird eine schnelle Reaktionsfähigkeit sichergestellt. Es sollten möglichst viele systematische Testfälle, wie System- und Akzeptanztests, abgedeckt werden. - Geringer Overhead
Der Fokus soll auf den operativen Testaktivitäten liegen. Alle weiteren Aufwände, wie Dokumentation, Fehlermanagement, etc. müssen so gering wie möglich gehalten werden. - Auflösung von Testrollen
Im SCRUM gibt es keinen einzelnen klassischen Testrollen mehr, die Verantwortung für das Testen ist auf das gesamte Team der Entwickler verteilt. - Auflösung von Teststufen
Sequentielle Teststufen, wie man sie aus anderen Entwicklungs-Methoden kennt, gibt es in SCRUM nicht. Da das Testen innerhalb der Sprints erfolgt, ist dafür keine Zeit. - Enge Zusammenarbeit im Team
Direkte Kommunikation steht im Fokus, auf allzu ausgiebige Dokumentation und Bürokratie wird bewusst verzichtet. Die Zusammenarbeit zwischen Entwicklern und Testern ist extrem eng, die Grenzen sind fließend. - Schnelles Feedback und verteilte Verantwortung
Wie im gesamten SCRUM-Prozess, wird auch beim Testen das Team empowered und trägt selbst die Verantwortung. Das Feedback erfolgt unbürokratisch, es kann schnell und unkompliziert nachgearbeitet werden, sollten beim Test innerhalb eines Sprints Fehler aufgetreten sein.
Die „Definition of Done“ beinhaltet in der Regel schon das agile Testen. Vorher wird außerdem eine „Definition of Ready“ festgelegt, sowie ggf. eine „Definition of Test“.
Agiles Testen ist Teil der SCRUM Professional (Master/Product Owner) Ausbildung.