SlideShare a Scribd company logo
1 of 45
JOURNEY OF ACCEPTANCE TEST DRIVEN
DEVELOPMENT
“Begin with the end in mind.” — Stephen R. Covey
About the speakers
Devesh Maheshwari
Blog: http://www.devmaheshwari.wordpress.com
Twitter: @demahesh
Priyank Dhillon
Blog: http://priyankdhillon.wordpress.com/
Twitter: @priyankdhillon
2
Agenda
3
 What is Acceptance Test Driven
Development?
 Where is it applicable
 How it differs from TDD
 See ATDD in action(Cucumber and Ruby)
 Touch point on various BDD tools
 Anti-patterns & Challenges
Some reasons why projects fail
4
Delivering late
5
Going over budget
6
Delivering wrong
product/feature7
Sales
Department
Development
Team
Customer
1. Initial requirements
Project was rejected by the customer
“Actually, we asked for something different”
2. Adjusted requirements
3. Wrong product
Wrong product contd…
8
Unstable
9
Maintenance cost
10
How to target these problems
 Communication
 Collaboration
 Automation
 Process improvements
 Shared understanding
11
Test Driven Development
12
TDD …
 Is a test first approach
 It leads to think about “How to use a
component” than “how to implement”
 As much about design technique as testing
technique.
13
Quote from Dan North
“TDD will cause me to have lots of tests, but it
won’t necessarily get me nearer the goal of
delivering business value through software”
14
ATDD is about…
15
 Communication
 Collaboration
 Automated acceptance criteria
 Living documentation
 Shared understanding
 Process improvements
 Building the right software
15
ATDD Cycle
16
ATDD & TDD go hand in hand
17
 TDD helps to develop product right
 ATDD helps to develop right product
Shared understanding
“Having the conversation
is more important than
recording the conversation
is more important than
automating the conversation”
– Liz Keogh
Source: http://lizkeogh.com/behaviour-
driven-development/
18
How to build shared
understanding
Shared
understanding
Story
Examples
Automated
Acceptance
Criteria
Working Software
and Living
documentation
19
Acceptance Criteria
+
Examples (data + scenarios)
_____________________
Acceptance Tests
_____________________
Given some precondition
When I do some action
Then I expect some result
Acceptance Tests
20
Good Acceptance Tests
S – Specific: Explicitly defined and definite
M – Measurable: Possible to observe and quantify
A – Achievable: Capable of taking place
R – Relevant: Having a connection with the story
T – Time bound: When will the outcome be observed
Rules
 Focus on “what” you are testing and not on “how”
 Eliminate irrelevant details
 Consolidate similar tests with readable tables
 Use decision tables and boundary analysis to get high
coverage
21
Acceptance Criteria
Feature:
As a Customer
I want to borrow money from the bank
So that I can go on Holiday and enjoy myself
Acceptance Criteria:
In order to get the Holiday Loan approved
1. The Customer must be 18 or older
2. The Customer’s salary must be > $20,000.00
3. The Customer Time in employment must be >= 6
months
4. The Loan amount < (Customer salary)/5
22
23
Step 1 - basic test
24
Focus on “what” you are testing not on
“how”
25
Eliminate irrelevant details
26
Cont..
27
Consolidate similar tests with
readable tables
28
Scenarios – looking back
29
 Define system behavior, not steps
 Simplifies long term maintenance
 Captures domain knowledge
 Do not rely on implementation details
 Test should be self-describing
 Define allowed and disallowed scenarios
 Provide right and failing examples
 Use iterative approach
 Start with defining of the happy path
 Use domain language
ToolsFrameworks
30
 JDave - http://jdave.org/
 Concordion - http://www.concordion.org
 Easyb - http://easyb.org/
 Thucydides- www.thucydides.info
 Jbehave (Java) - http://jbehave.org/
 Cbehave (C) - https://code.google.com/p/cbehave/
 Cucumber - http://cukes.info/
 Igloo (C++) - http://igloo-testing.org/
 Cuke4Nuke
 SpecFlow
 Spinach
