SlideShare a Scribd company logo
1 of 35
Mészáros Márton www.meza.hu
@vsbmeza
BDBDDD
Beer Driven Behaviour Driven Development Demistified
The Guardian
www.guardian.co.uk
Miért nem sörözünk már?
www.meza.hu | @vsbmeza
A BDD kialakulása
Mi, es mi nem a BDD?
Mikor fáj?
Mikor jó?
BDD - A kezdetek
www.meza.hu | @vsbmeza
DAN NORTH
@tastapod
"A test class SHOULD do
something!"
"Let's replace JUnit with
JBehave!"
JBehave RBehave RSpec
Cucumber
BDD - A kezdetek
www.meza.hu | @vsbmeza
CHRIS MATTS
@PapaChrisMatts
“But that’s just like
analysis.”
commitment-thebook.com
BDD - A kezdetek
www.meza.hu | @vsbmeza
LIZ KEOGH
@lunivore
"BDD and TDD aren’t
actually about making
sure that something
works well. They’re
about uncovering the
parts you don’t
understand; the parts
that are hard, and the
gaps."
BDD - A kezdetek
www.meza.hu | @vsbmeza
VALLÁSOK
BDD - Vallások
www.meza.hu | @vsbmeza
BDD = rspec
BDD = Cucumber
BDD = JBehave
BDD = simulating user interaction
BDD = acceptance criteria
BDD = TDD
BDD = Behat
BDD - Tévhitek
www.meza.hu | @vsbmeza
BDD != ESZKOZOK
BDD != TDD
BDD != TESZTELÉS
BDD - Tévhitek
www.meza.hu | @vsbmeza
"A BDD lelke a bizonytalanság és a
tudatlanság - nem a példák
megtalálása, hanem az olyan
példák felfedezése, amiket nem
találunk."
Liz Keogh
BDD - Tévhitek
www.meza.hu | @vsbmeza
Given Fred has bought a microwave
And the microwave cost £100
When we refund the microwave
Then Fred should be refunded £100
Example uesd by: Liz Keogh
BDD - Tévhitek
www.meza.hu | @vsbmeza
Given a context
When an event happens
Then an outcoume should occur
BDD - Tévhitek
www.meza.hu | @vsbmeza
Given Fred has bought a microwave
And the microwave cost £100
When we refund the microwave
Then Fred should be refunded £100
Example uesd by: Liz Keogh
BDD - Mikor fáj?
www.meza.hu | @vsbmeza
Mikor fáj?
BDD - Mikor fáj?
www.meza.hu | @vsbmeza
Scenario: logging in
Given I am an internet user
When I navigate to http://www.facebook.com
And I click the field "username"
And I enter "boring@large.com"
And I click the field "password"
And I enter "correct horse battery staple"
And I click the button "Log In"
Then I see "What's on your mind" on the page
BDD - Mikor fáj?
www.meza.hu | @vsbmeza
Scenario: entering the pub
Given I am a thirsty lad
When I stand in front of a pub
And I hold the door handle
And I push it down
And I push the door
And I step into the pub
And I push the door back
And I let go of the door
Then I am in the pub
BDD - Mikor fáj?
www.meza.hu | @vsbmeza
Scenario: successful submission
Given I'm on the animal creation page
When I fill in Name with 'Alligator'
And select Phylum as 'Chordata'
And fill in Animal Class with 'Sauropsida'
And fill in Order with 'Crocodilia'
And fill in Family with 'Alligatoridae'
And fill in Genus with 'Alligator'
And check Lay Eggs
And click the Create button
Then I should see the notice 'Thank you for your animal
submission!'
And the page should include the animal's name, phylum,
animal class, order, family, and genus
BDD - Mikor fáj?
www.meza.hu | @vsbmeza
Scenario: buying beer
Given I am at the bar
When I ask for a Kobanyai
And select Consistency as 'Liquid'
And fill in Type with 'Alcohol'
And fill in Color with 'Yellow'
And fill in Family with 'Beer'
And fill in Manufactor with 'Dreher'
And check 0.5 bottle
And open the cap
Then I should hear the hiss of the gas
And the bottle should include the Kobanyai
BDD - Mikor fáj?
www.meza.hu | @vsbmeza
Imaperatív
Hogyan?
BDD - Mikor faj?
www.meza.hu | @vsbmeza
Deklaratív
Mit és miért?
BDD - Mikor fáj?
www.meza.hu | @vsbmeza
Imperatív, vagy Deklaratív?
Scenario: drink beer
Given I am a thirsty lad wanting beer
When I walk into the pub
And ask for a beer
And pay for a beer
Then I should be served beer
And should drink beer
And my thirst should vanish
BDD - Mikor fáj?
www.meza.hu | @vsbmeza
Imperatív, vagy Deklaratív?
Scenario: In-progress
Given I visit the fixtures page
When a game is in progress
Then I should see the current score of that
match
And I should see the current match time
BDD - Mikor fáj?
www.meza.hu | @vsbmeza
Imperatív, vagy Deklaratív?
Scenario: Signed in User can Preview comment before posting
When I typed some text in the text box
Then I should see the preview in the preview pane
And close the preview box
BDD - Mikor fáj?
www.meza.hu | @vsbmeza
Imperatív, vagy Deklaratív?
Scenario: drink beer
Given I am a thirsty lad wanting beer
When I walk into the pub
And drink a beer
Then my thirst should disappear
BDD - Mikor fáj?
www.meza.hu | @vsbmeza
Imperatív, vagy Deklaratív?
Scenario: drink beer
Given I am a thirsty lad
When I drink a beer
Then my thirst should disappear
BDD - Mikor jó?
www.meza.hu | @vsbmeza
Imperatív
Deklaratív
CHUNK UP
BDD - Mikor jó?
www.meza.hu | @vsbmeza
UI
PAGE
AUTHENTICATION
BUSINESS
BDD - Mikor jó?
www.meza.hu | @vsbmeza
Scenario: logging in
Given I am an internet user
When I navigate to http://www.facebook.com
And I click the field "username"
And I enter "boring@large.com"
And I click the field "password"
And I enter "correct horse battery staple"
And I click the button "Log In"
Then I see "What's on your mind" on the page
BDD - Mikor jó?
www.meza.hu | @vsbmeza
Scenario: read my friends' updates
Given I am a logged in facebook user
When I look at my news feed
Then I should be able to read my
friends' updates
BDD - Mikor jó?
www.meza.hu | @vsbmeza
Scenario: successful submission
Given I'm on the animal creation page
When I fill in Name with 'Alligator'
And select Phylum as 'Chordata'
And fill in Animal Class with 'Sauropsida'
And fill in Order with 'Crocodilia'
And fill in Family with 'Alligatoridae'
And fill in Genus with 'Alligator'
And check Lay Eggs
And click the Create button
Then I should see the notice 'Thank you for your animal
submission!'
And the page should include the animal's name, phylum,
animal class, order, family, and genus
BDD - Mikor jó?
www.meza.hu | @vsbmeza
Scenario: successful submission
Given I'm on the animal creation page
When I add a new animal
Then I should see the page for my
newly created animal
And the notice 'Thank you for your
animal submission!'
BDD - Mikor jó?
www.meza.hu | @vsbmeza
E/3
BDD - Mikor jó?
www.meza.hu | @vsbmeza
Scenario: read my friends' updates
Given I am a logged in facebook user
And there is another registered user
And that user is a friend of me
When I look at the other person's profile
Then I should be able to see his feed
BDD - Mikor jó?
www.meza.hu | @vsbmeza
Scenario: read my friends' updates
Given Fred is a logged in facebook user
And George is a registered facebook user
And George is a friend of Fred
When Fred looks at George's profile
Then Fred should be able to see George's feed
BDD - Konkluzio?
www.meza.hu | @vsbmeza
BDD = Kommunikáció es felfedezés
Chunk up!
E/3
BDD - Kérdések?
www.meza.hu
@vsbmeza

