SlideShare a Scribd company logo
1 of 11
What is ATDD
• ATDD - "Acceptance Test Driven Development"
• ATDD is a practice in which the whole team discusses
acceptance criteria and the tests needed to ensure that
the feature meets the user's expectations.
• ATDD is the best way to ensure that the team
understands what is needed to meet the user's
expectations - thus ensuring they have a shared
definition of Done.
• ATDD is about collaboration and communication and not
so much about testing, in that it clarifies the
requirements and the definition of done.
Stages of an ATDD Cycle
Discuss: The team discusses and list, from the
user’s perspective, the functionality that the
feature must include and won't include to
meet the users expectations and thus what
needs to be tested.
Distill: The team defines the tests, including the
test scenarios and the data needed to
complete and to confirm the tests.
Develop: The team follows the Test Driven
Design (TDD) approach. First developing and
implementing the unit tests that will by
design fail and then writes the code that will
result in the tests passing.
Demo: The team demos the feature to the
stake holders, including showing the tests
with results and listing any vulnerabilities
identified through the testing.
Sample
User Story
As a student taking an online test,
I need an online calculator,
so that I can complete my assignments within the
testing application.
Acceptance Criteria:
• The calculator will add
• The calculator will subtract
• The calculator will multiply
Sample Continues…
Wireframe
Sample
...Sample Continues
• The calculator will divide
• The calculator will support 10 digits
• The calculator will have a clear function that will clear
the calculator’s memory
• The calculator will have the ability to delete one digit
at a time
• The calculator will work with the keyboard for direct
entry
• The calculator will work by clicking the keys on the
screens
Wireframe
ATDD Cycle – Discuss Stage
Discuss: The team discusses and list, from the user’s
perspective, the functionality that the feature must include
and won't include to meet the users expectations and thus
what needs to be tested.
Start with the Acceptance Criteria, list all the functionality that
must be included and won't be included, then investigate for
missing criteria.
Missing Criteria
• An equal or totaling function
that is triggered by hitting the
“Enter Key”.
• Support decimals
• Support negative numbers
• Rounding up .5 or above
• Display error if an error occurs
• Errors are cleared by using the
clear function
Future Consideration
• An “=“ button
• Negative signing for
entered values
• Percentage
• Carrying previous
totals into the
operation
• Help
ATDD Cycle – Distill Stage
Distill: The team defines the tests, including the test scenarios and the data needed to complete and to
confirm the tests.
The following is designed for a FIT/SLIP test
Test V1 V2 V3 V4 Expected
Add 5 + 6 [Enter] 11
Subtract 7 - 2 [Enter] 5
Multiply 3 * 5 [Enter] 15
Divide 9 / 3 [Enter] 3
10 digits support 1234567890 + 1 [Enter] 1234567891
Clear all 5 + 5 C [Null]
del digit 1 by 1 123456 < < < 123
Keyboard entry manual test
Screens entry manual test
= “Enter Key” included above
Support decimals 5.5 x 0.1 [Enter] 0.55
Support Neg Num 5 - 6 [Enter] -1
Rndg up at .5+ 5 / 9 [Enter] 0.555555556
Display error 5 / 0 [Enter] E
Clear error After above error
C [Enter] [Null]
ATDD Cycle – Develop & Demo Stage
Develop: The team follows the Test Driven Design
(TDD) approach. First developing and
implementing the unit tests that will by design
fail and then writes the code that will result in
the tests passing.
Demo: The team demos the feature to the stake
holders, including showing the tests with results
and listing any vulnerabilities identified through
the testing.
ATDD Conclusion
ATDD dramatically improves the development
process according to a 2005 study reported by
Atlassian & cPrime, which stated:
• Project delivery time increase by 30% or more on
average.
• Defects dropped by as much as 75%.
• Long-term maintenance costs dropped
significantly
• Stakeholder confidence of development soared
ATDD Conclusion
This is due to:
• Improved understanding of requirements
• Closer collaboration
• Shared view of done
• Clear definition of done
• Common understandings of requirements
• More complete list of requirements
• Beginning testing earlier
ATDD Conclusion
• ATDD is a natural fit for Agile in that it
encourages team work and collaboration
while working with the client.
Thanks
Stephen Tucker, Enterprise Agile Coach

More Related Content

What's hot

Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)David Ehringer
 
ATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven DevelopmentATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven DevelopmentNaresh Jain
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development CodeOps Technologies LLP
 
Unit Testing Concepts and Best Practices
Unit Testing Concepts and Best PracticesUnit Testing Concepts and Best Practices
Unit Testing Concepts and Best PracticesDerek Smith
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentationCarl Bruiners
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Mohamed Taman
 
TDD (Test Driven Design)
TDD (Test Driven Design)TDD (Test Driven Design)
TDD (Test Driven Design)nedirtv
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For AgileNaresh Jain
 
