Methoden

Berathek Methode


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:
  • 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.
Nicht funktionale Anforderungn werden hiermit nicht aureichend erfasst.


Anwendungskriterien

Die Methode bringt besondere Vorteile, wenn
  1. ein gutes Verständnis der wirklichen Arbeitsabläufe wünschenswert ist,
  2. Use Cases vollständig dokumentiert sind,
  3. das System durch nutzerorientierte Tests geprüft werden soll,
  4. ein höherer Aufwand für die Ableitung von Systemanforderungen eingespart werden soll,
Die Methode kann negative Wirkungen haben, wenn
  1. die Bedürfnisse des Nutzer nicht verstanden sind,
  2. die Schreiber sich nicht in die Situation des Nutzers versetzen können,
  3. 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

  1. 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.

  1. 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.


  2. Erstelle, wenn gewünscht, Nutzeranforderungen aus den Bedürfnissen oder Job Storries. Dies kann dann sinnvoll sein, wenn eine formale Abnahme vorgesehen ist.
  3. 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.
  4. Prüfe die Richtigkeit der Scenarios of Use zusammen mit den Nutzern.
  5. 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


© Berathek 2017