Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to BDD

416 views

Published on

Introduction to BDD

Published in: Software
  • Be the first to comment

  • Be the first to like this

Introduction to BDD

  1. 1. @gil_zilberfeld Introduction to BDD
  2. 2. @gil_zilberfeld Hello! I AM GIL ZILBERFELD www.gilzilberfeld.com www.everydayunittesting.com @gil_zilberfeld
  3. 3. @gil_zilberfeld A history lesson…
  4. 4. @gil_zilberfeld eXtreme Programming ◉User stories ◉System metaphor (and DDD’s ubiquitous language) ◉Customer is always available ◉Unit-test first ◉Acceptance tests
  5. 5. @gil_zilberfeld What are the benefits of test-first?
  6. 6. @gil_zilberfeld
  7. 7. @gil_zilberfeld The Three Amigos George Dinwiddie Developer Tester Business analyst
  8. 8. @gil_zilberfeld Behavior driven development Dan North AKA: Acceptance test DD Specification by example Example DD
  9. 9. @gil_zilberfeld It’s all about the conversations!
  10. 10. @gil_zilberfeld
  11. 11. @gil_zilberfeld Where do stories come from?
  12. 12. @gil_zilberfeld Give me an example!
  13. 13. @gil_zilberfeld Ambiguous requirements The Movie
  14. 14. @gil_zilberfeld BDD/ATDD frameworks Fit Fitnesse JBehave Cucumber SpecFlow
  15. 15. @gil_zilberfeld The Gherkin language
  16. 16. @gil_zilberfeld Steps Scenarios Narratives/Features
  17. 17. @gil_zilberfeld Scenario Given I’m driving a Formula 1 car When I start accelerating from 0km/h Then I get to 100km/h in 2 seconds
  18. 18. @gil_zilberfeld The Story (or Narrative) In order to drive faster As a driver I want a better engine
  19. 19. @gil_zilberfeld What is the acceptance criteria?
  20. 20. @gil_zilberfeld How’s this story? In order to approve a transaction As a user I want to press the “Approve” button
  21. 21. @gil_zilberfeld And this one? In order to transfer money As a user I want to login to the app
  22. 22. @gil_zilberfeld BDD/ATDD frameworks Fit Fitnesse Concordion JBehave Cucumber SpecFlow
  23. 23. @gil_zilberfeld Demo
  24. 24. @gil_zilberfeld Good user stories Independent Negotiable Valuable Estimable Small Testable Bill Wake, 2003
  25. 25. @gil_zilberfeld Good user stories Independent Negotiable Valuable Estimable Small Testable
  26. 26. @gil_zilberfeld Ron Jeffries said As an author of the Agile Manifesto I want that stupid story format to go away So that people can get to the essence of user stories
  27. 27. @gil_zilberfeld Better user stories ◉ Drop the template ◉ Tell the story in a sentence ◉ Anchor it ◉ Unveil the motive
  28. 28. @gil_zilberfeld Better user stories ◉ Imagine the demo ◉ Give context ◉ The general rules ◉ Exception to the rules
  29. 29. @gil_zilberfeld Thanks! ANY QUESTIONS? You can find me at: @gil_zilberfeld http://www.GilZilberfeld.com http://www.EverydayUnitTesting.com

×