More Related Content

Viewers also liked (20)

Pengetahuan Open Source
Pengetahuan Open SourcePengetahuan Open Source
Pengetahuan Open Source
 
Using AskDroid video
Using AskDroid videoUsing AskDroid video
Using AskDroid video
 
Lecture 3.the oscar iden lectures the state of individuals
Lecture 3.the oscar iden lectures the state of individualsLecture 3.the oscar iden lectures the state of individuals
Lecture 3.the oscar iden lectures the state of individuals
 
Pdhpe
PdhpePdhpe
Pdhpe
 
College1
College1College1
College1
 
Argumentative Essay
Argumentative EssayArgumentative Essay
Argumentative Essay
 
лаб1
лаб1лаб1
лаб1
 
Lesson planning & Assessment
Lesson planning & AssessmentLesson planning & Assessment
Lesson planning & Assessment
 
What's New on Spark the Rise
What's New on Spark the RiseWhat's New on Spark the Rise
What's New on Spark the Rise
 
Alternative CV 2
Alternative CV 2Alternative CV 2
Alternative CV 2
 
Study2
Study2Study2
Study2
 
Tomasz miotk
Tomasz miotkTomasz miotk
Tomasz miotk
 
Dachstein - avgust 2015
Dachstein - avgust 2015Dachstein - avgust 2015
Dachstein - avgust 2015
 
