acceptance test driven development
DESCRIPTION
TRANSCRIPT
Acceptance Driven Development
Joshua Partogi (@jpartogi)Principal ConsultantPT. Scrum Asia Pasifik (www.scrum.co.id)
Our Agenda
• Introduction• A little background• What is Acceptance Test Driven Development• How to do Acceptance Test Driven
Development• Why Acceptance Test Driven Development• Questions and Answers
• How many of you are using Visual Studio Ultimate edition?
• How many of you are using Team Foundation Server?
• How many of you are not using .NET platform?
• How many of you are using Scrum?
• How many of you are Agile?• How many of you are becoming
Agile soon?• How many of you who thinks
being Agile is important?
We want to make the perfect softwarePlanning & Design
Development
Testing
By trying to make perfect documentation upfront
With many sign-offs
But those people who gave sign-offs rarely read those perfect documentations thoroughly
MythWith more analysis and effort, estimates get significantly more accurate.
Accuracy
Effort or Time
Details is actually expensive
Good documentation (upfront) will not guarantee you will get a good
software
Because sometimes we trade-off testingPlanning & Design
Development
TestingPlanning & Design
Development
DesignDevelopme
ntTestingP
lannin
g
Revi
ew
R
DesignDevelopme
ntTestingP
lannin
g
Revi
ew
R
DesignDevelopme
ntTestingP
lannin
g
Revi
ew
R
2 weeks
Deliver working software in short cycle
Now many teams / organisations are using Scrum
Pla
nnin
g
Revi
ew
RPla
nnin
g
Revi
ew
R
Pla
nnin
g
Revi
ew
R
Some Scrum teams are actually doing mini-waterfall
Even worse problem than Waterfall
What is Acceptance Test Driven Development (ATDD)?
A Development process where we write
(automated) acceptance test code before
writing production code
• NSubstitute• Fluent Assertions• Specflow• Git• Microsoft Test Manager• Visual Studio• Team Foundation Service
DEMO: The How
Write Acceptance
Test
Integrate and
Validate
Write Test Cases
Write Specs
Write Code
Why Acceptance Test Driven Development?• Shared understanding and goal about the
expectations of the behaviour of the software –
Team collaboration
• A reliable documentation that match the quality of
the software and is integrated with the production
code
• Highly testable system and reduce the pain in
manual regression testing
Are you Agile or Fragile?
Send your whole team to
Professional Scrum Developer Coursewww.scrum.co.id
@jpartogi
Professional Scrum TrainerBlog.scrum.co.id
www.scrum.co.id