BDD

2,598 views

Published on

"BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters." Zitat: Dan North

Was dieser eher schwer verdauliche Satz von Dan North, einem der Initiatoren des Behavior Driven Development, beschreibt, soll ein kurzer Überblick über die Prinzipien von BDD beleuchten. An Hand von Beispielen soll das BDD Framework für PHP "Behat" vorgestellt werden. E

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,598
On SlideShare
0
From Embeds
0
Number of Embeds
207
Actions
Shares
0
Downloads
30
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

BDD

  1. 1. BDDMicha Trieba I 22.09.2011 © Mayflower GmbH 2011
  2. 2. BDD mein Nutzen heuteUm wie viel bin ich hinterher schlauer:BDDGherkinBehat Mayflower GmbH I 2
  3. 3. Test Driven Development Mayflower GmbH I 3
  4. 4. Mayflower GmbH I 4
  5. 5. Behaviour Driven Development Mayflower GmbH I 5
  6. 6. Dan NorthThoughtWorks,DRW Trading Grouphttp://dannorth.net/„Its all behaviour“JBehavehttp://dannorth.net/introducing-bdd/http://dannorth.net/whats-in-a-story/ Mayflower GmbH I 6
  7. 7. escape the dual gumption traps of “that’s not what I asked for” or “I forgot to tell you about this other thing” Dan North Mayflower GmbH I 7
  8. 8. Create software that matters Dan North Mayflower GmbH I 8
  9. 9. Mayflower GmbH I 9
  10. 10. Agile acceptance testingAcceptance Test Driven Development Example Driven Development Story testing Specification by Example Mayflower GmbH I 10
  11. 11. specification by example: key process patterns Nach: Gojko Adzic, Specification by Example Mayflower GmbH I 11
  12. 12. Agile Mayflower GmbH I 12
  13. 13. Story = featureAs a [role]I want [feature]So that [benefit, business value] Mayflower GmbH I 13
  14. 14. Acceptance Criteria = Scenario Scenario 1 Step a Step b Scenario 2 Step a Step b Mayflower GmbH I 14
  15. 15. Step definitionGiven [context] And [some more context]When [event] And [another event]Then [outcome] And [another outcome] Mayflower GmbH I 15
  16. 16. Gherkin Mayflower GmbH I 16
  17. 17. BehatKonstantin KudryashovSenior from-birth PHPDeveloper bei KnpLabs„everzet“ Mayflower GmbH I 17
  18. 18. Behat Installationhttp://behat.org/Quick Intro, Cookbook, Manualpear channel-discover pear.behat.orgpear install behat/behatgit clone http://github.com/Behat/Behat Mayflower GmbH I 18
  19. 19. Mayflower GmbH I 19
  20. 20. Workflow – outside in Quelle: The Rspec Book, David Chelimsky et al. Mayflower GmbH I 20
  21. 21. Story Mayflower GmbH I 21
  22. 22. Scenario Mayflower GmbH I 22
  23. 23. Run behat Mayflower GmbH I 23
  24. 24. Steps Mayflower GmbH I 24
  25. 25. Run behat Mayflower GmbH I 25
  26. 26. Complete steps Mayflower GmbH I 26
  27. 27. Implement code and tests Mayflower GmbH I 27
  28. 28. Outline pending Mayflower GmbH I 28
  29. 29. Outline passed Mayflower GmbH I 29
  30. 30. Outline passed Mayflower GmbH I 30
  31. 31. Mehr BehatBootstrap Mayflower GmbH I 31
  32. 32. Mehr Behat Mayflower GmbH I 32
  33. 33. Hooks Quelle: www.behat.org Mayflower GmbH I 33
  34. 34. Noch mehr BehatI Tags: behat -tag=@myTagI Name: behat -name=my scenarioI Ausgabe als junit: behat -out=junitI Profile: behat -profile=myProfileI Feature: behat /features/myfeature.feature:30 Mayflower GmbH I 34
  35. 35. BDD in der Praxis: Jimdo GmbHI BDD kann auch in laufenden Projekte integriert werdenI Voraussetzung ist eine Story-basierte StrukturI BDD muss, wie auch z.B. Scrum, gelebt werdenI BDD schafft eine gute Voraussetzung für weitere Automatisierungen, z.B. SeleniumI BDD ermöglicht eine Abstraktion, die Teilaspekte besser sichtbar machtI Probleme bereiten · Legacy Code · Mehrsprachigkeit (z.B. ein japanisches und ein deutsches Team) Mayflower GmbH I 35
  36. 36. BDD LiteraturI The Rspec Book, David Chelimsky et al.I Specification By Example, Gojko AdzicI Growing Object-Oriented Software, Guided By Tests, Stefe Freemen, Nat Pryce Mayflower GmbH I 36
  37. 37. Vielen Dank für Ihre Aufmerksamkeit! Referent Micha Trieba micha.trieba@mayflower.de +49 89 242054 1168 Mayflower GmbH Mannhardtstrasse6 80538 München27.09.2011 Mayflower GmbH 37

×