2. Intro…
Behaviour-driven development is an
“outside-in” methodology. It starts at the
outside by identifying business outcomes,
and then drills down into the feature set
that will achieve those outcomes. Each
feature is captured as a “story”, which
defines the scope of the feature along
with its acceptance criteria.
3. BDD yet another
*DD???
Bridge the gap between business
outcomes (i.e. capabilities) and code
establish common understanding of
scope, between business folks, the
analyst, the developer and the tester
make acceptance criteria executable
4. From the Vision to
the Code
Vision
Goal
Capability
Feature
Story
Scenario
Code
* every level focuses on certain aspect
5. What makes a
good Story?
Should follow the INVEST principle:
Independent
Negotiable
Valuable
Estimateable
Small
Testable
6. User Story and BDD
User Story = Business Outcomes
Acceptance Criteria = Scenario*
Test Case = Executable Scenario (i.e.
behaviour)
* — Is not replacement for conversion. Is the result of
conversation.
* — Scenario is a example of specification by example
7. The structure of
the story
Title (one line describing the story)
Narrative:
As a [role]
I want [feature]
So that [benefit]
Acceptance Criteria: (presented as Scenarios)
Scenario 1: Title
Given [context]
And [some more context]...
When [event]
Then [outcome]
And [another outcome]...
Scenario 2: ...