SlideShare a Scribd company logo
1 of 19
Intro.toBDD
(BehaviorDrivenDevelopment)
WhatisBDD?
“BDDisasecond-generation,outside-in,pull-based,multiple-stakeholder,multiple-scale,
high-automation,agilemethodology.Itdescribesacycleofinteractionswithwell-defined
outputs,resultinginthedeliveryofworking,testedsoftwarethatmatters.”
--DANNORTH
(CREATOROFJBEHAVETESTFRAMEWORKANDMANYBDDCONCEPTS)
WhatisBDD?
“BDDisasecond-generation,outside-in,pull-based,multiple-stakeholder,multiple-scale,
high-automation,agilemethodology.Itdescribesacycleofinteractionswithwell-defined
outputs,resultinginthedeliveryofworking,testedsoftwarethatmatters.”
--DANNORTH
(CREATOROFJBEHAVETESTFRAMEWORKANDMANYBDDCONCEPTS)
WhatBDDISNOT?
TESTFRAMEWORK
AUTOMATION
CUCUMBER
“GHERKIN”SYNTAX
TheonlywaytoTest
WhatBDDISNOT?
TESTFRAMEWORK
AUTOMATION
CUCUMBER
“GHERKIN”SYNTAX
TheonlywaytoTest
BEHAVIORDRIVENDEVELOPMENT
BDDisaboutDEVELOPMENT
NotCODING
THEDEVELOPMENTPROCESS
1. Customerwantsafeature.
2. Definethefeature.
3. Buildthefeature.
4. TesttheFeature.
TAUTOLOGICALDEFINITIONOFBDD
BDDis
Anagileprocess
ForDescribingBEHAVIORS
ThatDRIVEStheway
SoftwareisDEVELOPED.
WT?
It’sawaytowriterequirements
Thatcanbeunderstoodbyeveryone (SEEDOMAINDRIVENDESIGN,byERICEVANS-norelation)
AndExecutedDirectly.
IT’sEXECUTABLEDOCUMENTATION.
BDD&TDD
BEHAVIORDRIVENDEVELOPMENT
CamefromTESTDRIVENDEVELOPMENT. (SEEEXTREMEPROGRAMMINGEXPLAINEDbyKENTBECK -alsono
relation)
ITREcognizesthat CommunicatingwithNon-ProgrammersisIMPORTANT
ButthatDOCUMENTATIONcanbecomeoutdated
WHYDOBDD
(multiplechoiceQuiz)
A. Managementsaysso.
B. Itmakestestingeasier.
C. TocommunicateBETTER.
D. ALLoftheAbove.
TWO(main)STYLESOFBDD
CUCUMBER
GIVEN/WHEN/THEN
MOREDETAILED
MOREORGANIZED
MORERIGID
DOCSINDEPENDENTOFCODE
SPEC
DESCRIBE/ITSHOULD
MORECONCISE
LESSSTRUCTURE
MOREFREEFORM
DOCSGENERATEDBYCODE
CUCUMBER
(1of3)Feature:[TITLE]
Asa[ROLE]
Iwant[FEATURE]
SOTHAT[BENEFIT]
Focusonthereasonfordevelopingafeature.
CUCUMBER
(2of3)SCENARIO:[DESCRIPTION]
GIVEN[INITIALCONTEXT]
WHEN[ACTION]
THEN[EXPECTEDRESULT]
Describeeachscenariowithpreconditions,steps,andexpectedresults.
CUCUMBER
(3of3)EXAMPLES:
Provideconcreteexamples.
USER PASSWORD COMMAND MESSAGE
aaron SECRET Openpodbaydoors ACCESSDENIED
dave DAISY Openpodbaydoors I’mSORRYDAVE,I’mafraidIcan’tdothat
SPEC(RSPEC,MOCHA)
DESCRIBE([FEATURE])
It([BEHAVIOR])
...implementation
Documentation&implementationlivetogether
WHENTOUSECUCUMBER/GHERKIN
Typicallyusedforuserstorieswhereproductownerisinvolved
andshouldwrite,(oratleastapproveof),theSPEC.
Thespecisamechanism forcommunication,notawaytodictatefeatures.
WHENTOUSEMOCHA/RSPEC
Typicallyusedfordeveloperorientedtests.
DOcumentationisgeneratedfromcode.
Goodforreportingcoverage,butnotsomuchforcollaboration.
Thespecisusedprimarily forgenerating DOCUMENTATION.
THEEND
Thanks.
Aaron.evans@hart.com
https://linkedin.com/in/aaronevans
@fijiaaron

More Related Content

Viewers also liked

