SlideShare a Scribd company logo
Surrey STC Meetup, 27/06/2013
Behaviour Driven
Development
Alan Parkinson
@alan_parkinson
What do you know about
BDD?
Hint: It‟s not about test automation
• Program does not do what it is intended
• Fixed in development/QA
• Program does what is intended
• Unstated, misunderstood or tacit
requirements
IMPLEMENTATION DEFECT
REQUIREMENTS DEFECT
Software - What can go wrong?
A woman asks her husband, a
programmer, to go shopping.
She tells him “please, go to the nearby
grocery store to buy some bread. Also, if
they have eggs, buy 6”
50-60%of issues identified by testers can be chalked down as
Requirements Defects
100-200%more expensive to fix than other defects because
the code is already written
Why are developers given buggy
requirements
Shouldn‟t we spend time testing
the requirements?
Anatomy of User Stories
• Captures the 'who', 'what' and 'why„
• Simple, concise and often limited in detail
• Acceptance criteria
 Captures the business rules
 The finish line
Capture contact details of Pet owners
As a veterinary surgeon
I want the Owners contacts details recorded
So that I can contact them in an emergency to
authorize treatment
Example Acceptance Criteria
Owners should be prevented from
entering invalid telephone numbers
Criteria to Scenarios
If the owner enters a telephone number that
isn't exactly 11 digits long, the user should be
presented with a message advising them to
enter a valid telephone number.
Questions…
If the owner enters a telephone number that
isn't exactly 11 digits long, the user should be
presented with a message advising them to
enter a valid telephone number.
Is a country code required?
Should a mobile telephone/cell be considered valid?
What country‟s telephone number formats are considered valid?
Advantages of Scenarios
• Scenarios do not replace Acceptance Criteria
 Document and enhance acceptance criteria
 Identify missing requirements details
 Easy to validate against a system
 Can be automated to validate a system
• Simple communication tool
 Natural languages
 Everyone can understand
Too
little
detail
Tied to
Softwar
e
Design
Goldie
locks
High
Mainten
ance
Business Analysts
Developers Testers
The power of 3
Specification Workshop
• Goals:
 Refine up coming User Stories with concrete Examples
 Build common language
 Reach a shared understanding
• Inputs:
 User Stories from the Product Backlog
How does BDD help?
• All stakeholders involved in the discussion drives out clear and concise
specifications centred around business value.
• Write specifications in natural language so everyone is on the same page
• Turn the specification into acceptance tests that guarantees the software does
as it is intended
• Use those tests as the software evolves to guarantee that it continues to work
as intended.
• Specifications are documentation – each scenario describes how the system is
being used
Thursday 24th of October 2013
Brighton
Thank you
Alan Parkinson
CEO and Co-founder, Hindsight Software Ltd
alan.parkinson@hindsightsoftware.co.uk
@alan_parkinson

More Related Content

Similar to A Quick overview of Behaviour Driven Development (BDD)

