ݺߣ

ݺߣShare a Scribd company logo
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
Ad

Recommended

Bohra Exports, Mumbai, Leather Wallet
Bohra Exports, Mumbai, Leather Wallet
IndiaMART InterMESH Limited
Mengenal & Mendaftar Gmail
Mengenal & Mendaftar Gmail
Ananta Bangun
Interactive scenario
Interactive scenario
Matthew Farber
Dijital i̇ndeks-2015
Dijital i̇ndeks-2015
Mustafa Kuğu
Dijital i̇ndeks-2015
Dijital i̇ndeks-2015
Mustafa Kuğu
What are we doing in Frankfurt?
What are we doing in Frankfurt?
Josep Bargalló Valls
Falgs of countries with > 30% muslim population
Falgs of countries with > 30% muslim population
Motasem Ash
Multiple Connectivity Framework Keynote
Multiple Connectivity Framework Keynote
Li Lin
Pengetahuan Open Source
Pengetahuan Open Source
diamnenek
Using AskDroid video
Using AskDroid video
lindahopp
Lecture 3.the oscar iden lectures the state of individuals
Lecture 3.the oscar iden lectures the state of individuals
Wealthbuilder.ie
Pdhpe
Pdhpe
ZAINABRASHED
College1
College1
Ioana Stanescu
Argumentative Essay
Argumentative Essay
Rhoye Villanueva Concepcion
Lesson planning & Assessment
Lesson planning & Assessment
Jan Seiter
What's New on Spark the Rise
What's New on Spark the Rise
Mahindra Rise
Alternative CV 2
Alternative CV 2
Gorkem Unel
Dachstein - avgust 2015
Dachstein - avgust 2015
Solatar
La t2 ace project
La t2 ace project
Li Wong Kin
Military application
Military application
Tomasz Miotk
てててPٹ
てててPٹ
Kenzi Noike
Staffing event IT
Staffing event IT
Bobby Munster
Intro to tsql
Intro to tsql
Syed Asrarali
2012 Al's Day
2012 Al's Day
Golin
Ssssss
amil10
What SQL should actually be...
What SQL should actually be...
Open Academy
Dev tools rendering & memory profiling
Dev tools rendering & memory profiling
Open Academy

More Related Content

Viewers also liked (20)

Pengetahuan Open Source
Pengetahuan Open Source
diamnenek
Using AskDroid video
Using AskDroid video
lindahopp
Lecture 3.the oscar iden lectures the state of individuals
Lecture 3.the oscar iden lectures the state of individuals
Wealthbuilder.ie
Pdhpe
Pdhpe
ZAINABRASHED
College1
College1
Ioana Stanescu
Argumentative Essay
Argumentative Essay
Rhoye Villanueva Concepcion
Lesson planning & Assessment
Lesson planning & Assessment
Jan Seiter
What's New on Spark the Rise
What's New on Spark the Rise
Mahindra Rise
Alternative CV 2
Alternative CV 2
Gorkem Unel
Dachstein - avgust 2015
Dachstein - avgust 2015
Solatar
La t2 ace project
La t2 ace project
Li Wong Kin
Military application
Military application
Tomasz Miotk
てててPٹ
てててPٹ
Kenzi Noike
Staffing event IT
Staffing event IT
Bobby Munster
Intro to tsql
Intro to tsql
Syed Asrarali
2012 Al's Day
2012 Al's Day
Golin
Ssssss
amil10

More from Open Academy (20)