La t2 ace project
La t2 ace projectLa t2 ace project
La t2 ace project
 
Military application
Military applicationMilitary application
Military application
 
てててPDF
てててPDFてててPDF
てててPDF
 
Staffing event IT
Staffing event ITStaffing event IT
Staffing event IT
 
Intro to tsql
Intro to tsqlIntro to tsql
Intro to tsql
 
2012 Al's Day
2012 Al's Day2012 Al's Day
2012 Al's Day
 
Ssssss
SsssssSsssss
Ssssss
 

More from Open Academy

What SQL should actually be...
What SQL should actually be...What SQL should actually be...
What SQL should actually be...
Open Academy
 
Dev tools rendering & memory profiling
Dev tools rendering & memory profilingDev tools rendering & memory profiling
Dev tools rendering & memory profiling
Open Academy
 
BlackBerry10 alapú natív alkalmazásfejlesztés
BlackBerry10 alapú natív alkalmazásfejlesztésBlackBerry10 alapú natív alkalmazásfejlesztés
BlackBerry10 alapú natív alkalmazásfejlesztés
Open Academy
 
Okostelefonok és táblagépek menedzsmentje
Okostelefonok és táblagépek menedzsmentjeOkostelefonok és táblagépek menedzsmentje
Okostelefonok és táblagépek menedzsmentje
Open Academy
 

More from Open Academy (20)

What SQL should actually be...
What SQL should actually be...What SQL should actually be...
What SQL should actually be...
 
Dev tools rendering & memory profiling
Dev tools rendering & memory profilingDev tools rendering & memory profiling
Dev tools rendering & memory profiling
 
Firefox OS: hackelni könnyű
Firefox OS:  hackelni könnyűFirefox OS:  hackelni könnyű
Firefox OS: hackelni könnyű
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
BlackBerry10 alapú natív alkalmazásfejlesztés
BlackBerry10 alapú natív alkalmazásfejlesztésBlackBerry10 alapú natív alkalmazásfejlesztés
BlackBerry10 alapú natív alkalmazásfejlesztés
 
Android fejlesztés
Android fejlesztésAndroid fejlesztés
Android fejlesztés
 
Magvas gondolatok
Magvas gondolatokMagvas gondolatok
Magvas gondolatok
 
A Windows Phone világa
A Windows Phone világaA Windows Phone világa
A Windows Phone világa
 
Okostelefonok és táblagépek menedzsmentje
Okostelefonok és táblagépek menedzsmentjeOkostelefonok és táblagépek menedzsmentje
Okostelefonok és táblagépek menedzsmentje
 
Windows 8
Windows 8Windows 8
Windows 8
 
Ipari felhő infrastruktúrák a gyakorlatban
Ipari felhő infrastruktúrák a gyakorlatbanIpari felhő infrastruktúrák a gyakorlatban
Ipari felhő infrastruktúrák a gyakorlatban
 
Túlélés a Három Betűs Rövidítések világában
Túlélés a Három Betűs Rövidítések világábanTúlélés a Három Betűs Rövidítések világában
Túlélés a Három Betűs Rövidítések világában
 