Will cucumber test the
features?
No, not really
 Parse the gherkin
 Match gherkin with your test functions
 Execute the matched test functions
 Generate a report
31
Lets see it in action
32
Benefits
33
 Better definition of scope and “done”
 More scenarios identified upfront
 Preventing defects is cheaper than fixing them
 Prevents system regression
 Same visibility for all roles on the team
 Provide visibility
 Living documentation
 Remove the ambiguity
 Customer can give you early feedback
 Customer can read and write some of them
Challenges in adopting ATDD
Works best in an iterative environment
34
Challenges cont...
Writing good scenarios takes practice
35
Challenges cont...
Poorly written tests
can lead to higher
test
maintenance cost.
36
Challenges cont...
Treat test automation code like production
code.
37
Challenges cont...
It requires high business engagement and
collaboration
38
Anti patterns
 The product owner/business analyst writes the
scenario and then gives them to the other
team members.
 Scenarios are UI focused and missing context
(business value).
 Testing team writes the scenario at the end to
implement an automated test suite.
 Developers coming up with scenarios without
having conversation with the team.
39
Way for a better specifications
40
 Collaborative approach
 Specify behavior, not implementation
 Testable requirements
 Automate specification tests
 Control specification maintainability
Other names of ATDD
 Behavior Driven Development
 Specification by example
 Executable specification
41
42
ATDD is not just about
frameworks
It’s about conversation
Making Hard Decisions
Usually early in the project
 Should I use ATDD at all ?
 Should I use Gherkin, will I get value out of it ?
 Should I test UI or only the core ?
 How much UI should I test ?
 Will my customer would read the gherkin ?
 Will my customer be available to participate in
conversation ?
 Is my technical team is the customer ?
 I would like to change my mind in the future.
43
Want to learn more
 Dan North’s blog
http://dannorth.net/introducing-bdd/
 Elisabeth Hendrickson blog
http://testobsessed.com/2008/12/acceptance-test-driven-development-atdd-an-overview
 BDD in action by John Smart
http://www.wakaleo.com
http://www.thucydides.info
 Lisa Crispin and Janet Gregory
http://www.agiletester.ca/
 Wikipedia
http://en.wikipedia.org/wiki/Behavior-driven_development
 Few other links
http://www.extremeprogramming.org
http://lostechies.com/derekgreer/author/derekgreer/
http://mysoftwarequality.wordpress.com
https://blog.codecentric.de
http://mysoftwarequality.wordpress.com/2012/12/14/how-to-transform-bad-acceptance-
tests-into-awesome-ones/
https://blog.codecentric.de/en/2013/08/cucumber-setup-basics/
44
The End
45

More Related Content

What's hot

Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Zohirul Alam Tiemoon
 
Test driven development
Test driven developmentTest driven development
Test driven development
Shalabh Saxena
 
Scrum and Test-driven development
Scrum and Test-driven developmentScrum and Test-driven development
Scrum and Test-driven development
toteb5
 

What's hot (20)

Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
Overview on TDD (Test Driven Development) & ATDD (Acceptance Test Driven Deve...
 
Agile Test Driven Development
Agile Test Driven DevelopmentAgile Test Driven Development
Agile Test Driven Development
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the Enterprise
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
 
TDD That Was Easy!
TDD   That Was Easy!TDD   That Was Easy!
TDD That Was Easy!
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
TDD and BDD and ATDD
TDD and BDD and ATDDTDD and BDD and ATDD
TDD and BDD and ATDD
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD)
 
Scrum and Test-driven development
Scrum and Test-driven developmentScrum and Test-driven development
Scrum and Test-driven development
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010
 
The WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpecThe WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpec
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Scrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - ColomboScrum + Behavior Driven Development (BDD) - Colombo
Scrum + Behavior Driven Development (BDD) - Colombo
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 
Test Driven Development by Denis Lutz
Test Driven Development by Denis LutzTest Driven Development by Denis Lutz
Test Driven Development by Denis Lutz
 

Similar to Journey of atdd

Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
Philip Johnson
 

Similar to Journey of atdd (20)

