"Given..When..Then"...a common perception of Behaviour Driven Development focuses on writing and automating SpecFlow-style scenarios. In fact this is just a small part of BDD: the full scope of BDD ranges from requirements discovery and description, through to driving technical design and implementation, helping testers focus their testing efforts more effectively, and even providing reliable, useful and accurate technical documentation. In this talk, you will learn about how much more there is to BDD than just "Given..When..Then"!
3. So what is this BDD thing?
Scenario:
Learning
About
Qantas
Given
I
am
on
the
Wikipedia
home
page
When
I
search
for
'Qantas'
in
'English'
Then
I
should
see
the
'Qantas'
wikipedia
entry
A
Test
Automa6on
Tool?
4. So what is this BDD thing?
Scenario:
Learning
About
Qantas
Given
I
am
on
the
Wikipedia
home
page
When
I
search
for
'Qantas'
in
'English'
Then
I
should
see
the
'Qantas'
wikipedia
entry
A
way
to
write
acceptance
criteria?
5. So what is this BDD thing?
Scenario:
Learning
About
Qantas
Given
I
am
on
the
Wikipedia
home
page
When
I
search
for
'Qantas'
in
'English'
Then
I
should
see
the
'Qantas'
wikipedia
entry
A
way
to
define
requirements?
7. “Having
the
conversa/on
is
more
important
than
recording
the
conversa/on
is
more
important
than
automa/ng
the
conversa/on”
-‐
Liz
Keogh
BDD
starts
with
conversa6on
12. But knowing why we build a feature is even better
To increase
ticket sale
revenue
Why Who How
travellers take the train
more often
suggest taking
the train to
friends
What
online booking
social network
integration
concessions
credit card
payment
13. Story
bug
reports
Working
code boring
manual
tes:ng
WASTE
BA
Developer
Tester
Many teams build features like this…
Collabora6on
14. …but a little cooperation goes a long way…
Working
code
and
Working
Automated
Acceptance
Tests Exploratory
tes:ng,
usability
tes:ng...
Shared
understanding
Story
Examples
Automated
acceptance
criteria
Collabora6on
15. We call this “The Three Amigos”
BA
and/or
product
owner
Tester Developer Automatable
Acceptance
Criteria
Shared
understanding
Collabora6on
25. Living
Documenta6on
A
star:ng
point
for
manual
tests
Illustrates
delivered
features
Func:onal
and
technical
documenta:on
Progress
repor:ng
26. Living
Documenta6on
Scenario: Searching by keyword
Given Sally wants to buy a puppy for her son
When she looks for ads in the Pets & Animals category containing puppy
Then she should obtain a list of ads for puppies for sale