Introduction to TDD (Test Driven development) - Ahmed Shreef
Introduction to TDD (Test Driven development) - Ahmed ShreefIntroduction to TDD (Test Driven development) - Ahmed Shreef
Introduction to TDD (Test Driven development) - Ahmed ShreefAhmed Shreef
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentTung Nguyen Thanh
 
Introduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentIntroduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentElisabeth Hendrickson
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentMireia Sangalo
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
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 2010guest5639fa9
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Lars Thorup
 

What's hot (20)

Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
 
ATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven DevelopmentATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven Development
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
 
Unit Testing Concepts and Best Practices
Unit Testing Concepts and Best PracticesUnit Testing Concepts and Best Practices
Unit Testing Concepts and Best Practices
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
TDD refresher
TDD refresherTDD refresher
TDD refresher
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.
 
TDD (Test Driven Design)
TDD (Test Driven Design)TDD (Test Driven Design)
TDD (Test Driven Design)
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
Introduction to TDD (Test Driven development) - Ahmed Shreef
Introduction to TDD (Test Driven development) - Ahmed ShreefIntroduction to TDD (Test Driven development) - Ahmed Shreef
Introduction to TDD (Test Driven development) - Ahmed Shreef
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Agile QA Process
Agile QA ProcessAgile QA Process
Agile QA Process
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
Introduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentIntroduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven Development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
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
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)
 

Viewers also liked

Acceptance test driven development (attd) cycle
Acceptance test driven development (attd) cycleAcceptance test driven development (attd) cycle
Acceptance test driven development (attd) cycleGiuseppe Torchia
 
Acceptance Test Driven Development With Spec Flow And Friends
Acceptance Test Driven Development With Spec Flow And FriendsAcceptance Test Driven Development With Spec Flow And Friends
Acceptance Test Driven Development With Spec Flow And FriendsChristopher Bartling
 
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 2014jaredrrichardson
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseClareMcLennan
 
Writing Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using FitnesseWriting Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using FitnesseFacundo Farias
 
How To Fit Testing Into The Iteration
How To Fit Testing Into The IterationHow To Fit Testing Into The Iteration
How To Fit Testing Into The IterationRally Software
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot FrameworkPekka Klärck
 
Model-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next LevelModel-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next LevelBob Binder
 
Unit testing and TDD
Unit testing and TDDUnit testing and TDD
Unit testing and TDDDavid Bottiau
 
Πρόγραμμα Κοινωνικού Τουρισμού 2016 - 2017
Πρόγραμμα Κοινωνικού Τουρισμού 2016 -  2017Πρόγραμμα Κοινωνικού Τουρισμού 2016 -  2017
Πρόγραμμα Κοινωνικού Τουρισμού 2016 - 2017Panayotis Sofianopoulos
 
Feresin, C., Wade, N. J., Swanston, M. T.
Feresin, C., Wade, N. J., Swanston, M. T.Feresin, C., Wade, N. J., Swanston, M. T.
Feresin, C., Wade, N. J., Swanston, M. T.Catina Feresin
 

Viewers also liked (17)

Acceptance test driven development (attd) cycle
Acceptance test driven development (attd) cycleAcceptance test driven development (attd) cycle
Acceptance test driven development (attd) cycle
 
ATDD in practice
ATDD in practiceATDD in practice
ATDD in practice
 
Specflow - Criando uma ponte entre desenvolvedores.
Specflow - Criando uma ponte entre desenvolvedores.Specflow - Criando uma ponte entre desenvolvedores.
Specflow - Criando uma ponte entre desenvolvedores.
 
Acceptance Test Driven Development With Spec Flow And Friends
Acceptance Test Driven Development With Spec Flow And FriendsAcceptance Test Driven Development With Spec Flow And Friends
Acceptance Test Driven Development With Spec Flow And Friends
 
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
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Writing Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using FitnesseWriting Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using Fitnesse
 
How To Fit Testing Into The Iteration
How To Fit Testing Into The IterationHow To Fit Testing Into The Iteration
How To Fit Testing Into The Iteration
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 
Model-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next LevelModel-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next Level
 
Unit testing and TDD
Unit testing and TDDUnit testing and TDD
Unit testing and TDD
 
ΣΕΒ 17-11-2016
ΣΕΒ 17-11-2016ΣΕΒ 17-11-2016
ΣΕΒ 17-11-2016
 
Πρόγραμμα Κοινωνικού Τουρισμού 2016 - 2017
Πρόγραμμα Κοινωνικού Τουρισμού 2016 -  2017Πρόγραμμα Κοινωνικού Τουρισμού 2016 -  2017
Πρόγραμμα Κοινωνικού Τουρισμού 2016 - 2017
 
Sprains
SprainsSprains
Sprains
 
