Bdd intro for Microsoft, 29 Nov 2012

1,750 views

Published on

High level intro into BDD for "MSN websites" and "win 8 apps" teams in Microsoft, 29 Nov 2012

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

  • Be the first to like this

No Downloads
Views
Total views
1,750
On SlideShare
0
From Embeds
0
Number of Embeds
865
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bdd intro for Microsoft, 29 Nov 2012

  1. 1. Behavior Driven Development by Aliaksandr Ikhelis, 2012Friday, 30 November 12
  2. 2. Communication Issue They are They do not know slow!.. what they need!..Friday, 30 November 12
  3. 3. Communication Issue They are They do not know slow!.. what they need!..Friday, 30 November 12
  4. 4. Building communication bridgeFriday, 30 November 12
  5. 5. Building communication bridgeFriday, 30 November 12
  6. 6. Behavior Driven DevelopmentFriday, 30 November 12
  7. 7. Behavior Driven Development BDD is an evolution in the thinking behind TDD & ATDPFriday, 30 November 12
  8. 8. Behavior Driven Development BDD is an evolution in the thinking behind TDD & ATDP Focus on delivery of the prioritized and verifiable business value by providing a common vocabularyFriday, 30 November 12
  9. 9. Behavior Driven Development PracticesFriday, 30 November 12
  10. 10. Behavior Driven Development Practices • Establish goalsFriday, 30 November 12
  11. 11. Behavior Driven Development Practices • Establish goals • Draw out features using feature injectionFriday, 30 November 12
  12. 12. Behavior Driven Development Practices • Establish goals • Draw out features using feature injection • Involve stakeholders in the implementation process through outside-in software developmentFriday, 30 November 12
  13. 13. Behavior Driven Development Practices • Establish goals • Draw out features using feature injection • Involve stakeholders in the implementation process through outside-in software development • Use examples to describe behaviorFriday, 30 November 12
  14. 14. Behavior Driven Development Practices • Establish goals • Draw out features using feature injection • Involve stakeholders in the implementation process through outside-in software development • Use examples to describe behavior • Automate examples to provide quick feedback and regression testingFriday, 30 November 12
  15. 15. What BDD adds to TDDFriday, 30 November 12
  16. 16. What BDD adds to TDD • Test what an object does instead of what it isFriday, 30 November 12
  17. 17. What BDD adds to TDD • Test what an object does instead of what it is • Design top-down, which is essential for YAGNI – You Arent Gonna Need ItFriday, 30 November 12
  18. 18. What BDD adds to TDD • Test what an object does instead of what it is • Design top-down, which is essential for YAGNI – You Arent Gonna Need It • Define acceptance criteria with the customer and specify it in the automated way, serve the living specFriday, 30 November 12
  19. 19. The BDD “Outside-In” cycleFriday, 30 November 12
  20. 20. The BDD “Outside-In” cycleFriday, 30 November 12
  21. 21. Gherkin: feature title and narrative Feature: Adding movies to the queueFriday, 30 November 12
  22. 22. Gherkin: feature title and narrative Feature: Adding movies to the queueFriday, 30 November 12
  23. 23. Gherkin: feature title and narrative Feature: Adding movies to the queueFriday, 30 November 12
  24. 24. Gherkin: feature title and narrative Feature: Adding movies to the queueFriday, 30 November 12
  25. 25. Describing Features with CucumberFriday, 30 November 12
  26. 26. Describing Features with Cucumber Cucumber is a BDD tool that reads plain text descriptions of application features with example scenarios, which can be converted into automation. The text is written in a business readable domain language, known as Gherkin.Friday, 30 November 12
  27. 27. Describing Features with Cucumber Cucumber is a BDD tool that reads plain text descriptions of application features with example scenarios, which can be converted into automation. The text is written in a business readable domain language, known as Gherkin.Friday, 30 November 12
  28. 28. Describing code with RSpecFriday, 30 November 12
  29. 29. Describing code with RSpec RSpec is a BDD framework, which is used to write executable examples of the expected behaviour of a small bit of code in a controlled context.Friday, 30 November 12
  30. 30. Describing code with RSpec RSpec is a BDD framework, which is used to write executable examples of the expected behaviour of a small bit of code in a controlled context. Code example: Output:Friday, 30 November 12
  31. 31. Describing code with RSpecFriday, 30 November 12
  32. 32. Example: story cardFriday, 30 November 12
  33. 33. Example: process flowFriday, 30 November 12
  34. 34. Describing code with RSpecFriday, 30 November 12
  35. 35. Testing quadrandsFriday, 30 November 12
  36. 36. Get the testing pyramid (un)fit BEFORE AFTERFriday, 30 November 12
  37. 37. Communications in the business orgFriday, 30 November 12
  38. 38. Communications in the business org 1. Translate business goals into prioritized list of featuresFriday, 30 November 12
  39. 39. Communications in the business org 1. Translate business goals into prioritized list of features 2. Trace required behavior within the team - drive design by behavior, build transparency, trust and confidence.Friday, 30 November 12
  40. 40. Communications in the business org 1. Translate business goals into prioritized list of features 2. Trace required behavior within the team - drive design by behavior, build transparency, trust and confidence. 3. Clarify business value and desired software behavior - ask “5 Why”, provide feedback, if application logic appears overcomplicated.Friday, 30 November 12
  41. 41. Speaking the same language = building together As an awesome team We want to build such a great product So that everyone loves it Given the investment of 22M of bricks When you place all the bricks properly Then the Microsoft Tower of Babel is visible to all people across the GlobeFriday, 30 November 12
  42. 42. Recommended reading by Aliaksandr Ikhelis, 2012Friday, 30 November 12

×