REJEIÇÃO DAS CONTAS DO PREFEITO JOÃO CAETANO (Parecer Prévio)
REJEIÇÃO DAS CONTAS DO PREFEITO JOÃO CAETANO (Parecer Prévio)REJEIÇÃO DAS CONTAS DO PREFEITO JOÃO CAETANO (Parecer Prévio)
REJEIÇÃO DAS CONTAS DO PREFEITO JOÃO CAETANO (Parecer Prévio)Jerbialdo
 
Trabalho de História - Países não reconhecidos pela ONU e refugiados no RIO 2...
Trabalho de História - Países não reconhecidos pela ONU e refugiados no RIO 2...Trabalho de História - Países não reconhecidos pela ONU e refugiados no RIO 2...
Trabalho de História - Países não reconhecidos pela ONU e refugiados no RIO 2...Isadora Mengarda
 
Lei Nº 12.142/2005
Lei Nº 12.142/2005Lei Nº 12.142/2005
Lei Nº 12.142/2005Jerbialdo
 
Hormônio prolactina - (PRL)
Hormônio prolactina - (PRL)Hormônio prolactina - (PRL)
Hormônio prolactina - (PRL)Isadora Mengarda
 
Got Python I/O: IoT Develoment in Python via GPIO
Got Python I/O: IoT Develoment in Python via GPIOGot Python I/O: IoT Develoment in Python via GPIO
Got Python I/O: IoT Develoment in Python via GPIOAdam Englander
 
Perilaku yang mendukung tegaknya nilai nilai demokrasi
Perilaku yang mendukung tegaknya nilai nilai demokrasiPerilaku yang mendukung tegaknya nilai nilai demokrasi
Perilaku yang mendukung tegaknya nilai nilai demokrasihariri lail
 
Construcción de una vivienda
Construcción de una viviendaConstrucción de una vivienda
Construcción de una viviendaAntonio LR
 
Syntax 334 lecture 4 Noun phrases
Syntax 334 lecture 4 Noun phrasesSyntax 334 lecture 4 Noun phrases
Syntax 334 lecture 4 Noun phrasesAkashgary
 
Digital Business Trends
Digital Business TrendsDigital Business Trends
Digital Business TrendsSandy Kemsley
 
Alle Grafiken aus dem Buch "Mehr als 0 und 1" unter CC-BY-SA
Alle Grafiken aus dem Buch "Mehr als 0 und 1" unter CC-BY-SA Alle Grafiken aus dem Buch "Mehr als 0 und 1" unter CC-BY-SA
Alle Grafiken aus dem Buch "Mehr als 0 und 1" unter CC-BY-SA Beat Döbeli Honegger
 

Viewers also liked (15)

REJEIÇÃO DAS CONTAS DO PREFEITO JOÃO CAETANO (Parecer Prévio)
REJEIÇÃO DAS CONTAS DO PREFEITO JOÃO CAETANO (Parecer Prévio)REJEIÇÃO DAS CONTAS DO PREFEITO JOÃO CAETANO (Parecer Prévio)
REJEIÇÃO DAS CONTAS DO PREFEITO JOÃO CAETANO (Parecer Prévio)
 
Trabalho de História - Países não reconhecidos pela ONU e refugiados no RIO 2...
Trabalho de História - Países não reconhecidos pela ONU e refugiados no RIO 2...Trabalho de História - Países não reconhecidos pela ONU e refugiados no RIO 2...
Trabalho de História - Países não reconhecidos pela ONU e refugiados no RIO 2...
 
The Soybean 1-5-2016
The Soybean   1-5-2016The Soybean   1-5-2016
The Soybean 1-5-2016
 
Lei Nº 12.142/2005
Lei Nº 12.142/2005Lei Nº 12.142/2005
Lei Nº 12.142/2005
 
Hormônio prolactina - (PRL)
Hormônio prolactina - (PRL)Hormônio prolactina - (PRL)
Hormônio prolactina - (PRL)
 
Got Python I/O: IoT Develoment in Python via GPIO
Got Python I/O: IoT Develoment in Python via GPIOGot Python I/O: IoT Develoment in Python via GPIO
Got Python I/O: IoT Develoment in Python via GPIO
 
Perilaku yang mendukung tegaknya nilai nilai demokrasi
Perilaku yang mendukung tegaknya nilai nilai demokrasiPerilaku yang mendukung tegaknya nilai nilai demokrasi
Perilaku yang mendukung tegaknya nilai nilai demokrasi
 
Construcción de una vivienda
Construcción de una viviendaConstrucción de una vivienda
Construcción de una vivienda
 
Smarter Mobile Apps
Smarter Mobile AppsSmarter Mobile Apps
Smarter Mobile Apps
 
Sentence pattern
Sentence patternSentence pattern
Sentence pattern
 
