2010-04-09 6 views
6

Ich untersuche BDD-Tests innerhalb eines Scrum-Szenarios und stelle fest, dass die BDD-Szenarien den Spezifikationen ähnlicher sind als die Tests.Wann sollten die BDD-Testszenarien geschrieben werden?

Daher sollten sie geschrieben werden, bevor die Entwickler in die Vorausplanung gehen, so dass die gesamte Funktionalität identifiziert wurde, die eine bessere Schätzung, Priorisierung usw. in diesem Meeting ermöglichen würde?

Antwort

3

Im Allgemeinen möchten Sie in Scrum Benutzergeschichten, die auch Bedingungen der Befriedigung haben, mit ihnen zu gehen. Das heißt, wenn diese Bedingungen erfüllt sind, bin ich als Product Owner überzeugt, dass die Story vollständig ist.

Es ist am besten, wenn diese vom Product Owner geschrieben werden und noch besser, wenn sie im Format "Gegeben/Wann/Dann" geschrieben sind. Auf diese Weise kann das Team die BDD-Tests basierend auf den Bedingungen der Zufriedenheit erstellen. Wenn die Tests bestanden sind, ist die Geschichte abgeschlossen.

Es sollte so viele Bedingungen für die Zufriedenheit geben, wie es der Product Owner für notwendig hält, um zu bestätigen, dass die Story implementiert wurde und diese Bedingungen rechtzeitig für das Sprint Planning Meeting vorbereitet werden sollten. Sie müssen nicht codiert werden, aber sie sollten so geschrieben werden, dass das Team eine Vorstellung davon hat, was die Geschichte voraussichtlich vervollständigen wird.

Das Team kann während des Sprints seine eigenen BDD-Tests hinzufügen, wenn die Dinge kommen, aber die Geschichte ist nicht vollständig, bis die ersten BDD-Tests bestanden haben.

-1

Ich hoffe, Sie erwähnten Behavior Driven Development. Wenn ich richtig bin, ist es ein Prozess der Interaktionen mit Entwicklern, QA und nicht-technischen oder geschäftlichen Teilnehmern. Es ist auch ein Zweck und ein Vorteil des Code des Entwicklers. Sie können das Scrum-Szenario starten, während Sie planen.

Schätzung und Priorisierung sind nicht in dem Teil davon.

+0

Vielen Dank Vijay, aber ich denke, Sie haben den Punkt der Frage, die Schätzung und Priorisierung sind nicht Teil von BDD mehr, dass die Ausgabe von BDD ist nützlich für die Schätzung und Priorisierung. –

1

Wenn Sie nach BDD (auch Acceptance Test Driven Development genannt) suchen, sind Sie möglicherweise bereit, Abnahmetests früh genug zu schreiben, bevor die Sprint-Planung stattfindet. Einige andere "agilere" Ansätze tendieren dazu, dies auf den letzten verantwortungsvollen Moment zu verschieben, und ich habe ein paar Teams trainiert, bei denen die Akzeptanzkriterien im Laufe der Zeit auch während des Sprints verfeinert werden.

Die "Tester" des Entwicklungsteams arbeiten bei der Vorbereitung des Backlogs für den nächsten Sprint eng mit dem Product Owner zusammen (es heißt Look-Ahead) und bereichern auch im aktuellen Sprint die Annahmekriterien siehe passen in Übereinstimmung mit der Bestellung.

Es hängt ziemlich viel davon ab, wie Sie diese Tests ausführen ... wenn Sie in der Lage sind zu automatisieren, als die Dinge sind viel klarer :-) Wir machen umfangreiche Nutzung von Gurke oder Fitnesse, um Abnahmetests zu automatisieren, und Wie bei TDD (ohne das A) würden Sie versuchen, dies zu tun, bevor eine Verpflichtung stattfindet, zumindest auf einer grundlegenden Ebene (Sie brauchen nicht alle zu definieren - denken Sie daran, dass es nicht wie ein Vertrag aussehen sollte)).

Das Ziel von BDD ist es, die Entwicklung von Software aus einer Verhaltensperspektive heraus voranzutreiben, die Ihnen einen ziemlich klaren Weg geben soll, wie und wann Sie Akzeptanzkriterien schreiben sollten. Ich fand sie sehr nützlich in Kombination mit der INVEST-Checkliste für User Stories und der Definition von Ready for you Backlog.

HTH ANdreaT

4

Wenn von BDD Sie "Verhalten Driven Development" bedeuten, dann sind Sie vielleicht zu werden, indem das Wort 'Tests' in dort gestolpert.

Sie sind keine Tests, obwohl Sie kostenlose Tests aus ihnen bekommen. Wenn Sie sie als Tests betrachten, werden Sie sie schlecht benutzen.

Sie sind Spezifikationen. Wenn Sie sich ihnen so nähern, können Sie sehen, wie sie in Ihren Prozess passen.

Es liegt an Ihnen, aber Sie erhalten den größten Nutzen, indem Sie sich davon abhalten, sie als Tests zu betrachten, und stattdessen konsistent sind, sie als Spezifikationen zu behandeln. Nichts kann Sie daran hindern, sie zu missbrauchen (als Tests), aber wenn Sie sie missbrauchen, können Sie sicher sein, dass Sie den Vorteil des Ansatzes nicht nutzen - und das ist beträchtlich.

+0

Danke Bret, genau so komme ich jetzt auf sie zu. –