Beim Behaviour Driven Development werden während der Anforderungsanalyse die Aufgaben, Ziele und Ergebnisse der Software derart textuell festgehalten, dass diese später (automatisiert) auf ihre korrekte Implementierung getestet werden können. Ausgehend von Featuren, Job Storries oder Nutzeranforderungen werden Szenarios of Use in der „Wenn-dann“-Notation basierend auf der ubiquitären Sprache des Domain-driven Designs verfasst. Bei einer ubiquitären, oder halb formalen, Sprache wird die gleichen Ausdrücke und Elemente vom gesamten Team verwendet, vom Kunden, den Nutzern und den Entwicklern. Damit soll der Übergang zwischen der Sprache der Definition der fachlichen Anforderungen und der Programmiersprache, mittels derer die Anforderungen umgesetzt werden, erleichtert werden.
Behaviour Driven Development besteht aus folgenden Elementen:
Behaviour Driven Development besteht aus folgenden Elementen:
- Starke Einbeziehung von Stakeholder in den Prozess durch sogenannte Outside-In-Softwareentwicklung. Diese ist fokussiert auf die Erfüllung der Anforderungen der Auftraggeber, Nutzer und Insider.
- Textuelle Beschreibung des Verhaltens der Software und von Softwareteilen durch Fallbeispiele.
- Automatisierung dieser Fallbeispiele unter Verwendung von Mock-Objekten zur Simulation von noch nicht implementierten Softwareteilen und
sukzessive Implementierung der Softwareteile und Ersetzung der Mock-Objekte.
Anwendungskriterien
Die Methode bringt besondere Vorteile, wenn- ein gutes Verständnis der wirklichen Arbeitsabläufe wünschenswert ist,
- Use Cases vollständig dokumentiert sind,
- das System durch nutzerorientierte Tests geprüft werden soll,
- ein höherer Aufwand für die Ableitung von Systemanforderungen eingespart werden soll,
- die Bedürfnisse des Nutzer nicht verstanden sind,
- die Schreiber sich nicht in die Situation des Nutzers versetzen können,
- die Nutzer nicht hinreichend bekannt sind.
Voraussetzungen
Der Nutzungskontext der Verwendung muss definiert und beschrieben sein. Es muss ein Team aus mindestens Nutzern und Entwicklern zusammengestellt sein. Beim Zusammenschreiben der Sorries und der Szenarien kann es Sinnvoll sein, dass ein erfahrener Moderator anwesend ist.Eine Möglichkeit zur Verlinkung bei der Dokumentation muss gegeben sein, damit von den Storries of Use auf z.B. die Use Cases zurück geschlossen werden kann.
Durchführung
- Erstelle ein Glossar der Begriffe aus der Domaine. Das Glossar sollte von allen Teammitgleideren auf Verständlichkeit geprüft werden und möglichst vollständig sein.
- Extrahiere aus dem Nutzungskontext die Bedürfnisse oder Job Storries. Zur Beschreibung müssen die Begriffe aus dem Glossar verwendet werden. Sollten Begriffe fehlen, so sind diese nachzutragen. Die gefundenen Bedürfnisse oder Job Storries müssen mit den Quellen im Kontext, z.B. den Use Cases, verbunden sein, um nachvollziehbar zu sein. Damit können spätere Änderungen konsistent im Modell koriegiert werden.
Tipp
Sollte ein formale Sprache, wie z.B.Ghurcin verwendet werden, so sollte ein Editor verwendet werden, der die syntaktisch richtige Eingabe unterstützt.
- Erstelle, wenn gewünscht, Nutzeranforderungen aus den Bedürfnissen oder Job Storries. Dies kann dann sinnvoll sein, wenn eine formale Abnahme vorgesehen ist.
- Erstelle jeweils Scenarios of Use für die atomatisierten Tests unter Verwednung der Begriffe des Glossars. Sollten Begriffe fehlen sind diese im Glosar zu ergänzen.
- Prüfe die Richtigkeit der Scenarios of Use zusammen mit den Nutzern.
- Implementiere die Tests und erstelle ggf. Mock-Ups, damit die Tests implementiert werden können. Die Mock-Ups werden nach und nach durch die richtige Implementierung ersetzt.
Tipp
Die Mock-Ups sollen die Implementierung der Tests ermöglichen aber nicht die Testresultate vorwegnehmen.
Beschreibung des Produktes
Als Produkte entstehen:- Feature, Nutzererfordernisse oder Job Storries.
- ggf. Nutzeranforderanforderungen.
- Senarios of Use
- Software Tests zum automatischen Testen.
Methoden, die dazu passen
- Job Story
- Use Case: User Goal
- Use Case: Use Cases
- Erfordernisse
- Nutzeranforderungen
- Personas
- Paraphrasieren
© Berathek 2017