Adminisztratív protokollok ellenőrzési lehetőségei
Adminisztratív protokollok ellenőrzési lehetőségeiAdminisztratív protokollok ellenőrzési lehetőségei
Adminisztratív protokollok ellenőrzési lehetőségei
 
Naplózás a gyakorlatban
Naplózás a gyakorlatbanNaplózás a gyakorlatban
Naplózás a gyakorlatban
 
Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!
 
Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?
 
AGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésAGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztés
 
Multiplatform mobil fejlesztések
Multiplatform mobil fejlesztésekMultiplatform mobil fejlesztések
Multiplatform mobil fejlesztések
 
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
 
Verziókövető rendszerek alkalmazása fejlesztési projektekben
Verziókövető rendszerek alkalmazása fejlesztési projektekbenVerziókövető rendszerek alkalmazása fejlesztési projektekben
Verziókövető rendszerek alkalmazása fejlesztési projektekben
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

BDD demisztifikálva

  • 1. Mészáros Márton www.meza.hu @vsbmeza BDBDDD Beer Driven Behaviour Driven Development Demistified The Guardian www.guardian.co.uk
  • 2. Miért nem sörözünk már? www.meza.hu | @vsbmeza A BDD kialakulása Mi, es mi nem a BDD? Mikor fáj? Mikor jó?
  • 3. BDD - A kezdetek www.meza.hu | @vsbmeza DAN NORTH @tastapod "A test class SHOULD do something!" "Let's replace JUnit with JBehave!" JBehave RBehave RSpec Cucumber
  • 4. BDD - A kezdetek www.meza.hu | @vsbmeza CHRIS MATTS @PapaChrisMatts “But that’s just like analysis.” commitment-thebook.com
  • 5. BDD - A kezdetek www.meza.hu | @vsbmeza LIZ KEOGH @lunivore "BDD and TDD aren’t actually about making sure that something works well. They’re about uncovering the parts you don’t understand; the parts that are hard, and the gaps."
  • 6. BDD - A kezdetek www.meza.hu | @vsbmeza VALLÁSOK
  • 7. BDD - Vallások www.meza.hu | @vsbmeza BDD = rspec BDD = Cucumber BDD = JBehave BDD = simulating user interaction BDD = acceptance criteria BDD = TDD BDD = Behat
  • 8. BDD - Tévhitek www.meza.hu | @vsbmeza BDD != ESZKOZOK BDD != TDD BDD != TESZTELÉS
  • 9. BDD - Tévhitek www.meza.hu | @vsbmeza "A BDD lelke a bizonytalanság és a tudatlanság - nem a példák megtalálása, hanem az olyan példák felfedezése, amiket nem találunk." Liz Keogh
  • 10. BDD - Tévhitek www.meza.hu | @vsbmeza Given Fred has bought a microwave And the microwave cost £100 When we refund the microwave Then Fred should be refunded £100 Example uesd by: Liz Keogh
  • 11. BDD - Tévhitek www.meza.hu | @vsbmeza Given a context When an event happens Then an outcoume should occur
  • 12. BDD - Tévhitek www.meza.hu | @vsbmeza Given Fred has bought a microwave And the microwave cost £100 When we refund the microwave Then Fred should be refunded £100 Example uesd by: Liz Keogh
  • 13. BDD - Mikor fáj? www.meza.hu | @vsbmeza Mikor fáj?
  • 14. BDD - Mikor fáj? www.meza.hu | @vsbmeza Scenario: logging in Given I am an internet user When I navigate to http://www.facebook.com And I click the field "username" And I enter "boring@large.com" And I click the field "password" And I enter "correct horse battery staple" And I click the button "Log In" Then I see "What's on your mind" on the page
  • 15. BDD - Mikor fáj? www.meza.hu | @vsbmeza Scenario: entering the pub Given I am a thirsty lad When I stand in front of a pub And I hold the door handle And I push it down And I push the door And I step into the pub And I push the door back And I let go of the door Then I am in the pub
  • 16. BDD - Mikor fáj? www.meza.hu | @vsbmeza Scenario: successful submission Given I'm on the animal creation page When I fill in Name with 'Alligator' And select Phylum as 'Chordata' And fill in Animal Class with 'Sauropsida' And fill in Order with 'Crocodilia' And fill in Family with 'Alligatoridae' And fill in Genus with 'Alligator' And check Lay Eggs And click the Create button Then I should see the notice 'Thank you for your animal submission!' And the page should include the animal's name, phylum, animal class, order, family, and genus
  • 17. BDD - Mikor fáj? www.meza.hu | @vsbmeza Scenario: buying beer Given I am at the bar When I ask for a Kobanyai And select Consistency as 'Liquid' And fill in Type with 'Alcohol' And fill in Color with 'Yellow' And fill in Family with 'Beer' And fill in Manufactor with 'Dreher' And check 0.5 bottle And open the cap Then I should hear the hiss of the gas And the bottle should include the Kobanyai
  • 18. BDD - Mikor fáj? www.meza.hu | @vsbmeza Imaperatív Hogyan?
  • 19. BDD - Mikor faj? www.meza.hu | @vsbmeza Deklaratív Mit és miért?
  • 20. BDD - Mikor fáj? www.meza.hu | @vsbmeza Imperatív, vagy Deklaratív? Scenario: drink beer Given I am a thirsty lad wanting beer When I walk into the pub And ask for a beer And pay for a beer Then I should be served beer And should drink beer And my thirst should vanish
  • 21. BDD - Mikor fáj? www.meza.hu | @vsbmeza Imperatív, vagy Deklaratív? Scenario: In-progress Given I visit the fixtures page When a game is in progress Then I should see the current score of that match And I should see the current match time
  • 22. BDD - Mikor fáj? www.meza.hu | @vsbmeza Imperatív, vagy Deklaratív? Scenario: Signed in User can Preview comment before posting When I typed some text in the text box Then I should see the preview in the preview pane And close the preview box
  • 23. BDD - Mikor fáj? www.meza.hu | @vsbmeza Imperatív, vagy Deklaratív? Scenario: drink beer Given I am a thirsty lad wanting beer When I walk into the pub And drink a beer Then my thirst should disappear
  • 24. BDD - Mikor fáj? www.meza.hu | @vsbmeza Imperatív, vagy Deklaratív? Scenario: drink beer Given I am a thirsty lad When I drink a beer Then my thirst should disappear
  • 25. BDD - Mikor jó? www.meza.hu | @vsbmeza Imperatív Deklaratív CHUNK UP
  • 26. BDD - Mikor jó? www.meza.hu | @vsbmeza UI PAGE AUTHENTICATION BUSINESS
  • 27. BDD - Mikor jó? www.meza.hu | @vsbmeza Scenario: logging in Given I am an internet user When I navigate to http://www.facebook.com And I click the field "username" And I enter "boring@large.com" And I click the field "password" And I enter "correct horse battery staple" And I click the button "Log In" Then I see "What's on your mind" on the page
  • 28. BDD - Mikor jó? www.meza.hu | @vsbmeza Scenario: read my friends' updates Given I am a logged in facebook user When I look at my news feed Then I should be able to read my friends' updates
  • 29. BDD - Mikor jó? www.meza.hu | @vsbmeza Scenario: successful submission Given I'm on the animal creation page When I fill in Name with 'Alligator' And select Phylum as 'Chordata' And fill in Animal Class with 'Sauropsida' And fill in Order with 'Crocodilia' And fill in Family with 'Alligatoridae' And fill in Genus with 'Alligator' And check Lay Eggs And click the Create button Then I should see the notice 'Thank you for your animal submission!' And the page should include the animal's name, phylum, animal class, order, family, and genus
  • 30. BDD - Mikor jó? www.meza.hu | @vsbmeza Scenario: successful submission Given I'm on the animal creation page When I add a new animal Then I should see the page for my newly created animal And the notice 'Thank you for your animal submission!'
  • 31. BDD - Mikor jó? www.meza.hu | @vsbmeza E/3
  • 32. BDD - Mikor jó? www.meza.hu | @vsbmeza Scenario: read my friends' updates Given I am a logged in facebook user And there is another registered user And that user is a friend of me When I look at the other person's profile Then I should be able to see his feed
  • 33. BDD - Mikor jó? www.meza.hu | @vsbmeza Scenario: read my friends' updates Given Fred is a logged in facebook user And George is a registered facebook user And George is a friend of Fred When Fred looks at George's profile Then Fred should be able to see George's feed
  • 34. BDD - Konkluzio? www.meza.hu | @vsbmeza BDD = Kommunikáció es felfedezés Chunk up! E/3

