The following topics are covered:
• Overview of Agile Testing
• The Test Pyramid
• Different flavors of TDD
o BDD – Behavior Driven Development
o ATDD – Acceptance Driven Development
o BDT – Behavior Driven Testing
• Difference between BDD and BDT
• Tools that support BDT
• The value proposition of BDT
3. Itera&on
0
Itera&on
1
Itera&on
2
Itera&on
3
..
..
Itera&on
n
Story
test
Showcase
Showcase
Showcase
analysis
for
IPM
Itera2on
1,
Itera2on
2,
Itera2on
n-‐1,
Itera2on
1
IPM
IPM
IPM
Test
Support
Support
Support
Itera&on
1
Automa&on
Itera2on
1
Itera2on
2
Itera2on
n-‐1
Story
tes&ng
-‐
strategy,
framework
setup,
etc.
Story
test
Itera&on
2
Itera&on
3
Itera&on
n
analysis
for
Story
tes&ng
Story
tes&ng
Story
tes&ng
Itera2on
2
Test
Test
Test
Automa&on
Automa&on
Automa&on
maint.,
maint.,
maint.,
execu&on
execu&on
execu&on
Story
test
Story
test
Story
test
analysis
for
analysis
for
analysis
for
Itera2on
3
Itera2on
4
Itera2on
n+1
4. Story
planning
and
wri&ng
Showcase
IPM
Automa&on
(execu&on,
QA
kickoff
maintenance)
Agile
Tes2ng
in
an
Itera2on
Manual
+
Exploratory
Story
kickoff
Tes&ng
BA
/
QA
Test
Scenario
Volleyball
Wri&ng
Implement
Test
Automa&on
24. Expected
Func&onality:
The
customer
should
be
able
to
withdraw
money
from
his
account
via
an
ATM
machine
25. BDD
Example:
Given
the
account
has
balance
of
INR
5000
When
the
customer
requests
INR
1000
Then
the
account
is
debited
by
INR
1000
26. BDT
Example:
Given
the
account
is
in
credit
And
the
dispenser
contains
cash
When
the
customer
requests
cash
Then
ensure
the
account
is
debited
And
ensure
cash
is
dispensed
And
ensure
the
card
is
returned
27. New
Expected
Func&onality:
The
customer
should
be
able
to
withdraw
money
from
his
account
only
if
his
card
is
valid
28. BDT
Example
-‐
updated:
Given
the
account
is
in
credit
And
the
card
is
valid
And
the
dispenser
contains
cash
When
the
customer
requests
cash
Then
ensure
the
account
is
debited
And
ensure
cash
is
dispensed
And
ensure
the
card
is
returned
29. Test
specifica*on
styles
Story:
Animal
Submission
As
a
Zoologist
I
want
to
add
a
new
animal
to
the
site
So
that
I
can
share
my
animal
knowledge
with
the
community
30. Impera*ve
Scenario
Given
I
am
on
the
animal
crea*on
page
When
I
fill
in
Name
with
‘Alligator’
And
fill
in
Genus
with
‘Alligator’
And
check
Lay
Eggs
And
click
the
Create
buCon
Then
I
should
see
the
no*ce
‘Thank
you
for
your
animal
submission!’
And
the
page
should
include
the
animal’s
name,
genus
and
lay’s
eggs
Reference:
hCp://wa*rmelon.com/2010/12/10/cucumber-‐impera*ve-‐or-‐declara*ve-‐that-‐is-‐the-‐ques*on/
31. Declara*ve
Scenario
Given
I
am
on
the
animal
crea*on
page
When
I
add
a
new
animal
Then
I
animal
should
be
created
successfully
Reference:
hCp://wa*rmelon.com/2010/12/10/cucumber-‐impera*ve-‐or-‐declara*ve-‐that-‐is-‐the-‐ques*on/
37. Given
auc&oneer
creates
a
sale
And
5
items
are
added
to
the
Who
is
doing
the
sale
ac*on?
When
auc&oneer
starts
the
What
is
the
business
sale
func*onality?
And
auc&oneer
sets
a
star*ng
Ac*ons
and
bid
of
5000
verifica*ons
happen
And
buyer_1
bids
implicitly
And
buyer_2
bids
Depicts
a
user
flow
Then
auc&oneer
Sells
the
item
And
buyer_2
wins
the
item
38. Current
state
Tests
running
on
Hudson
/
Jenkins
Since
1st
test
was
automated
Feature
files
33
Scenarios
65
Smoke
tests
execu*on
*me
15
minutes
Regression
tests
execu*on
*me
45
minutes
Test
case
repository
(manual
+
Cucumber
.feature
files
with
automated)
appropriate
tagging
Project
Management
tool
Mingle