التهوية النفقية وكيفية حساب قدرة سحب المراوح ؟؟؟
التهوية النفقية وكيفية حساب قدرة سحب المراوح ؟؟؟التهوية النفقية وكيفية حساب قدرة سحب المراوح ؟؟؟
التهوية النفقية وكيفية حساب قدرة سحب المراوح ؟؟؟
 
Feresin, C., Wade, N. J., Swanston, M. T.
Feresin, C., Wade, N. J., Swanston, M. T.Feresin, C., Wade, N. J., Swanston, M. T.
Feresin, C., Wade, N. J., Swanston, M. T.
 

Similar to Agile and ATDD the perfect couple

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 EnvironmentRaj Indugula
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsPankaj Dubey
 
Reduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven DevelopmentReduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven Developmentsthicks14
 
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 EnterpriseQASymphony
 
Is Test Planning a lost art in Agile? by Michelle Williams
Is Test Planning a lost art in Agile? by Michelle WilliamsIs Test Planning a lost art in Agile? by Michelle Williams
Is Test Planning a lost art in Agile? by Michelle WilliamsQA or the Highway
 
SbE - Requirements in an agile process
SbE - Requirements in an agile processSbE - Requirements in an agile process
SbE - Requirements in an agile processChris Schotanus
 
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptxabhivastrad007
 
ATDD Quiz For Managers
ATDD Quiz For ManagersATDD Quiz For Managers
ATDD Quiz For ManagersNishant Singh
 
Predictive Analytics based Regression Test Optimization
Predictive Analytics based Regression Test OptimizationPredictive Analytics based Regression Test Optimization
Predictive Analytics based Regression Test OptimizationSTePINForum
 
Test Driven Development Introduction
Test Driven Development IntroductionTest Driven Development Introduction
Test Driven Development IntroductionNguyen Hai
 
Quality Assurance: An Overview
Quality Assurance: An OverviewQuality Assurance: An Overview
Quality Assurance: An OverviewAnant Corporation
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Fabricio Epaminondas
 
Software quality metrics
Software quality metricsSoftware quality metrics
Software quality metricsSandeep Supal
 

Similar to Agile and ATDD the perfect couple (20)

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
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tips
 
Reduce Development Cost with Test Driven Development
Reduce Development Cost with Test Driven DevelopmentReduce Development Cost with Test Driven Development
Reduce Development Cost with 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
 
Is Test Planning a lost art in Agile? by Michelle Williams
Is Test Planning a lost art in Agile? by Michelle WilliamsIs Test Planning a lost art in Agile? by Michelle Williams
Is Test Planning a lost art in Agile? by Michelle Williams
 
SbE - Requirements in an agile process
SbE - Requirements in an agile processSbE - Requirements in an agile process
SbE - Requirements in an agile process
 
Agile testing
Agile testingAgile testing
Agile testing
 
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
 
Methodology: IT test
Methodology: IT testMethodology: IT test
Methodology: IT test
 
Atdd half day_new_1_up
Atdd half day_new_1_upAtdd half day_new_1_up
Atdd half day_new_1_up
 
ATDD Quiz For Managers
ATDD Quiz For ManagersATDD Quiz For Managers
ATDD Quiz For Managers
 
Predictive Analytics based Regression Test Optimization
Predictive Analytics based Regression Test OptimizationPredictive Analytics based Regression Test Optimization
Predictive Analytics based Regression Test Optimization
 
Agile Testing - What is it?
Agile Testing - What is it?Agile Testing - What is it?
Agile Testing - What is it?
 
Agile Testing
Agile Testing  Agile Testing
Agile Testing
 
Test Driven Development Introduction
Test Driven Development IntroductionTest Driven Development Introduction
Test Driven Development Introduction
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Methods of agile
Methods of agileMethods of agile
Methods of agile
 
Quality Assurance: An Overview
Quality Assurance: An OverviewQuality Assurance: An Overview
Quality Assurance: An Overview
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
 
Software quality metrics
Software quality metricsSoftware quality metrics
Software quality metrics
 

More from Stephen Tucker

Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessSplitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessStephen Tucker
 
it_executive_of_the_year
it_executive_of_the_yearit_executive_of_the_year
it_executive_of_the_yearStephen Tucker
 
Insight into our leaders
Insight into our leadersInsight into our leaders
Insight into our leadersStephen Tucker
 
Stephen Tucker IT Executive of the Year
Stephen Tucker IT Executive of the YearStephen Tucker IT Executive of the Year
Stephen Tucker IT Executive of the YearStephen Tucker
 
Baycrest IT Review 2003
Baycrest IT Review 2003Baycrest IT Review 2003
Baycrest IT Review 2003Stephen Tucker
 
Press_Releases_Baycrest
Press_Releases_BaycrestPress_Releases_Baycrest
Press_Releases_BaycrestStephen Tucker
 

