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.

How to bdd with concordion


Published on

Published in: Technology, Education
  • Be the first to comment

How to bdd with concordion

  1. 1. Agile XP<br /> TDD BDD<br />
  2. 2. TDD(test-driven development)<br />XP<br />
  3. 3. TDD development cycle<br />
  4. 4. We can relax, don’t we?<br />
  5. 5. How to :<br />get feature within sprint?<br />write requirements in “Agile”?<br />know when you are DONE?<br />know that implemented feature is one you were asked to?<br />…<br />.. but questions still occur:<br />
  6. 6. Feel difference<br />
  7. 7. Where to start<br />What to test<br />What not to test <br />How much to test<br />Everyone wanted to know:  <br />
  8. 8. Where are the drugs? <br />
  9. 9. BDD(Behavior-Driven Development)<br />
  10. 10.
  11. 11. BDD solution<br />When<br />Given<br />Then<br />
  12. 12. Title <feature><br />As a [role]I want [some action to be taken]so that [I derive some business value]<br />USER STORY template<br />
  13. 13. Title: Registered user should have ability to send message to Assure info center.<br />As a registered user,<br />I want to ask Assure about new feature,<br />so that I want to get Contact Us page to send proper message<br />
  14. 14. Given some initial context (the givens),When an event occurs,Then ensure some outcomes.<br />ACCEPTANCE CRITERIA Template<br />
  15. 15. Scenario 1: Registered user should have ability login to the system.<br />Given opened Assure login screen<br />And there is Assure user with valid credentialsWhen user enters credential to username and password fields and clicks Login button<br />Then user’s home page is openedAnd Contact Us link is visible<br />
  16. 16. Scenario 2: Logged in user should have ability to send message to info center.<br />Given opened user’s home page<br />When user clicks on Contact Us link<br />Then Contact Us page is opened<br />And Submit button appears <br />
  17. 17. Step 1. Write acceptance tests in a natural language that non-programmers can read.<br />Step 2. Run tests to identify to what tests code is not implemented yet<br />Step 3. Implement absence code (functionality).<br />Step 4. Run tests once again and be sure that all tests are passed, repeat step 3 if needed.<br /> BDD workflow<br />
  18. 18. Benefits:<br />Natural language that non-programmers can read<br />Focus on business value<br />Implement just enough to satisfy acceptance criteria <br />Improved communication<br />
  19. 19. Instruments:<br />RSpec<br />Cucumber<br />Jbehave<br />PHP Spec<br />Fitnesse<br />Concordion<br />
  20. 20. CONCORDION.. how it works?<br />
  21. 21. DEMO<br />
  22. 22. Retrospective<br />