Making the Move to Behavior Driven Development
Making the Move to Behavior Driven DevelopmentMaking the Move to Behavior Driven Development
Making the Move to Behavior Driven Development
 
Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile Environment
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance Criteria
 
Trends in software testing by Eka TechServ
Trends in software testing  by Eka TechServTrends in software testing  by Eka TechServ
Trends in software testing by Eka TechServ
 
Choosing an alm tool set
Choosing an alm tool setChoosing an alm tool set
Choosing an alm tool set
 
Risk Driven Testing
Risk Driven TestingRisk Driven Testing
Risk Driven Testing
 
Discover Requirement
Discover RequirementDiscover Requirement
Discover Requirement
 
Intro to agile testing
Intro to agile testingIntro to agile testing
Intro to agile testing
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
 
Testaus 2014: Paul Gerrard - The Changing Role of Testers'
Testaus 2014: Paul Gerrard - The Changing Role of Testers'Testaus 2014: Paul Gerrard - The Changing Role of Testers'
Testaus 2014: Paul Gerrard - The Changing Role of Testers'
 
Lean pilots by Mariya Breyter from Dun & Bradstreet
Lean pilots by Mariya Breyter from Dun & BradstreetLean pilots by Mariya Breyter from Dun & Bradstreet
Lean pilots by Mariya Breyter from Dun & Bradstreet
 
Acceptance Test Driven Development at StarWest 2014
Acceptance Test Driven Development at StarWest 2014Acceptance Test Driven Development at StarWest 2014
Acceptance Test Driven Development at StarWest 2014
 
What is agile
What is agileWhat is agile
What is agile
 
Agile testing
Agile testingAgile testing
Agile testing
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
 
Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria
 
Test case development
Test case developmentTest case development
Test case development
 
1st module.....
1st module.....1st module.....
1st module.....
 
