Frage

kleine Artikel auf BDD, habe ich Fragen von Leuten, zu fragen, ob es irgendwelche Fälle von großflächigen Einsatz von BDD sind (und insbesondere NBehave).

So geht meine Frage an die Gemeinde: Sie haben ein Projekt, das BDD erfolgreich eingesetzt? Wenn ja, welche Vorteile haben Sie, und was hätte besser sein können? Würden Sie noch einmal BDD tun? Würden Sie es anderen Menschen empfehlen?

War es hilfreich?

Lösung

Wir haben etwas von BDD auf Codeebene in verschiedenen Szenarien (Open Source und ND-Projekte) verwendet wird.

  1. Telling die Ansicht in MVC-Szenario, welche Art von Eingabe von Benutzern ( DDD und Regel angetrieben UI-Validierung in der .NET )

    result = view.GetData(
      CustomerIs.Valid, 
      CustomerIs.From(AddressIs.Valid, AddressIs.In(Country.Russia)));
    
  2. Erklären der Dienstschicht, über die Ausnahmebehandlung Verhalten ( ActionPolicy in die Dekorateure injiziert):

    var policy = ActionPolicy
      .Handle<WebException>()
      .Retry(3);
    

diese Ansätze verwenden immens Code-Duplizierung reduziert, machte der Code-Basis stabiler und flexibler. Darüber hinaus machte alles einfacher, aufgrund der logischen Verkapselung von komplexen Details.

Andere Tipps

Ich war auf einem kleinen Team, das BDD auf einer Website verwendet wird.

Die Art, wie wir verwenden, es war im Wesentlichen TDD, aber die Tests werden einfach als Verhalten mit einem DSL geschrieben. Wir haben nicht in große Upfront Design von Verhaltensweisen zu bekommen, aber wir haben eine große Anzahl von ihnen zu schaffen, und verwendet sie genau wie Sie Tests.

Wie Sie vielleicht erwarten, es funktionierte viel wie TDD, im Allgemeinen gut. Phrasierung die Tests als Verhalten war schön, wenn sie mit den Kunden und machte einen ziemlich anständig Dokument interagieren, aber ich wünschte Art das Verhalten in Englisch geschrieben wurden und die Tests programmiert anstatt zu versuchen, mit einigen schwierigen Zwischensprache zu entwickeln, die nicht der Fall ist passen entweder Zweck perfekt.

Es ist immer noch BDD wäre, nur ohne diesen netten Trick zu versuchen, die Sprache in eine Sprache, die von einem random_looking.set of_Punctuation rather_than simple.spaces abgegrenzt zu drehen, aber das war nur meine grumpy-old-Programmierer Haltung, alle andere waren 100% zufrieden.

Die Seite ist vorhanden und voll funktionsfähig, so würde ich es nennen ein Erfolg: Werfen Sie einen Blick

Ich habe vor kurzem den BDD Stil von GWT in einem High-Level-Anforderungen Dokument. Ich habe kein Feedback über die GWT vom Kunden meines Chef kaufen, sagte er mag es, wie es war sehr klar und einfach zu verstehen. Beachten er keine Kenntnis von BDD hat, die ich kenne. Ich habe setze nicht in User Stories, da dies wahrscheinlich mit einem traditionellen Wasserfall Hintergrund etwas zu luftig Fee für die Menschen gewesen wäre. Vielleicht werde ich versuchen, in User Stories nächste Mal setzen.

Durch die Art und Weise dies kein Augapfel UI-Projekt war. Es war ein Projekt Integrationsdaten Synchronisierung von einem Webdienst in eine Datenbank. So zeigt sich, dass GWT auch für nicht funktioniert „Augapfels“ UIs.

Context-Spezifikation Stil unter Verwendung von an mehreren Projekten (mit MSpec) mit großem Erfolg

Ich habe. Ich versuche immer noch die wirklichen Vorteile des Szenarios Stil zu verstehen. Je mehr ich über den Kontext-Spezifikation Stil, desto mehr Ich mag es, und die verschärften meine Anwendungen fühlen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top