SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Why do you say BDD if it is
Cucumber?
Or How I Learned to Stop Worrying and Love the Behavior
Enrique Sánchez
Technical Team Lead @ Medianet Software
CUCUMBER =/= BDD
BDD is a software development process
Cucumber is a tool
“
”
All of these tools are great… but, in the end, tools are tools.
While RSpec and Cucumber are optimized for BDD, using them
doesn’t automatically mean you’re doing BDD.
BDD is a MINDSET not a TOOL
What the f**k is BDD then?
Engineering
Product
Miscommunicationbetween stakeholders, product, devs…
“
”
56% of all bugs can be traced to errors made during the
requirement stage.
Tom deMarco
“ ”
68% failed projects
Standish Group Report 2009
How to solve this gap?
Gherkin
Define a narrative
Why?
Feature name, Actor, behavior, benefit
What?
Scenarios and steps
Feature
In	
  order	
  to	
  Value proposition
As	
  a	
  Role/actor
I	
  want	
  to feature description
Scenario
Given	
  setup
When	
  user	
  interaction/change
Then	
  outcome (assert)
How to create a narrative?
Forget the implementation
Who cares about code?
Product and Marketing don’t think in code
Define a feature
Start with expectations
Instead of setting state or user actions
Keep Scenarios simple
Split complicated workflows
Declarative
Be concise
Don’t be Shakespeare
Not unnecessary steps
Remember YAGNI
Abstraction
Describe a feature, not edge cases
Think in requirements
Only BDD the happy path
There’re controller/model/view tests
Assert only once
Only assert on Then steps
No more user actions after a Then
Now you can choose your tool
Design, code, reuse
Use the right tool for the right job
What are you testing: web, mobile, service?
Think in the language
Ruby, Python, Java…
Narratives
Examples Describe
ImplementEmergent Design
BDD Club Rules
The first rule is you have to talk
The second stories should speak with the customers terminology
The third rule stories are not specs
The fourth rule keep the story goals as real values for the customer
The fifth rule stories should not be exhaustive
The sixth rule stories should not be too low level or high level
The seventh rule stories should slice through multiple layers
The eighth, if it’s your first day you have to talk and ask
Questions?
Thank you!
Enrique Sánchez | hola@enrique-sanchez.me | @EnriqueSanchezB

Weitere ähnliche Inhalte

Was ist angesagt?

Building your first WordPress plugin
Building your first WordPress pluginBuilding your first WordPress plugin
Building your first WordPress plugin
Justin Foell
 

Was ist angesagt? (20)

Behaviour Driven Development
Behaviour Driven DevelopmentBehaviour Driven Development
Behaviour Driven Development
 
Coderetreat - Practice to Master Your Crafts
Coderetreat - Practice to Master Your CraftsCoderetreat - Practice to Master Your Crafts
Coderetreat - Practice to Master Your Crafts
 
Detangling Your JavaScript
Detangling Your JavaScriptDetangling Your JavaScript
Detangling Your JavaScript
 
Javascript Tests with Jasmine for Front-end Devs
Javascript Tests with Jasmine for Front-end DevsJavascript Tests with Jasmine for Front-end Devs
Javascript Tests with Jasmine for Front-end Devs
 
Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017
 
How have we developed product without bugs
How have we developed product without bugsHow have we developed product without bugs
How have we developed product without bugs
 
What I learned interviewing for front-end developer roles
What I learned interviewing for front-end developer rolesWhat I learned interviewing for front-end developer roles
What I learned interviewing for front-end developer roles
 
Client-side Development 2016
Client-side Development 2016Client-side Development 2016
Client-side Development 2016
 
Building your first WordPress plugin
Building your first WordPress pluginBuilding your first WordPress plugin
Building your first WordPress plugin
 
Tdd2018 state of the software quality in Germany
Tdd2018 state of the software quality in GermanyTdd2018 state of the software quality in Germany
Tdd2018 state of the software quality in Germany
 
Boquet manager
Boquet managerBoquet manager
Boquet manager
 
Irresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperIrresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical Developer
 
Geecon10: Object Oriented for nonbelievers
Geecon10: Object Oriented for nonbelieversGeecon10: Object Oriented for nonbelievers
Geecon10: Object Oriented for nonbelievers
 
How to write bad code using C#
How to write bad code using C#How to write bad code using C#
How to write bad code using C#
 
Frontend 101 Initializing a Frontend Project using React
Frontend 101 Initializing a Frontend Project using ReactFrontend 101 Initializing a Frontend Project using React
Frontend 101 Initializing a Frontend Project using React
 
Job manager 2020 in Angular
Job manager 2020 in AngularJob manager 2020 in Angular
Job manager 2020 in Angular
 
Best coding practices
Best coding practicesBest coding practices
Best coding practices
 
Lessons learned with Bdd: a tutorial
Lessons learned with Bdd: a tutorialLessons learned with Bdd: a tutorial
Lessons learned with Bdd: a tutorial
 
Code Quality
Code QualityCode Quality
Code Quality
 
Behavior Driven Education: A Story of Learning ROR
Behavior Driven Education: A Story of Learning RORBehavior Driven Education: A Story of Learning ROR
Behavior Driven Education: A Story of Learning ROR
 