Syntax 334 lecture 4 Noun phrases
Syntax 334 lecture 4 Noun phrasesSyntax 334 lecture 4 Noun phrases
Syntax 334 lecture 4 Noun phrases
 
Digital Business Trends
Digital Business TrendsDigital Business Trends
Digital Business Trends
 
Vortrag Urheberrecht
Vortrag UrheberrechtVortrag Urheberrecht
Vortrag Urheberrecht
 
Alle Grafiken aus dem Buch "Mehr als 0 und 1" unter CC-BY-SA
Alle Grafiken aus dem Buch "Mehr als 0 und 1" unter CC-BY-SA Alle Grafiken aus dem Buch "Mehr als 0 und 1" unter CC-BY-SA
Alle Grafiken aus dem Buch "Mehr als 0 und 1" unter CC-BY-SA
 
Lehrplan 21: Hope or Hydra?
Lehrplan 21: Hope or Hydra?Lehrplan 21: Hope or Hydra?
Lehrplan 21: Hope or Hydra?
 

Similar to Intro. to BDD

Easydd program3
Easydd program3Easydd program3
Easydd program3Taha Sochi
 
SENTIENT ENTERPRISE
SENTIENT ENTERPRISESENTIENT ENTERPRISE
SENTIENT ENTERPRISETeradata
 
XD 2020: Veronika Ji, frog
XD 2020: Veronika Ji, frogXD 2020: Veronika Ji, frog
XD 2020: Veronika Ji, frogUX STRAT
 
Sdndstw workshop-2017
Sdndstw workshop-2017Sdndstw workshop-2017
Sdndstw workshop-2017建豪 陳
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....Michele Orselli
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....Alessandro Cinelli (cirpo)
 
MongoDB.local Paris Keynote
MongoDB.local Paris KeynoteMongoDB.local Paris Keynote
MongoDB.local Paris KeynoteMongoDB
 
DVX: Data Visualization Experiences
DVX: Data Visualization ExperiencesDVX: Data Visualization Experiences
DVX: Data Visualization ExperiencesRandy Krum
 
The User Experience Equation: Stepping Beyond Information to Interaction
The User Experience Equation: Stepping Beyond Information to InteractionThe User Experience Equation: Stepping Beyond Information to Interaction
The User Experience Equation: Stepping Beyond Information to InteractionSTC-Philadelphia Metro Chapter
 
Easy edd phd talks 28 oct 2008
Easy edd phd talks 28 oct 2008Easy edd phd talks 28 oct 2008
Easy edd phd talks 28 oct 2008Taha Sochi
 
RESPONSIVE DESIGN AND THE MODERN WEB APPLICATION
RESPONSIVE DESIGN AND THE MODERN WEB APPLICATIONRESPONSIVE DESIGN AND THE MODERN WEB APPLICATION
RESPONSIVE DESIGN AND THE MODERN WEB APPLICATIONMorten Pedersen
 
Sunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverSunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverCyrille Martraire
 
Peter Schmitt FWD talk Harward
Peter Schmitt FWD talk HarwardPeter Schmitt FWD talk Harward
Peter Schmitt FWD talk Harwardor_ange
 
3D體驗平台-模組(角色)說明
3D體驗平台-模組(角色)說明3D體驗平台-模組(角色)說明
3D體驗平台-模組(角色)說明Jimmy Chang
 
Puppet Camp Charlotte 2015: Introduction to SIMP: An Open Source Infrastructu...
Puppet Camp Charlotte 2015: Introduction to SIMP: An Open Source Infrastructu...Puppet Camp Charlotte 2015: Introduction to SIMP: An Open Source Infrastructu...
Puppet Camp Charlotte 2015: Introduction to SIMP: An Open Source Infrastructu...Puppet
 
Top 5 DGX Sessions From GTC 2019
Top 5 DGX Sessions From GTC 2019Top 5 DGX Sessions From GTC 2019
Top 5 DGX Sessions From GTC 2019NVIDIA
 
Alessandro Ferrari - Smart City, Mixed Reality, Self-Driving Cars & Neural Co...
Alessandro Ferrari - Smart City, Mixed Reality, Self-Driving Cars & Neural Co...Alessandro Ferrari - Smart City, Mixed Reality, Self-Driving Cars & Neural Co...
Alessandro Ferrari - Smart City, Mixed Reality, Self-Driving Cars & Neural Co...Codemotion
 
GTC Europe 2017 Keynote
GTC Europe 2017 KeynoteGTC Europe 2017 Keynote
GTC Europe 2017 KeynoteNVIDIA
 

Similar to Intro. to BDD (20)

Easydd program3
Easydd program3Easydd program3
Easydd program3
 
SENTIENT ENTERPRISE
SENTIENT ENTERPRISESENTIENT ENTERPRISE
SENTIENT ENTERPRISE
 