Editor's Notes

  1. Ha ugy kezdodik, hogy TEST, az determinalja Ha should, az kerdojelezi. Formatter lecsereli testet shouldra amikor a camel caset felbontja JBehave -> JUnit Jbehave->Rbehave->Rspec->Cucumber Eric Evans - Domain Driven Design - Ubiquitous Language
  2. Meg viccesebb eloado Business Analyst Dannel But that's just like analysis Given When Then Pushing Dan Thinking
  3. Osszegzi a Dan es Chris gondolatait JBehave javat o irta Egyetlen igazan online is aktiv ember aki kotheto a BDD megalkotasahoz Stackoverflow huszar Eloado Tanar
  4. Jbehave - tudjuk, hogy az volt az elso manifesztacio Rspec - Amive fajult a JBehave, es a rubysok sokasaga hasznalja Cucumber - A legelterjedtebb eddig. Behat - a phpsok asszociacioja TDD - Uncle Bob, Ron Jeffries AC - smmek, pok Simulating user interaction - Sokak szerint csak arra alkalmas
  5. nem eszkozok. Az eszkoz csak eszkoz, semmi mas. Uncle Bobek hitevel elleneben Akkor lenne BDD a TDD, ha az egesz cegben mindenki programozo lenne. Az uzleti oldaltol kezdve az osszes erdekelten keresztul, mindenki. Akkor lehet TDDkent hasznalni. Van Dannek errol egy jo cikke
  6. Konnyen megtalalhato pelda
  7. Adott kontextusban elkovetett cselekmeny hatasara tortenik valami.
  8. Mi tortenik, ha megvaltoztatjuk a kontextust? Mas lesz-e a kimenet? Vagy van-e olyan esemeny ami azonos kontextusban mas kimenetet eredmenyez?
  9. Ez persze tok jo, ha csak be akartam menni a kocsmaba. De arrol nem arulkodik, hogy egyaltalan miert mentem be a kocsmaba...
  10. Vegig se olvasom, annyira unalmas. A soros peldan legalabb kuncoghatunk
  11. Az implementaciot koti meg Sokan alapbol igy gondolkodnak Problema: megkoti a fantaziat es az implementaciot. Determinal.
  12. Deklarativ a mitre es a miertre ad valaszt Nem azt irja le, hogy hogyan. Igy, meg ha az implementacio valtozik is, az elerendo cel nem feltetlenul. Peldak: penztaros Vegye el tolem a sort Huzza le a csipogon Tegye be szatyorba Nyomja meg az entert a gepen Vegye el a penzt Adja vissza a visszajarot Adja ide a szamlat Adja ide a szatyrot vs. Megveszem a sort
  13. Imperativ
  14. Deklarativ
  15. Imperativ
  16. Imperativ / Deklarativ
  17. Deklarativ
  18. Az NLPben ismert ez a fogalom Konkret szavakat es kifejezeseket egyre magasabb absztrakcios szintre emelni Beulok a 1117 Budapest Neumann János utca 2. helyett Beulok a ZP-be helyett Beulok egy kocsmaba Erdemes felterkepezni a szovegben hasznalt temakoroket es a kozonseget, es olyan absztrakcios szintet valasztani, ami megfelelo.
  19. se az autentikacio, se a navigacio, se a kattogas nem tartozik szorosan az uzleti ertekhez. Mi az ertek? A felhasznalo latja a baratainak a kiirasait.
  20. Kommunikalja a celt, nem a megvalositast.
  21. Rovidebb, erthetobb, kezelhetobb. Peldaul ha en most szomjazom: imperativ vs deklarativ
  22. E/1 mukodik egyszeru esetben amikor nincs a userek kozott interakcio E/1 mukodik amikor nincsenek jogosultsagok
  23. Ha itt neven nevezzuk a szereploket, akkor sokkal erthetobb kepet kapunk