SlideShare a Scribd company logo
BDD
Behavior Driven Development
How traditional projects fail
•   Delivering Late or Over Budget
•   Delivering the Wrong Thing
•   Unstable in Production
•   Costly to Maintain
Agile
•   Individuals and interactions over processes and tools
•   Working software over comprehensive documentation
•   Customer collaboration over contract negotiation
•   Responding to change over following a plan
Cost of going agile
•   Outcome-Based Planning
•   Streaming Requirements
•   Evolving Design
•   Changing Existing Code
•   Frequent Code Integration
•   Continual Regression Testing
•   Frequent Production Releases
Three principles of BDD
• Enough is enough - Up-front planning, analysis, and design all
  have a diminishing return. We shouldn’t do less than we need
  to get started, but any more than that is wasted effort.
• Deliver stakeholder value - If you are doing something that
  isn’t either delivering value or increasing your ability to deliver
  value, stop doing it, and do something else instead.
• It’s all behavior - Whether at the code level, the application
  level, or beyond, we can use the same thinking and the same
  linguistic constructs to describe behavior at any level of
  granularity.
TDD vs BDD
• TDD tests what an object is…
• BDD tests what an object does…
Code Exercise
• Build a Set implementation n java with the following APIs-
  •   empty()
  •   size()
  •   add()
  •   contains()
  •   remove()
  •   Dynamic expansion
Eclipse perspective




Specification                 Code




                Test Runner
empty( ) specification
                         Name of the test


                         Pre conditions




                          Expectation
empty( ) implementation

                   Just enough to
                   pass test case!!!!
More
specifications
More
implementation
BDD
Lifecycle

More Related Content

PPTX
Agile Development in .NET
PDF
Droidcon Create Your Gradle Plugin
PDF
Spec(ing) Out Your Workflow with SpecFlow
ODP
Into the domain
PDF
TDD with Ruby
PDF
BDD API Tests with Gherkin and Behat
PDF
Agile engineering practices – a short overview
PPTX
Scala from the Trenches - Java One 2016
Agile Development in .NET
Droidcon Create Your Gradle Plugin
Spec(ing) Out Your Workflow with SpecFlow
Into the domain
TDD with Ruby
BDD API Tests with Gherkin and Behat
Agile engineering practices – a short overview
Scala from the Trenches - Java One 2016

What's hot (20)

PPTX
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
PPTX
Spec flow – functional testing made easy
PPTX
Scala from the Trenches
PPTX
Enhance Your Code Quality with Code Contracts
PPTX
Introduction to Aspect Oriented Programming (DDD South West 4.0)
PDF
Presentation of agile engineering practices
ODP
Behavior Driven GUI Testing
PDF
Continuous Delivery with Jenkins: the Good, the Bad and the Ugly - JAX DevOps...
PPTX
Understanding Why Testing is Importaint
PDF
Death to project documentation with eXtreme Programming
PPTX
(Agile) engineering best practices - What every project manager should know
PPTX
DOES14 - David Ashman - Blackboard Learn - Keep Your Head in the Clouds
PDF
Agile testing principles and practices - Anil Karade
PDF
Test Driven Development
PDF
QA Fest 2015. Gáspár Nagy. BDD Crash Course for Testers
PPTX
TDD For Mortals
PPTX
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
PPTX
Sustainable agile testing
PPTX
Continuous delivery in practice (public)
PPTX
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Spec flow – functional testing made easy
Scala from the Trenches
Enhance Your Code Quality with Code Contracts
Introduction to Aspect Oriented Programming (DDD South West 4.0)
Presentation of agile engineering practices
Behavior Driven GUI Testing
Continuous Delivery with Jenkins: the Good, the Bad and the Ugly - JAX DevOps...
Understanding Why Testing is Importaint
Death to project documentation with eXtreme Programming
(Agile) engineering best practices - What every project manager should know
DOES14 - David Ashman - Blackboard Learn - Keep Your Head in the Clouds
Agile testing principles and practices - Anil Karade
Test Driven Development
QA Fest 2015. Gáspár Nagy. BDD Crash Course for Testers
TDD For Mortals
HOW TO OPTIMIZE NON-CODING TIME, ORI KEREN, LinearB
Sustainable agile testing
Continuous delivery in practice (public)
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Ad

