SlideShare ist ein Scribd-Unternehmen logo
1 von 18
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

Weitere ähnliche Inhalte

Ähnlich wie Surrey STC Meetup BDD Presentation

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 & AnalyticsSheri 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.pptxFinancial 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
 
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 2016Talview
 
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 TestingApplause
 
3. introduction to software testing
3. introduction to software testing3. introduction to software testing
3. introduction to software testingChandra Maddigapu
 
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.
 
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 ExperiencePerficient, Inc.
 
Mobile Application Testing Company Challenges.pdf
Mobile Application Testing Company Challenges.pdfMobile Application Testing Company Challenges.pdf
Mobile Application Testing Company Challenges.pdfPuran 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 ComMindfire 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.pdfaludin007
 

Ähnlich wie Surrey STC Meetup BDD Presentation (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 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
 
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
 
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
 

Mehr von Alan Parkinson

Test Data Builder Pattern
Test Data Builder PatternTest Data Builder Pattern
Test Data Builder PatternAlan 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 puppetAlan Parkinson
 
Decapitating Selenium with JavaScript
Decapitating Selenium with JavaScriptDecapitating Selenium with JavaScript
Decapitating Selenium with JavaScriptAlan 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 friendsAlan 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 JavaScriptAlan 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-JVMAlan 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
 

Mehr von 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
 

Kürzlich hochgeladen

H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Kürzlich hochgeladen (20)

H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

Surrey STC Meetup BDD Presentation

  • 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

Hinweis der Redaktion

  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.