Zum Inhalt springen

„Now we’re talking!“

Gräben überwinden mit Behavior-Driven Design (BDD)

Termine

  Derzeit sind keine Veranstaltungen geplant.

Requirements Engineering, Software-Entwicklung, Test - Diese drei Disziplinen sind typischerweise an einem Software-Projekt beteiligt. Ihre Nahtstellen führen häufig zu Medienbrüchen, suboptimaler Produktivität und unterschiedlichen (d.h. fehlerhaften) Interpretationen der meistens zu abstrakt und nicht ausreichend detailliert beschriebenen Anforderungen – auch in Zeiten agiler Entwicklung und hoher Tooldurchdringung.

Bei der Methodik „Behavior-Driven Design“ arbeiten alle Rollen (inklusive des Kunden) auf Basis der gleichen Spezifikation. Um für alle gleichermaßen verständlich zu sein, besteht sie ausschließlich aus Szenarien, die mit konkreten Beispielen in der Sprache der Anwendungsdomäne das korrekte gewünschte Verhalten des Systems beschreiben (dieser Ansatz ist auch bekannt als „Acceptance-test-driven design“ oder „Specification by example“). Das Besondere bei BDD ist, dass aus diesen Szenarien ohne Veränderung der Dokumente automatische Tests werden, die ähnlich wie Unit-Tests beim TDD das Design treiben. Nebenbei entstehen daher eine frühestmögliche  Testautomatisierung, eine immanent konsistente Systemdokumentation sowie ein besserer Überblick über den Projektstatus.

Da diese Methode offenbar nur Vorteile hat, fragen Sie sich vielleicht, warum Sie sie nicht längst einsetzen, wo sich die Umstellung lohnt und ob sie nicht zu kompliziert ist. Bei diesen Fragen helfen wir gerne weiter.

In diesem Webinar lernen Sie zunächst die BDD-Methodik kennen und erfahren dabei u.a., was es mit den „drei Amigos“ auf sich hat. Anschließend demonstriert unser Referent anhand eines konkreten Anwendungsbeispiels, wie Funktionen spezifiziert, entwickelt, getestet und dokumentiert werden. Zum Einsatz kommt dabei ausschließlich frei verfügbare Open-Source-Software. Registrierten Teilnehmern wird das Beispiel als Maven-Projekt zur Verfügung gestellt, so dass das Erlernte auch „zuhause“ ausprobiert bzw. in eigenen Projekten angewandt werden kann.

Wer sollte teilnehmen?

Alle an Softwareprojekten beteiligten Rollen (inklusive Entscheider)