Blog

Ein kritischer Blick auf BDD - Richard Seidl

Geschrieben von Richard Seidl | 18.09.2023

Behavior Driven Development, kurz BDD, ist ein mächtiges Framework, das jedoch oft falsch verstanden oder angewendet wird. Es basiert auf klarer Kommunikation und Präzision, die sogar die skeptischsten Manager überzeugen können. Doch BDD ist mehr als nur eine Methode – es ist ein Handwerkszeug für das Erstellen präziser Anforderungen und deren Umsetzung in Code. Andreas lässt uns an seinen Erfahrungen teilhaben und gibt am Ende noch wertvolle Tipps für die Anwendung und auch die Integration ins Team.

“Was wir auch beobachten in den Projekten ist, dass das Management sagt ‘Ich hab das mal gesehen, das sieht einfach aus, also macht doch jetzt bitte auch mal Gherkin/BDD’” – Andreas Döring

Qualität ist kein Zufall, sondern das Ergebnis von funktionierender Teams, in denen jede(r) alle Stärken einbringen kann. Deshalb engagiert Andreas sich in der Testautomatisierung und dem Testmanagement. Zusätzlich begleitet er seine Associate IT-Consultants sowohl in ihrer fachlichen als auch persönlichen Entwicklung. Sein Studium hat er als Diplomingenieur für Computervisualistik abgeschlossen und ist seit 2003 im Bereich der Qualitätssicherung unterwegs.

Highlights in dieser Episode:

  • Wir wollten die Folge live am German Testing Day 2023 aufnehmen, aber ein Stromausfall hat uns einen Strich durch die Rechnung gemacht
  • BDD ist eine Methode, bei der Anforderungen so formuliert werden, dass sie direkt als Tests genutzt werden können. Das ganze Team arbeitet an einem gemeinsamen Vokabular
  • Andreas sieht Probleme, wenn BDD nur am Ende des Entwicklungsprozesses angewendet wird, statt von Anfang an
  • Es ist wichtig, eine einheitliche Sprache im Team zu haben und BDD nicht nur um des BDD-Willens zu machen
  • Man sollte mit BDD klein anfangen und nicht gleich versuchen, alles damit zu machen
  • Gute Tools für BDD sind unter anderem Cucumber und Gauge
  • Es ist wichtig, dass auch das Fachpersonal mit den Tools umgehen kann und nicht überfordert wird
  • BDD kann viele Vorteile bringen, wenn es bewusst und richtig angewendet wird

Von Missverständnissen zu Meisterleistungen: BDD richtig anwenden

In dieser Episode spreche ich mit Andreas Döring über die Vor- und Nachteile von Behavior-Driven Development (BDD) und wie es oft missverstanden oder falsch eingesetzt wird. Andreas teilt Einblicke und Tipps, wie BDD effektiver genutzt werden kann, um Projekte zu verbessern.

Die Wahrheit über Behavior-Driven Development (BDD)

Behavior-Driven Development ist eine Methode, die seit 2006 existiert und darauf abzielt, Anforderungen so zu formulieren, dass sie auch im Test verwendet werden können. Das Kernziel von BDD ist es, ein gemeinsames Vokabular zwischen Anforderungsspezialisten, Entwicklern, Testern und jenen, die die Testinfrastruktur bereitstellen, zu schaffen. Durch die Erstellung von Testfällen in einer Syntax, die für jeden lesbar ist – üblicherweise Gherkin – soll das gesamte Team vom Anfang bis zum Ende des Entwicklungszyklus mit der gleichen Sprache arbeiten. Diese Methode fördert eine engere Zusammenarbeit und ein tiefes Verständnis der Projektanforderungen.

Die häufigsten Missverständnisse bei BDD

Trotz der klaren Vorteile von BDD gibt es in der Praxis oft Missverständnisse und Fehlanwendungen. Ein häufiges Problem ist der Versuch, Gherkin-Syntax am Ende eines Projekts einzuführen, anstatt diese zusammen mit den Anforderungen von Beginn an zu entwickeln. Dies führt dazu, dass der eigentliche Nutzen von BDD – die Verbesserung der Kommunikation und das gemeinsame Verständnis – verloren geht. Viele Teams sehen BDD lediglich als Möglichkeit, ihre Testfälle in einer ‘coolen’ Syntax zu schreiben, ohne den tieferen Wert dieser Praxis zu erkennen.

Die richtige Implementierung von BDD

Eine erfolgreiche Implementierung von BDD erfordert mehr als nur das Erlernen einer neuen Syntax. Es geht darum, einen echten Kulturwandel im Team zu bewirken, indem jede Phase des Entwicklungsprozesses – von der Anforderungserhebung bis zur Testautomatisierung – integriert wird. Das bedeutet auch, dass sich das Team auf eine Sprache einigt und diese durchgehend nutzt. Dazu gehört auch die Akzeptanz des Mehraufwands für die Pflege der Automatisierung und Infrastruktur sowie ein Bewusstsein dafür, dass nicht jede Softwarekomponente mit BDD getestet werden muss.

BDD in der Praxis: Ein pragmatischer Ansatz

Andreas empfiehlt einen pragmatischen Ansatz für BDD: Beginnen Sie klein mit einem gut funktionierenden Team und formulieren Sie Anforderungen in verständlicher Syntax aus. Dies kann Given-When-Then sein oder andere Formate wie Markdown bei der Verwendung von Gauge. Der Schlüssel zum Erfolg liegt darin, experimentierfreudig zu sein und Erfahrungen zu sammeln, um herauszufinden, was im spezifischen Projektumfeld funktioniert. Dieser Ansatz hilft dabei, den wahren Wert von BDD zu erschließen und letztlich Projekte effektiver zu gestalten.

Die Rolle von Tools in BDD

Während Tools wie Cucumber oder Gauge hilfreich sein können, betont Andreas die Wichtigkeit des bewussten Umgangs mit diesen Werkzeugen. Die Wahl des richtigen Tools hängt stark vom Projekt ab und erfordert eine sorgfältige Abwägung hinsichtlich des zusätzlichen Aufwands für Pflege und Integration in bestehende Prozesse. Es ist wichtig zu verstehen, dass Tools allein keinen Erfolg garantieren; vielmehr ist es die Art und Weise, wie das Team diese Tools nutzt und in ihre Arbeitsweise integriert.

Tipps von Andreas

Andreas mahnt zur Vorsicht bei der Einführung von BDD als Allheilmittel für alle Projektprobleme. Ein kritischer Blick auf den Einsatz von BDD kann helfen, technische Schulden zu vermeiden und sicherzustellen, dass diese Methode einen echten Mehrwert bietet. Die größte Herausforderung besteht darin, die Kommunikation innerhalb des Teams zu verbessern und sicherzustellen, dass alle Mitglieder an einem Strang ziehen. Nur so kann BDD sein volles Potenzial entfalten.