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.

Behavior driven development for Mobile apps

1,157 views

Published on

This was a presentation done for Xamarin University as a Guest Lecture about Behavior Driven Development, specflow and Xamarin test cloud.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Behavior driven development for Mobile apps

  1. 1. Behavior Driven Development For Mobile Apps Using Specflow & Xamarin Test Cloud Geert van der Cruijsen Lead Consultant Xpirit @geertvdc http://mobilefirstcloudfirst.net gvandercruijsen@xpirit.com
  2. 2. Behavior Driven Development
  3. 3. WHAT WHY HOW Behavior Driven Development
  4. 4. WHAT Behavior Driven Development
  5. 5. Business $
  6. 6. Business $ Developer { }
  7. 7. Business $ Developer { } Product { }
  8. 8. Business $ Developer { } Product { } Months
  9. 9. Business $ Developer { } Product { } WeeksMonths
  10. 10. Business $ Developer { } Product { } Weeks Examples
  11. 11. Business $ Developer { } Product { } Weeks Examples BDD
  12. 12. Business $ Developer { } Product { } Weeks Examples BDD Ubiquitous Language
  13. 13. Business {$} Developer {$} Product {$} Weeks Examples BDD Ubiquitous Language
  14. 14. Business Developer Product Weeks Examples BDD Ubiquitous Language DDD {$} {$} {$}
  15. 15. What is Behavior Driven Development BDD is a process designed to aid the management and the delivery of software development projects by improving communication between engineers and business professionals. In so doing, BDD ensures all development projects remain focused on delivering what the business actually needs while meeting all requirements of the user. BDD is an evolution in the thinking behind Test Driven Development and Acceptance Test Driven Planning. BDD is also referred to as specification by example.
  16. 16. What is Behavior Driven Development BDD is a process designed to aid the management and the delivery of software development projects by improving communication between engineers and business professionals. In so doing, BDD ensures all development projects remain focused on delivering what the business actually needs while meeting all requirements of the user. BDD is an evolution in the thinking behind Test Driven Development and Acceptance Test Driven Planning. BDD is also referred to as specification by example.
  17. 17. What is Behavior Driven Development BDD is a process designed to aid the management and the delivery of software development projects by improving communication between engineers and business professionals. In so doing, BDD ensures all development projects remain focused on delivering what the business actually needs while meeting all requirements of the user. BDD is an evolution in the thinking behind Test Driven Development and Acceptance Test Driven Planning. BDD is also referred to as specification by example.
  18. 18. 3 Amigos Product Owner Developer Tester
  19. 19. 3 Amigos Product Owner Developer Tester
  20. 20. 3 Amigos Product Owner Developer Tester
  21. 21. WHY Behavior Driven Development
  22. 22. 26% of installed apps are abandoned after the first use Google 2015 The average Android app loses 77% of its daily active users within the first three days after the install, and 90% within the first 30 days Quettra 2015
  23. 23. Mobile App Quality is important
  24. 24. Why Behavior Driven Development
  25. 25. Why Behavior Driven Development
  26. 26. HOW Behavior Driven Development
  27. 27. Writing examples in Gherkin Feature: feature title As a [role] I want [feature] So that [benefit] Scenario: Scenario 1: Title Given [context] And [some more context]... When [event] Then [outcome] And [another outcome]...
  28. 28. Writing examples in Gherkin Feature: feature title As a [role] I want [feature] So that [benefit] Scenario: Scenario 1: Title Given [context] And [some more context]... When [event] Then [outcome] And [another outcome]...
  29. 29. Writing examples in Gherkin Feature: feature title As a [role] I want [feature] So that [benefit] Scenario: Scenario 1: Title Given [context] And [some more context]... When [event] Then [outcome] And [another outcome]...
  30. 30. Writing examples in Gherkin Feature: feature title As a [role] I want [feature] So that [benefit] Scenario: Scenario 1: Title Given [context] //Arrange When [event] //Act Then [outcome] //Assert
  31. 31. Writing examples in Gherkin Feature: Get weather for location As a person who has to go outside sometimes I want to retrieve todays weather So that I know I should bring an umbrella
  32. 32. Writing examples in Gherkin Scenario 1: Get weather for manually added location Given I opened the app When I enter “Amsterdam” as the location When I press the “Get Weather” button Then the temperature in Amsterdam should be shown
  33. 33. How to do BDD? Gherkin Cucumber for .NET
  34. 34. Let’s see this in action DEMOGithub.com/geertvdc/BDDXamarin
  35. 35. Conclusion BDD helps building software that matters Specflow, Xamarin & Testcloud are a great way to implement BDD for mobile apps
  36. 36. Conclusion
  37. 37. Thank you! Geert van der Cruijsen @geertvdc http://mobilefirstcloudfirst.net gvandercruijsen@xpirit.com Github.com/geertvdc

×