Ähnlich wie Why do you say BDD if it is Cucumber?

16 Practical Insights from Designing Software
16 Practical Insights from Designing Software16 Practical Insights from Designing Software
16 Practical Insights from Designing Software
Kok Chiann
 

Ähnlich wie Why do you say BDD if it is Cucumber? (20)

User Stories
User StoriesUser Stories
User Stories
 
User Stories
User StoriesUser Stories
User Stories
 
Biz Product Learnings
Biz Product LearningsBiz Product Learnings
Biz Product Learnings
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
 
Kamon Ayeva Antipatterns, Patterns, And Rules Of Thumb For Successful Plone...
Kamon Ayeva   Antipatterns, Patterns, And Rules Of Thumb For Successful Plone...Kamon Ayeva   Antipatterns, Patterns, And Rules Of Thumb For Successful Plone...
Kamon Ayeva Antipatterns, Patterns, And Rules Of Thumb For Successful Plone...
 
UX Prototyping (UXiD) - Slide by Anton Chandra and Bahni Mahariasha
UX Prototyping (UXiD) - Slide by Anton Chandra and Bahni MahariashaUX Prototyping (UXiD) - Slide by Anton Chandra and Bahni Mahariasha
UX Prototyping (UXiD) - Slide by Anton Chandra and Bahni Mahariasha
 
Accessibility Buy-In for Inclusive Product Week
Accessibility Buy-In for Inclusive Product WeekAccessibility Buy-In for Inclusive Product Week
Accessibility Buy-In for Inclusive Product Week
 
16 Practical Insights from Designing Software
16 Practical Insights from Designing Software16 Practical Insights from Designing Software
16 Practical Insights from Designing Software
 
Crafting Great Code
Crafting Great CodeCrafting Great Code
Crafting Great Code
 
Rianomics 10 ways to ensure RIA failure
Rianomics 10 ways to ensure RIA failureRianomics 10 ways to ensure RIA failure
Rianomics 10 ways to ensure RIA failure
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
 
Less look, more feel
Less look, more feelLess look, more feel
Less look, more feel
 
Product Negatives to Positives
Product Negatives to PositivesProduct Negatives to Positives
Product Negatives to Positives
 
Why Methods Trump Methodology
Why Methods Trump MethodologyWhy Methods Trump Methodology
Why Methods Trump Methodology
 
Vakmanschap is meesterschap
Vakmanschap is meesterschapVakmanschap is meesterschap
Vakmanschap is meesterschap
 
Selecting topic 4 FYP v3
Selecting topic 4 FYP v3Selecting topic 4 FYP v3
Selecting topic 4 FYP v3
 
ITNetwork BACon agile spring. Андрей Таганский - Product Manager - профессия...
 ITNetwork BACon agile spring. Андрей Таганский - Product Manager - профессия... ITNetwork BACon agile spring. Андрей Таганский - Product Manager - профессия...
ITNetwork BACon agile spring. Андрей Таганский - Product Manager - профессия...
 
Online usability for conversion marketing
Online usability for conversion marketingOnline usability for conversion marketing
Online usability for conversion marketing
 
IoT Product Design and Prototyping
IoT Product Design and PrototypingIoT Product Design and Prototyping
IoT Product Design and Prototyping
 
Importance of Documentation for programmers
Importance of Documentation for programmers Importance of Documentation for programmers
Importance of Documentation for programmers
 

Mehr von Enrique Sánchez-Bayuela

Mehr von Enrique Sánchez-Bayuela (10)

Lecciones aprendidas con appium
Lecciones aprendidas con appiumLecciones aprendidas con appium
Lecciones aprendidas con appium
 
Workshop calabash appium
Workshop calabash appiumWorkshop calabash appium
Workshop calabash appium
 
Capybara vs watir
Capybara vs watirCapybara vs watir
Capybara vs watir
 
Cómo ser un Agile Tester (y no morir intentándolo)
Cómo ser un Agile Tester (y no morir intentándolo)Cómo ser un Agile Tester (y no morir intentándolo)
Cómo ser un Agile Tester (y no morir intentándolo)
 
Workshop Calabash Appium
Workshop Calabash AppiumWorkshop Calabash Appium
Workshop Calabash Appium
 
Seminario Calabash - VLCTesting 2014
Seminario Calabash - VLCTesting 2014Seminario Calabash - VLCTesting 2014
Seminario Calabash - VLCTesting 2014
 
Just Code or How I learned to write code and stop worrying about the environment
Just Code or How I learned to write code and stop worrying about the environmentJust Code or How I learned to write code and stop worrying about the environment
Just Code or How I learned to write code and stop worrying about the environment
 
BDD para la mejora de la calidad software
BDD para la mejora de la calidad softwareBDD para la mejora de la calidad software
BDD para la mejora de la calidad software
 
BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
 
Tuenti & QA
Tuenti & QATuenti & QA
Tuenti & QA
 

Kürzlich hochgeladen

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Kürzlich hochgeladen (20)

%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 

Why do you say BDD if it is Cucumber?