B4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriaB4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteria
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Journey of atdd

  • 1. JOURNEY OF ACCEPTANCE TEST DRIVEN DEVELOPMENT “Begin with the end in mind.” — Stephen R. Covey
  • 2. About the speakers Devesh Maheshwari Blog: http://www.devmaheshwari.wordpress.com Twitter: @demahesh Priyank Dhillon Blog: http://priyankdhillon.wordpress.com/ Twitter: @priyankdhillon 2
  • 3. Agenda 3  What is Acceptance Test Driven Development?  Where is it applicable  How it differs from TDD  See ATDD in action(Cucumber and Ruby)  Touch point on various BDD tools  Anti-patterns & Challenges
  • 4. Some reasons why projects fail 4
  • 7. Delivering wrong product/feature7 Sales Department Development Team Customer 1. Initial requirements Project was rejected by the customer “Actually, we asked for something different” 2. Adjusted requirements 3. Wrong product
  • 11. How to target these problems  Communication  Collaboration  Automation  Process improvements  Shared understanding 11
  • 13. TDD …  Is a test first approach  It leads to think about “How to use a component” than “how to implement”  As much about design technique as testing technique. 13
  • 14. Quote from Dan North “TDD will cause me to have lots of tests, but it won’t necessarily get me nearer the goal of delivering business value through software” 14
  • 15. ATDD is about… 15  Communication  Collaboration  Automated acceptance criteria  Living documentation  Shared understanding  Process improvements  Building the right software 15
  • 17. ATDD & TDD go hand in hand 17  TDD helps to develop product right  ATDD helps to develop right product
  • 18. Shared understanding “Having the conversation is more important than recording the conversation is more important than automating the conversation” – Liz Keogh Source: http://lizkeogh.com/behaviour- driven-development/ 18
  • 19. How to build shared understanding Shared understanding Story Examples Automated Acceptance Criteria Working Software and Living documentation 19
  • 20. Acceptance Criteria + Examples (data + scenarios) _____________________ Acceptance Tests _____________________ Given some precondition When I do some action Then I expect some result Acceptance Tests 20
  • 21. Good Acceptance Tests S – Specific: Explicitly defined and definite M – Measurable: Possible to observe and quantify A – Achievable: Capable of taking place R – Relevant: Having a connection with the story T – Time bound: When will the outcome be observed Rules  Focus on “what” you are testing and not on “how”  Eliminate irrelevant details  Consolidate similar tests with readable tables  Use decision tables and boundary analysis to get high coverage 21
  • 22. Acceptance Criteria Feature: As a Customer I want to borrow money from the bank So that I can go on Holiday and enjoy myself Acceptance Criteria: In order to get the Holiday Loan approved 1. The Customer must be 18 or older 2. The Customer’s salary must be > $20,000.00 3. The Customer Time in employment must be >= 6 months 4. The Loan amount < (Customer salary)/5 22
  • 23. 23
  • 24. Step 1 - basic test 24
  • 25. Focus on “what” you are testing not on “how” 25
  • 28. Consolidate similar tests with readable tables 28
  • 29. Scenarios – looking back 29  Define system behavior, not steps  Simplifies long term maintenance  Captures domain knowledge  Do not rely on implementation details  Test should be self-describing  Define allowed and disallowed scenarios  Provide right and failing examples  Use iterative approach  Start with defining of the happy path  Use domain language
  • 30. ToolsFrameworks 30  JDave - http://jdave.org/  Concordion - http://www.concordion.org  Easyb - http://easyb.org/  Thucydides- www.thucydides.info  Jbehave (Java) - http://jbehave.org/  Cbehave (C) - https://code.google.com/p/cbehave/  Cucumber - http://cukes.info/  Igloo (C++) - http://igloo-testing.org/  Cuke4Nuke  SpecFlow  Spinach
  • 31. Will cucumber test the features? No, not really  Parse the gherkin  Match gherkin with your test functions  Execute the matched test functions  Generate a report 31
  • 32. Lets see it in action 32
  • 33. Benefits 33  Better definition of scope and “done”  More scenarios identified upfront  Preventing defects is cheaper than fixing them  Prevents system regression  Same visibility for all roles on the team  Provide visibility  Living documentation  Remove the ambiguity  Customer can give you early feedback  Customer can read and write some of them
  • 34. Challenges in adopting ATDD Works best in an iterative environment 34
  • 35. Challenges cont... Writing good scenarios takes practice 35
  • 36. Challenges cont... Poorly written tests can lead to higher test maintenance cost. 36
  • 37. Challenges cont... Treat test automation code like production code. 37
  • 38. Challenges cont... It requires high business engagement and collaboration 38
  • 39. Anti patterns  The product owner/business analyst writes the scenario and then gives them to the other team members.  Scenarios are UI focused and missing context (business value).  Testing team writes the scenario at the end to implement an automated test suite.  Developers coming up with scenarios without having conversation with the team. 39
  • 40. Way for a better specifications 40  Collaborative approach  Specify behavior, not implementation  Testable requirements  Automate specification tests  Control specification maintainability
  • 41. Other names of ATDD  Behavior Driven Development  Specification by example  Executable specification 41
  • 42. 42 ATDD is not just about frameworks It’s about conversation
  • 43. Making Hard Decisions Usually early in the project  Should I use ATDD at all ?  Should I use Gherkin, will I get value out of it ?  Should I test UI or only the core ?  How much UI should I test ?  Will my customer would read the gherkin ?  Will my customer be available to participate in conversation ?  Is my technical team is the customer ?  I would like to change my mind in the future. 43
  • 44. Want to learn more  Dan North’s blog http://dannorth.net/introducing-bdd/  Elisabeth Hendrickson blog http://testobsessed.com/2008/12/acceptance-test-driven-development-atdd-an-overview  BDD in action by John Smart http://www.wakaleo.com http://www.thucydides.info  Lisa Crispin and Janet Gregory http://www.agiletester.ca/  Wikipedia http://en.wikipedia.org/wiki/Behavior-driven_development  Few other links http://www.extremeprogramming.org http://lostechies.com/derekgreer/author/derekgreer/ http://mysoftwarequality.wordpress.com https://blog.codecentric.de http://mysoftwarequality.wordpress.com/2012/12/14/how-to-transform-bad-acceptance- tests-into-awesome-ones/ https://blog.codecentric.de/en/2013/08/cucumber-setup-basics/ 44