Es könnte hilfreich sein zu erkennen, dass der BDD-Fokus auf den Gesprächen liegt . BDD ist wirklich ein Analysewerkzeug, das zufällig einige Regressionstests als gutes Nebenprodukt liefert.
Ich habe im Gespräch Szenarien auf allen Ebenen verwendet. Von der Identifizierung verschiedener Stakeholder, um zu sehen, ob eine Veröffentlichung wahrscheinlich gut ankommt, bis hin zur Festlegung des Verhaltens eines Moduls oder einer Klasse .
Es gibt ein paar Tipps und Tricks, die ich vorschlagen kann, um dies zu vereinfachen.
Wenn Sie es noch nie getan haben, wird es sich ändern.
Alles, was für die Domäne oder das Geschäft neu ist, wird sich wahrscheinlich ändern. Möglicherweise stellen Sie fest, dass Sie sich in diesem Bereich befinden, wenn Sie die Szenarien durchgehen, sie in Frage stellen und das Unternehmen sagt: "Oh, ich bin nicht sicher." Dies ist ein gutes Zeichen, um nicht mehr versuchen zu müssen, BDD zu betreiben, sondern um schnelleres Feedback zu erhalten, damit das Unternehmen herausfinden kann, was es will. Sobald sich die Ideen stabilisiert haben, können im Nachhinein Szenarien geschrieben werden.
Alle Projekte haben einen Aspekt, der neu ist, sonst würdest du das nicht tun.
Wenn Sie es schon einmal gemacht haben, ist es langweilig.
Neben neuen, differenzierenden Aspekten weisen Projekte in der Regel auch einige kommodifizierte Aspekte auf, die denen ähneln, die bereits durchgeführt wurden. Wenn ich zum Beispiel ein neues Mobiltelefon produzierte, musste es immer noch telefonieren. "Tätigen Sie einen Anruf" ist ein so bekanntes Szenario, dass wir nicht darüber sprechen müssten. Ebenso sind Dinge wie "Login" oder auch "Benutzerregistrierung" langweilig.
Verwenden Sie für diese nach Möglichkeit Bibliotheken, und Sie müssen dann keine Szenarien um sie herum schreiben. Außerdem tun die anderen Bits zuerst - haben ein bereits angemeldeten Benutzer und herausfinden, was er die Protokollierung in für . Es ist unwahrscheinlich, dass sich diese Bereiche ändern. Daher können Sie möglicherweise ohnehin manuelle Tests durchführen.
Wenn es schon einmal jemand gemacht hat, kann es hilfreich sein, Szenarien durchzusprechen.
Es gibt eine gewisse Differenz zwischen domänenspezifischen Anforderungen, Informationen, die von jemandem relativ gut verstanden werden , und der tatsächlichen Unsicherheit, die sich eher auf den Umfang als auf das tatsächliche Verhalten des Systems bezieht.
Das Durchsprechen von Szenarien kann dem Entwicklerteam helfen, Verhalten zu erkennen, das Wissen eines Experten zu nutzen und sicherzustellen, dass das bekannte, wertvolle Verhalten erfasst wird.
Dies ist der Punkt, an dem BDD am besten funktioniert. Mein Tipp ist, die interessantesten Szenarien oben in der Feature-Datei (oder im Wiki, wenn Sie nicht automatisieren) zu schreiben und alle Szenarien zu löschen, die dupliziert oder als Ergebnis leicht abzuleiten sind.
Verwenden Sie die Szenarien nach Möglichkeit nur als Beispiele für die Funktionsweise der Anwendung . Wenn Sie beispielsweise zeigen möchten, wie die Validierung funktioniert, zeigen Sie einige Beispiele, wie die Anwendung dem Benutzer hilft, ein Formular auszufüllen. Überprüfen Sie mithilfe von Komponententests, dass die Validierung streng ist. Dies ist viel einfacher zu warten und schneller auszuführen.
Weitere Lektüre
Wenn Sie daran interessiert sind, hier sind einige Dinge, die ich geschrieben habe, die helfen könnten.
BDD im Großen
Cynefin für Entwickler , das diese drei Bereiche ausführlicher behandelt
Meine Tutorial-Folien , die alle nett und mit Anmerkungen versehen sind, decken auch den gesamten Stapel ab.