Taking back control of your Microsoft Negotiation: Mike Austin, Method 180 (I...
Taking back control of your Microsoft Negotiation: Mike Austin, Method 180 (I...Taking back control of your Microsoft Negotiation: Mike Austin, Method 180 (I...
Taking back control of your Microsoft Negotiation: Mike Austin, Method 180 (I...
Martin Thompson
 
Roundtable: Best Practices - Quality Assurance & Analytics
Roundtable: Best Practices - Quality Assurance & AnalyticsRoundtable: Best Practices - Quality Assurance & Analytics
Roundtable: Best Practices - Quality Assurance & Analytics
Sheri Greenhaus
 
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptxSOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
Financial Services Innovators
 
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
XBOSoft
 
CCNS Webinar
CCNS WebinarCCNS Webinar
CCNS Webinar
ProcedureFlow
 
D2C Insider Elevate, Global Selling Summit Bengaluru - Building Your eCommerc...
D2C Insider Elevate, Global Selling Summit Bengaluru - Building Your eCommerc...D2C Insider Elevate, Global Selling Summit Bengaluru - Building Your eCommerc...
D2C Insider Elevate, Global Selling Summit Bengaluru - Building Your eCommerc...
D2C Insider
 
[Ebook] Video interview guide 2016
[Ebook] Video interview guide 2016[Ebook] Video interview guide 2016
[Ebook] Video interview guide 2016
Talview
 
Solving the Top Problems of Voice Testing
Solving the Top Problems of Voice TestingSolving the Top Problems of Voice Testing
Solving the Top Problems of Voice Testing
Applause
 
3. introduction to software testing
3. introduction to software testing3. introduction to software testing
3. introduction to software testing
Chandra Maddigapu
 
Learn How to Create a Seamless Omni-Channel Retail Experience
Learn How to Create a Seamless Omni-Channel Retail ExperienceLearn How to Create a Seamless Omni-Channel Retail Experience
Learn How to Create a Seamless Omni-Channel Retail Experience
Perficient, Inc.
 
Learn how to create a seamless omni channel retail experience 5.9.14
Learn how to create a seamless omni channel retail experience 5.9.14Learn how to create a seamless omni channel retail experience 5.9.14
Learn how to create a seamless omni channel retail experience 5.9.14Perficient, Inc.
 
Mobile Application Testing Company Challenges.pdf
Mobile Application Testing Company Challenges.pdfMobile Application Testing Company Challenges.pdf
Mobile Application Testing Company Challenges.pdf
Puran Mehra
 
Top Software panies to Outsource.pdfTesting Com
Top Software panies to Outsource.pdfTesting ComTop Software panies to Outsource.pdfTesting Com
Top Software panies to Outsource.pdfTesting Com
Mindfire LLC
 
Five Steps to a Martech Power Stack (2021)
Five Steps to a Martech Power Stack (2021)Five Steps to a Martech Power Stack (2021)
Five Steps to a Martech Power Stack (2021)
Josh Hill
 
Process design focuses on.pdf
 Process design focuses on.pdf Process design focuses on.pdf
Process design focuses on.pdf
aludin007
 
How To Write Job Ad
How To Write Job AdHow To Write Job Ad
How To Write Job Ad
Bayarmaa GBayarmaa
 

Similar to A Quick overview of Behaviour Driven Development (BDD) (20)

Taking back control of your Microsoft Negotiation: Mike Austin, Method 180 (I...
Taking back control of your Microsoft Negotiation: Mike Austin, Method 180 (I...Taking back control of your Microsoft Negotiation: Mike Austin, Method 180 (I...
Taking back control of your Microsoft Negotiation: Mike Austin, Method 180 (I...
 
Roundtable: Best Practices - Quality Assurance & Analytics
Roundtable: Best Practices - Quality Assurance & AnalyticsRoundtable: Best Practices - Quality Assurance & Analytics
Roundtable: Best Practices - Quality Assurance & Analytics
 
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptxSOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
 
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
 
Example_Whitepaper
Example_WhitepaperExample_Whitepaper
Example_Whitepaper
 
CCNS Webinar
CCNS WebinarCCNS Webinar
CCNS Webinar
 
D2C Insider Elevate, Global Selling Summit Bengaluru - Building Your eCommerc...
D2C Insider Elevate, Global Selling Summit Bengaluru - Building Your eCommerc...D2C Insider Elevate, Global Selling Summit Bengaluru - Building Your eCommerc...
D2C Insider Elevate, Global Selling Summit Bengaluru - Building Your eCommerc...
 
[Ebook] Video interview guide 2016
[Ebook] Video interview guide 2016[Ebook] Video interview guide 2016
[Ebook] Video interview guide 2016
 
Solving the Top Problems of Voice Testing
Solving the Top Problems of Voice TestingSolving the Top Problems of Voice Testing
Solving the Top Problems of Voice Testing
 
3. introduction to software testing
3. introduction to software testing3. introduction to software testing
3. introduction to software testing
 
Life of a Tester v1
Life of a Tester v1Life of a Tester v1
Life of a Tester v1
 
Learn How to Create a Seamless Omni-Channel Retail Experience
Learn How to Create a Seamless Omni-Channel Retail ExperienceLearn How to Create a Seamless Omni-Channel Retail Experience
Learn How to Create a Seamless Omni-Channel Retail Experience
 
Learn how to create a seamless omni channel retail experience 5.9.14
Learn how to create a seamless omni channel retail experience 5.9.14Learn how to create a seamless omni channel retail experience 5.9.14
Learn how to create a seamless omni channel retail experience 5.9.14
 
Mobile Application Testing Company Challenges.pdf
Mobile Application Testing Company Challenges.pdfMobile Application Testing Company Challenges.pdf
Mobile Application Testing Company Challenges.pdf
 
Test Driver Selection 10.8.16 2
Test Driver Selection 10.8.16 2Test Driver Selection 10.8.16 2
Test Driver Selection 10.8.16 2
 
Top Software panies to Outsource.pdfTesting Com
Top Software panies to Outsource.pdfTesting ComTop Software panies to Outsource.pdfTesting Com
Top Software panies to Outsource.pdfTesting Com
 
Five Steps to a Martech Power Stack (2021)
Five Steps to a Martech Power Stack (2021)Five Steps to a Martech Power Stack (2021)
Five Steps to a Martech Power Stack (2021)
 
Top 10 Tips
Top 10 TipsTop 10 Tips
Top 10 Tips
 
Process design focuses on.pdf
 Process design focuses on.pdf Process design focuses on.pdf
Process design focuses on.pdf
 
How To Write Job Ad
How To Write Job AdHow To Write Job Ad
How To Write Job Ad
 

More from Alan Parkinson

Test Data Builder Pattern
Test Data Builder PatternTest Data Builder Pattern
Test Data Builder Pattern
Alan Parkinson
 
Testing requirements with BDD
Testing requirements with BDDTesting requirements with BDD
Testing requirements with BDDAlan Parkinson
 
Baking in the cloud with packer and puppet
Baking in the cloud with packer and puppetBaking in the cloud with packer and puppet
Baking in the cloud with packer and puppet
Alan Parkinson
 
Decapitating Selenium with JavaScript
Decapitating Selenium with JavaScriptDecapitating Selenium with JavaScript
Decapitating Selenium with JavaScript
Alan Parkinson
 
Pull requests and testers can be friends
Pull requests and testers can be friendsPull requests and testers can be friends
Pull requests and testers can be friends
Alan Parkinson
 
What is Continuous Delivery?
What is Continuous Delivery?What is Continuous Delivery?
What is Continuous Delivery?
Alan Parkinson
 
Cross browser Testing JavaScript
Cross browser Testing JavaScriptCross browser Testing JavaScript
Cross browser Testing JavaScript
Alan Parkinson
 
Why we used Feature Branching
Why we used Feature BranchingWhy we used Feature Branching
Why we used Feature BranchingAlan Parkinson
 
Test automation with Cucumber-JVM
Test automation with Cucumber-JVMTest automation with Cucumber-JVM
Test automation with Cucumber-JVM
Alan Parkinson
 
Cross-browser unit testing JavaScript
Cross-browser unit testing JavaScriptCross-browser unit testing JavaScript
Cross-browser unit testing JavaScriptAlan Parkinson
 
Creating data with the test data builder pattern
Creating data with the test data builder patternCreating data with the test data builder pattern
Creating data with the test data builder patternAlan Parkinson
 
Acceptance test styles - Imperative vs Declarative
Acceptance test styles - Imperative vs DeclarativeAcceptance test styles - Imperative vs Declarative
Acceptance test styles - Imperative vs DeclarativeAlan Parkinson
 
Continuous Deployment Pipeline with maven
Continuous Deployment Pipeline with mavenContinuous Deployment Pipeline with maven
Continuous Deployment Pipeline with mavenAlan Parkinson
 
Feature branching a release day painkiller
Feature branching   a release day painkillerFeature branching   a release day painkiller
Feature branching a release day painkillerAlan Parkinson
 

More from Alan Parkinson (14)

Test Data Builder Pattern
Test Data Builder PatternTest Data Builder Pattern
Test Data Builder Pattern
 
Testing requirements with BDD
Testing requirements with BDDTesting requirements with BDD
Testing requirements with BDD
 
Baking in the cloud with packer and puppet
Baking in the cloud with packer and puppetBaking in the cloud with packer and puppet
Baking in the cloud with packer and puppet
 
Decapitating Selenium with JavaScript
Decapitating Selenium with JavaScriptDecapitating Selenium with JavaScript
Decapitating Selenium with JavaScript
 
Pull requests and testers can be friends
Pull requests and testers can be friendsPull requests and testers can be friends
Pull requests and testers can be friends
 
What is Continuous Delivery?
What is Continuous Delivery?What is Continuous Delivery?
What is Continuous Delivery?
 
Cross browser Testing JavaScript
Cross browser Testing JavaScriptCross browser Testing JavaScript
Cross browser Testing JavaScript
 
Why we used Feature Branching
Why we used Feature BranchingWhy we used Feature Branching
Why we used Feature Branching
 
Test automation with Cucumber-JVM
Test automation with Cucumber-JVMTest automation with Cucumber-JVM
Test automation with Cucumber-JVM
 
Cross-browser unit testing JavaScript
Cross-browser unit testing JavaScriptCross-browser unit testing JavaScript
Cross-browser unit testing JavaScript
 
Creating data with the test data builder pattern
Creating data with the test data builder patternCreating data with the test data builder pattern
Creating data with the test data builder pattern
 
Acceptance test styles - Imperative vs Declarative
Acceptance test styles - Imperative vs DeclarativeAcceptance test styles - Imperative vs Declarative
Acceptance test styles - Imperative vs Declarative
 
Continuous Deployment Pipeline with maven
Continuous Deployment Pipeline with mavenContinuous Deployment Pipeline with maven
Continuous Deployment Pipeline with maven
 
Feature branching a release day painkiller
Feature branching   a release day painkillerFeature branching   a release day painkiller
Feature branching a release day painkiller
 

Recently uploaded

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 

Recently uploaded (20)

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 

A Quick overview of Behaviour Driven Development (BDD)

  • 1. Surrey STC Meetup, 27/06/2013 Behaviour Driven Development Alan Parkinson @alan_parkinson
  • 2. What do you know about BDD? Hint: It‟s not about test automation
  • 3. • Program does not do what it is intended • Fixed in development/QA • Program does what is intended • Unstated, misunderstood or tacit requirements IMPLEMENTATION DEFECT REQUIREMENTS DEFECT Software - What can go wrong?
  • 4. A woman asks her husband, a programmer, to go shopping. She tells him “please, go to the nearby grocery store to buy some bread. Also, if they have eggs, buy 6”
  • 5. 50-60%of issues identified by testers can be chalked down as Requirements Defects 100-200%more expensive to fix than other defects because the code is already written
  • 6. Why are developers given buggy requirements
  • 7. Shouldn‟t we spend time testing the requirements?
  • 8. Anatomy of User Stories • Captures the 'who', 'what' and 'why„ • Simple, concise and often limited in detail • Acceptance criteria  Captures the business rules  The finish line
  • 9. Capture contact details of Pet owners As a veterinary surgeon I want the Owners contacts details recorded So that I can contact them in an emergency to authorize treatment
  • 10. Example Acceptance Criteria Owners should be prevented from entering invalid telephone numbers
  • 11. Criteria to Scenarios If the owner enters a telephone number that isn't exactly 11 digits long, the user should be presented with a message advising them to enter a valid telephone number.
  • 12. Questions… If the owner enters a telephone number that isn't exactly 11 digits long, the user should be presented with a message advising them to enter a valid telephone number. Is a country code required? Should a mobile telephone/cell be considered valid? What country‟s telephone number formats are considered valid?
  • 13. Advantages of Scenarios • Scenarios do not replace Acceptance Criteria  Document and enhance acceptance criteria  Identify missing requirements details  Easy to validate against a system  Can be automated to validate a system • Simple communication tool  Natural languages  Everyone can understand
  • 15. Specification Workshop • Goals:  Refine up coming User Stories with concrete Examples  Build common language  Reach a shared understanding • Inputs:  User Stories from the Product Backlog
  • 16. How does BDD help? • All stakeholders involved in the discussion drives out clear and concise specifications centred around business value. • Write specifications in natural language so everyone is on the same page • Turn the specification into acceptance tests that guarantees the software does as it is intended • Use those tests as the software evolves to guarantee that it continues to work as intended. • Specifications are documentation – each scenario describes how the system is being used
  • 17. Thursday 24th of October 2013 Brighton
  • 18. Thank you Alan Parkinson CEO and Co-founder, Hindsight Software Ltd alan.parkinson@hindsightsoftware.co.uk @alan_parkinson

Editor's Notes

  1. The husband brings home 6 loaves of bread!
  2. Let’s take a look at the current situation state of requirements in Agile ProjectsUser stories are the basic unit of requirements in Agile project. It captures the 'who', 'what' and 'why' of a requirement in a simple, concise way, often limited in detail by what can be hand-written on a small paper notecard
  3. Rather ambiguous exampleWhat does the business count as a invalid number?
  4. Can you see how much more specific this version is?A stakeholder could read this, and present use we an example of a valid telephone numberWe turned a single Acceptance Criterion into a Acceptance Test.
  5. Can you see how much more specific this version is?A stakeholder could read this, and present use we an example of a valid telephone numberWe turned a single Acceptance Criterion into a Acceptance Test.
  6. Three AmigosLeft to their own devices….Business AnalystsTypically put too little detail into scenarios, details focused on the wrong scenarioDevelopersDevelopers ended up turning scenarios into descriptions of their envisage software designTestersTypically write Scenarios similar to test scripts and cover every path. This ultimately makes the Scenarios have high maintenance costs when automated.