What SQL should actually be...
What SQL should actually be...
Open Academy
Dev tools rendering & memory profiling
Dev tools rendering & memory profiling
Open Academy
Firefox OS: hackelni könnyű
Firefox OS: hackelni könnyű
Open Academy
BlackBerry10 alapú natív alkalmazásfejlesztés
BlackBerry10 alapú natív alkalmazásfejlesztés
Open Academy
Android fejlesztés
Android fejlesztés
Open Academy
Magvas gondolatok
Magvas gondolatok
Open Academy
A Windows Phone világa
A Windows Phone világa
Open Academy
Okostelefonok és táblagépek menedzsmentje
Okostelefonok és táblagépek menedzsmentje
Open Academy
Windows 8
Windows 8
Open Academy
Ipari felhő infrastruktúrák a gyakorlatban
Ipari felhő infrastruktúrák a gyakorlatban
Open Academy
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ában
Open Academy
Adminisztratív protokollok ellenőrzési lehetőségei
Adminisztratív protokollok ellenőrzési lehetőségei
Open Academy
Naplózás a gyakorlatban
Naplózás a gyakorlatban
Open Academy
Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!
Open Academy
Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?
Open Academy
AGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztés
Open Academy
Multiplatform mobil fejlesztések
Multiplatform mobil fejlesztések
Open Academy
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Open Academy
Verziókövető rendszerek alkalmazása fejlesztési projektekben
Verziókövető rendszerek alkalmazása fejlesztési projektekben
Open Academy
What SQL should actually be...
What SQL should actually be...
Open Academy
Dev tools rendering & memory profiling
Dev tools rendering & memory profiling
Open Academy
Firefox OS: hackelni könnyű
Firefox OS: hackelni könnyű
Open Academy
BlackBerry10 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 menedzsmentje
Open Academy
Ipari felhő infrastruktúrák a gyakorlatban
Ipari felhő infrastruktúrák a gyakorlatban
Open Academy
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ában
Open Academy
Adminisztratív protokollok ellenőrzési lehetőségei
Adminisztratív protokollok ellenőrzési lehetőségei
Open Academy
Naplózás a gyakorlatban
Naplózás a gyakorlatban
Open Academy
Hogyan optimalizáljunk C/C++ kódokat!
Hogyan optimalizáljunk C/C++ kódokat!
Open Academy
Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?
Open Academy
AGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztés
Open Academy
Multiplatform mobil fejlesztések
Multiplatform mobil fejlesztések
Open Academy
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Open Academy
Verziókövető rendszerek alkalmazása fejlesztési projektekben
Verziókövető rendszerek alkalmazása fejlesztési projektekben
Open Academy
Ad

Recently uploaded (20)

AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
"Scaling in space and time with Temporal", Andriy Lupa.pdf
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
" How to survive with 1 billion vectors and not sell a kidney: our low-cost c...
Fwdays
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
"Scaling in space and time with Temporal", Andriy Lupa.pdf
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
Quantum AI: Where Impossible Becomes Probable
Quantum AI: Where Impossible Becomes Probable
Saikat Basu
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
Ad

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

  • #4: 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
  • #5: Meg viccesebb eloado Business Analyst Dannel But that's just like analysis Given When Then Pushing Dan Thinking
  • #6: 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
  • #8: 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
  • #9: 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
  • #11: Konnyen megtalalhato pelda
  • #12: Adott kontextusban elkovetett cselekmeny hatasara tortenik valami.
  • #13: Mi tortenik, ha megvaltoztatjuk a kontextust? Mas lesz-e a kimenet? Vagy van-e olyan esemeny ami azonos kontextusban mas kimenetet eredmenyez?
  • #16: Ez persze tok jo, ha csak be akartam menni a kocsmaba. De arrol nem arulkodik, hogy egyaltalan miert mentem be a kocsmaba...
  • #17: Vegig se olvasom, annyira unalmas. A soros peldan legalabb kuncoghatunk
  • #19: Az implementaciot koti meg Sokan alapbol igy gondolkodnak Problema: megkoti a fantaziat es az implementaciot. Determinal.
  • #20: 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
  • #21: Imperativ
  • #22: Deklarativ
  • #23: Imperativ
  • #24: Imperativ / Deklarativ
  • #25: Deklarativ
  • #26: 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.
  • #27: 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.
  • #29: Kommunikalja a celt, nem a megvalositast.
  • #31: Rovidebb, erthetobb, kezelhetobb. Peldaul ha en most szomjazom: imperativ vs deklarativ
  • #32: E/1 mukodik egyszeru esetben amikor nincs a userek kozott interakcio E/1 mukodik amikor nincsenek jogosultsagok
  • #33: Ha itt neven nevezzuk a szereploket, akkor sokkal erthetobb kepet kapunk