XD 2020: Veronika Ji, frog
XD 2020: Veronika Ji, frogXD 2020: Veronika Ji, frog
XD 2020: Veronika Ji, frog
 
Sdndstw workshop-2017
Sdndstw workshop-2017Sdndstw workshop-2017
Sdndstw workshop-2017
 
Business Needs Design Now
Business Needs Design NowBusiness Needs Design Now
Business Needs Design Now
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
 
MongoDB.local Paris Keynote
MongoDB.local Paris KeynoteMongoDB.local Paris Keynote
MongoDB.local Paris Keynote
 
DVX: Data Visualization Experiences
DVX: Data Visualization ExperiencesDVX: Data Visualization Experiences
DVX: Data Visualization Experiences
 
Easy edd
Easy eddEasy edd
Easy edd
 
The User Experience Equation: Stepping Beyond Information to Interaction
The User Experience Equation: Stepping Beyond Information to InteractionThe User Experience Equation: Stepping Beyond Information to Interaction
The User Experience Equation: Stepping Beyond Information to Interaction
 
Easy edd phd talks 28 oct 2008
Easy edd phd talks 28 oct 2008Easy edd phd talks 28 oct 2008
Easy edd phd talks 28 oct 2008
 
RESPONSIVE DESIGN AND THE MODERN WEB APPLICATION
RESPONSIVE DESIGN AND THE MODERN WEB APPLICATIONRESPONSIVE DESIGN AND THE MODERN WEB APPLICATION
RESPONSIVE DESIGN AND THE MODERN WEB APPLICATION
 
Sunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverSunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft Forever
 
Peter Schmitt FWD talk Harward
Peter Schmitt FWD talk HarwardPeter Schmitt FWD talk Harward
Peter Schmitt FWD talk Harward
 
3D體驗平台-模組(角色)說明
3D體驗平台-模組(角色)說明3D體驗平台-模組(角色)說明
3D體驗平台-模組(角色)說明
 
Puppet Camp Charlotte 2015: Introduction to SIMP: An Open Source Infrastructu...
Puppet Camp Charlotte 2015: Introduction to SIMP: An Open Source Infrastructu...Puppet Camp Charlotte 2015: Introduction to SIMP: An Open Source Infrastructu...
Puppet Camp Charlotte 2015: Introduction to SIMP: An Open Source Infrastructu...
 
Top 5 DGX Sessions From GTC 2019
Top 5 DGX Sessions From GTC 2019Top 5 DGX Sessions From GTC 2019
Top 5 DGX Sessions From GTC 2019
 
Alessandro Ferrari - Smart City, Mixed Reality, Self-Driving Cars & Neural Co...
Alessandro Ferrari - Smart City, Mixed Reality, Self-Driving Cars & Neural Co...Alessandro Ferrari - Smart City, Mixed Reality, Self-Driving Cars & Neural Co...
Alessandro Ferrari - Smart City, Mixed Reality, Self-Driving Cars & Neural Co...
 
GTC Europe 2017 Keynote
GTC Europe 2017 KeynoteGTC Europe 2017 Keynote
GTC Europe 2017 Keynote
 

More from AAron EvaNS

Testing at scale with redis queues
Testing at scale with redis queuesTesting at scale with redis queues
Testing at scale with redis queuesAAron EvaNS
 
Testing at scale with Redis queues
Testing at scale with Redis queuesTesting at scale with Redis queues
Testing at scale with Redis queuesAAron EvaNS
 
Testing Web Apps and APIs (1)
Testing Web Apps and APIs (1)Testing Web Apps and APIs (1)
Testing Web Apps and APIs (1)AAron EvaNS
 
walkaway-automation
walkaway-automationwalkaway-automation
walkaway-automationAAron EvaNS
 
Refactoring For Testability
Refactoring For TestabilityRefactoring For Testability
Refactoring For TestabilityAAron EvaNS
 

More from AAron EvaNS (6)

Testing at scale with redis queues
Testing at scale with redis queuesTesting at scale with redis queues
Testing at scale with redis queues
 
Testing at scale with Redis queues
Testing at scale with Redis queuesTesting at scale with Redis queues
Testing at scale with Redis queues
 
Testing Web Apps and APIs (1)
Testing Web Apps and APIs (1)Testing Web Apps and APIs (1)
Testing Web Apps and APIs (1)
 
Intro. to bdd
Intro. to bddIntro. to bdd
Intro. to bdd
 
walkaway-automation
walkaway-automationwalkaway-automation
walkaway-automation
 
Refactoring For Testability
Refactoring For TestabilityRefactoring For Testability
Refactoring For Testability
 

Intro. to BDD