Wie sieht effektive Gestaltung und Testbarkeit von User Storys aus? Klar definierte Akzeptanzkriterien, die sowohl funktionale als auch nicht-funktionale Aspekte abdecken, sind von großer Bedeutung. Explorative Tests sind wichtig, da sie Flexibilität im Testprozess ermöglichen und ein tiefes Systemverständnis fördern. Für komplexere und risikoreichere User Storys sind systematische Testmethoden wichtig. Außerdem sind eine zielgerichtete Dokumentation und der Einsatz von modellbasiertem Testen effiziente Praktiken in der agilen Softwareentwicklung.
“Du kennst die Methode ‘Specification by Example’. (…) Das ist immer noch das Beste was mir in den letzten Jahren untergekommen ist.” – Christian Brandes, Gewinner des “Best Presentation Award 2023”
Dr. Christian Brandes ist der Head of Test&QA bei isento GmbH und unterstützt als Coach und Berater Teams in Softwaretest, Qualitätssicherung und agilen Prozessen. Als ISTQB®-zertifizierter Testspezialist mit umfassender Erfahrung in verschiedenen IT-Projekten liegt sein Fokus auf Testprozessverbesserung und Testbarkeit von Anforderungen. Neben seiner Tätigkeit als Trainer und Hochschuldozent ist er auch als Speaker auf Fachkonferenzen aktiv und verfasst Publikationen sowie produziert Podcasts und Videos.
Highlights in dieser Episode:
Weiterführende Links:
Heute geht es darum, wie User Stories testbar gestaltet werden können. Christian Brandes teilt wertvolle Einblicke aus dem Bereich des Requirements Engineering und gibt praktische Tipps, wie man das Testing von User Stories in agilen Entwicklungsumgebungen verbessern kann.
Heute spreche ich mit Christian Brandes, einen leidenschaftlichen Tester und Qualitätsliebhaber. Uns verbindet nicht nur eine lange Bekanntschaft, sondern auch die gemeinsame Leidenschaft für Qualität und eine effiziente Teststrategie. Das Thema dieser Episode ist besonders relevant: Wie können User Stories nachhaltiger und effektiver für Tests gestaltet werden? Es ist ein Gebiet, das oft Missverständnisse und Herausforderungen birgt – punkte, die wir im Laufe unseres Gesprächs gründlich beleuchten werden.
Christian hebt hervor, dass ein grundlegendes Missverständnis über die Rolle von User Stories im agilen Entwicklungsprozess existiert. Viele Teams gehen fälschlicherweise davon aus, dass mit der Einführung von User Stories die Notwendigkeit für detaillierte Anforderungen obsolet wird. Diese Auffassung führt zu einer Lücke in der Testbarkeit und Qualitätssicherung. User Stories sind nicht gleichzusetzen mit konkreten Anforderungen; sie sind vielmehr als Planungsartefakte zu verstehen, die den Fokus auf den zu erzielenden Geschäftswert legen. Doch ohne eine fundierte Basis an Anforderungen wird das Testen zu einem herausfordernden Unterfangen.
Die Schlüsselstrategie zur Überwindung dieser Herausforderung liegt in der Integration von Elementen des Requirements Engineering in die Gestaltung von User Stories. Christian betont die Bedeutung von Akzeptanzkriterien und Spezifikationen innerhalb einer Story. Diese sollten nicht nur als zusätzliche Anforderungen betrachtet werden, sondern als konkrete Beispiele dienen, die definieren, was am Ende eines Sprints nachweislich funktionieren muss. Durch Specification by Example können Teams klare und testbare Akzeptanzkriterien erstellen, die sowohl dem Product Owner als auch dem Entwicklungs- und Testteam dienen.
Modellbasiertes Testing (MBT) bietet eine weitere Dimension in der Gestaltung testbarer User Stories. Durch den Einsatz formaler Modelle wie UML oder BPMN können Testartefakte generiert werden, die eine umfassende Abdeckung gewährleisten und gleichzeitig den Aufwand für manuelle Tests reduzieren. Christian spricht sich dafür aus, dass auch im agilen Kontext nichts gegen den Einsatz solcher Modelle spricht, solange sie einen Mehrwert bieten und das Team unterstützen. Die Integration von MBT in den Prozess kann dabei helfen, komplexe Systeme durchführbar und verständlich zu testen.
Zum Abschluss unseres Gesprächs betont Christian die Wichtigkeit einer flexiblen Interpretation von Agilität. Es geht nicht darum, starre Regeln zu befolgen, sondern Lösungen zu finden, die dem Team helfen, effizienter zu arbeiten und qualitativ hochwertige Software zu liefern. Der Schlüssel liegt darin, offen für neue Methoden und Ansätze zu sein und stets den Nutzen für das Team im Blick zu behalten. Agilität bedeutet nicht Verzicht auf Dokumentation oder strukturierte Prozesse; es bedeutet vielmehr einen sinnvollen Einsatz dieser Elemente zum Wohle des Projekts.