More from Stephen Tucker (6)

Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessSplitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
 
it_executive_of_the_year
it_executive_of_the_yearit_executive_of_the_year
it_executive_of_the_year
 
Insight into our leaders
Insight into our leadersInsight into our leaders
Insight into our leaders
 
Stephen Tucker IT Executive of the Year
Stephen Tucker IT Executive of the YearStephen Tucker IT Executive of the Year
Stephen Tucker IT Executive of the Year
 
Baycrest IT Review 2003
Baycrest IT Review 2003Baycrest IT Review 2003
Baycrest IT Review 2003
 
Press_Releases_Baycrest
Press_Releases_BaycrestPress_Releases_Baycrest
Press_Releases_Baycrest
 

Agile and ATDD the perfect couple

  • 1.
  • 2. What is ATDD • ATDD - "Acceptance Test Driven Development" • ATDD is a practice in which the whole team discusses acceptance criteria and the tests needed to ensure that the feature meets the user's expectations. • ATDD is the best way to ensure that the team understands what is needed to meet the user's expectations - thus ensuring they have a shared definition of Done. • ATDD is about collaboration and communication and not so much about testing, in that it clarifies the requirements and the definition of done.
  • 3. Stages of an ATDD Cycle Discuss: The team discusses and list, from the user’s perspective, the functionality that the feature must include and won't include to meet the users expectations and thus what needs to be tested. Distill: The team defines the tests, including the test scenarios and the data needed to complete and to confirm the tests. Develop: The team follows the Test Driven Design (TDD) approach. First developing and implementing the unit tests that will by design fail and then writes the code that will result in the tests passing. Demo: The team demos the feature to the stake holders, including showing the tests with results and listing any vulnerabilities identified through the testing.
  • 4. Sample User Story As a student taking an online test, I need an online calculator, so that I can complete my assignments within the testing application. Acceptance Criteria: • The calculator will add • The calculator will subtract • The calculator will multiply Sample Continues… Wireframe
  • 5. Sample ...Sample Continues • The calculator will divide • The calculator will support 10 digits • The calculator will have a clear function that will clear the calculator’s memory • The calculator will have the ability to delete one digit at a time • The calculator will work with the keyboard for direct entry • The calculator will work by clicking the keys on the screens Wireframe
  • 6. ATDD Cycle – Discuss Stage Discuss: The team discusses and list, from the user’s perspective, the functionality that the feature must include and won't include to meet the users expectations and thus what needs to be tested. Start with the Acceptance Criteria, list all the functionality that must be included and won't be included, then investigate for missing criteria. Missing Criteria • An equal or totaling function that is triggered by hitting the “Enter Key”. • Support decimals • Support negative numbers • Rounding up .5 or above • Display error if an error occurs • Errors are cleared by using the clear function Future Consideration • An “=“ button • Negative signing for entered values • Percentage • Carrying previous totals into the operation • Help
  • 7. ATDD Cycle – Distill Stage Distill: The team defines the tests, including the test scenarios and the data needed to complete and to confirm the tests. The following is designed for a FIT/SLIP test Test V1 V2 V3 V4 Expected Add 5 + 6 [Enter] 11 Subtract 7 - 2 [Enter] 5 Multiply 3 * 5 [Enter] 15 Divide 9 / 3 [Enter] 3 10 digits support 1234567890 + 1 [Enter] 1234567891 Clear all 5 + 5 C [Null] del digit 1 by 1 123456 < < < 123 Keyboard entry manual test Screens entry manual test = “Enter Key” included above Support decimals 5.5 x 0.1 [Enter] 0.55 Support Neg Num 5 - 6 [Enter] -1 Rndg up at .5+ 5 / 9 [Enter] 0.555555556 Display error 5 / 0 [Enter] E Clear error After above error C [Enter] [Null]
  • 8. ATDD Cycle – Develop & Demo Stage Develop: The team follows the Test Driven Design (TDD) approach. First developing and implementing the unit tests that will by design fail and then writes the code that will result in the tests passing. Demo: The team demos the feature to the stake holders, including showing the tests with results and listing any vulnerabilities identified through the testing.
  • 9. ATDD Conclusion ATDD dramatically improves the development process according to a 2005 study reported by Atlassian & cPrime, which stated: • Project delivery time increase by 30% or more on average. • Defects dropped by as much as 75%. • Long-term maintenance costs dropped significantly • Stakeholder confidence of development soared
  • 10. ATDD Conclusion This is due to: • Improved understanding of requirements • Closer collaboration • Shared view of done • Clear definition of done • Common understandings of requirements • More complete list of requirements • Beginning testing earlier
  • 11. ATDD Conclusion • ATDD is a natural fit for Agile in that it encourages team work and collaboration while working with the client. Thanks Stephen Tucker, Enterprise Agile Coach