Similar to Tech breakfast at Lab49 (20)

PPTX
Cucumber is a Behavior Driven Development tool used to develop test cases for...
PDF
Enter the mind of an Agile Developer
PDF
Inside Behavior Driven Development
KEY
Javascript Tests with Jasmine for Front-end Devs
PDF
SanDiego_DevOps_Meetup_9212016
PPTX
SanDiego_DevOps_Meetup_9212016-v8
PPT
Behavior Driven Development by Example
PDF
DevOps 及 TDD 開發流程哲學
PPTX
BDD presentation
PDF
Design For Testability
PPTX
Tdd and bdd
PPTX
DevOps for AI Apps
PPTX
{10.0} Test Driven Development.pptx
PPTX
Test driven development v1.0
PPTX
Dev/Test scenarios in DevOps world
PPTX
Lean-Agile Development with SharePoint - Bill Ayers
PPT
Bdd with m spec
PDF
CBDW2014 - Behavior Driven Development with TestBox
PPTX
Implementation of Agile SDLC with JIRA and CICD.pptx
PPTX
Scrum plus – why scrum is not enough for successful delivery
Cucumber is a Behavior Driven Development tool used to develop test cases for...
Enter the mind of an Agile Developer
Inside Behavior Driven Development
Javascript Tests with Jasmine for Front-end Devs
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016-v8
Behavior Driven Development by Example
DevOps 及 TDD 開發流程哲學
BDD presentation
Design For Testability
Tdd and bdd
DevOps for AI Apps
{10.0} Test Driven Development.pptx
Test driven development v1.0
Dev/Test scenarios in DevOps world
Lean-Agile Development with SharePoint - Bill Ayers
Bdd with m spec
CBDW2014 - Behavior Driven Development with TestBox
Implementation of Agile SDLC with JIRA and CICD.pptx
Scrum plus – why scrum is not enough for successful delivery
Ad

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPT
Teaching material agriculture food technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
Understanding_Digital_Forensics_Presentation.pptx
Teaching material agriculture food technology
Network Security Unit 5.pdf for BCA BBA.
Reach Out and Touch Someone: Haptics and Empathic Computing
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Building Integrated photovoltaic BIPV_UPV.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Big Data Technologies - Introduction.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
MYSQL Presentation for SQL database connectivity
Per capita expenditure prediction using model stacking based on satellite ima...
Chapter 3 Spatial Domain Image Processing.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The Rise and Fall of 3GPP – Time for a Sabbatical?

Tech breakfast at Lab49

  • 2. How traditional projects fail • Delivering Late or Over Budget • Delivering the Wrong Thing • Unstable in Production • Costly to Maintain
  • 3. Agile • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan
  • 4. Cost of going agile • Outcome-Based Planning • Streaming Requirements • Evolving Design • Changing Existing Code • Frequent Code Integration • Continual Regression Testing • Frequent Production Releases
  • 5. Three principles of BDD • Enough is enough - Up-front planning, analysis, and design all have a diminishing return. We shouldn’t do less than we need to get started, but any more than that is wasted effort. • Deliver stakeholder value - If you are doing something that isn’t either delivering value or increasing your ability to deliver value, stop doing it, and do something else instead. • It’s all behavior - Whether at the code level, the application level, or beyond, we can use the same thinking and the same linguistic constructs to describe behavior at any level of granularity.
  • 6. TDD vs BDD • TDD tests what an object is… • BDD tests what an object does…
  • 7. Code Exercise • Build a Set implementation n java with the following APIs- • empty() • size() • add() • contains() • remove() • Dynamic expansion
  • 9. empty( ) specification Name of the test Pre conditions Expectation
  • 10. empty( ) implementation Just enough to pass test case!!!!