behavior driven development for mobile apps

38
Behavior Driven Development For Mobile Apps Using Specflow & Xamarin Test Cloud Geert van der Cruijsen Lead Consultant Xpirit @geertvdc http://mobilefirstcloudfirst.net [email protected] Guest lecture

Upload: geert-van-der-cruijsen

Post on 11-Jan-2017

29 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Behavior driven development for Mobile apps

Behavior Driven Development For Mobile AppsUsing Specflow & Xamarin Test Cloud

Geert van der CruijsenLead Consultant Xpirit@geertvdchttp://[email protected]

Guest lecture

Page 2: Behavior driven development for Mobile apps

Behavior Driven Development

Page 3: Behavior driven development for Mobile apps

WHAT WHY HOW

Behavior Driven Development

Page 4: Behavior driven development for Mobile apps

WHAT

Behavior Driven Development

Page 5: Behavior driven development for Mobile apps

Business

$

Page 6: Behavior driven development for Mobile apps

Business

$

Developer

{ }

Page 7: Behavior driven development for Mobile apps

Business

$

Developer

{ }

Product

{ }

Page 8: Behavior driven development for Mobile apps

Business

$

Developer

{ }

Product

{ }

Months

Page 9: Behavior driven development for Mobile apps

Business

$

Developer

{ }

Product

{ }

WeeksMonths

Page 10: Behavior driven development for Mobile apps

Business

$

Developer

{ }

Product

{ }

WeeksExamples

Page 11: Behavior driven development for Mobile apps

Business

$

Developer

{ }

Product

{ }

WeeksExamples

BDD

Page 12: Behavior driven development for Mobile apps

Business

$

Developer

{ }

Product

{ }

WeeksExamples

BDDUbiquitous Language

Page 13: Behavior driven development for Mobile apps

Business

{$}

Developer

{$}

Product

{$}

WeeksExamples

BDDUbiquitous Language

Page 14: Behavior driven development for Mobile apps

Business Developer ProductWeeks

Examples

BDDUbiquitous Language

DDD

{$} {$} {$}

Page 15: Behavior driven development for Mobile apps

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.

Page 16: Behavior driven development for Mobile apps

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.

Page 17: Behavior driven development for Mobile apps

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.

Page 18: Behavior driven development for Mobile apps

3 Amigos

Product Owner Developer Tester

Page 19: Behavior driven development for Mobile apps

3 Amigos

Product Owner Developer Tester

Page 20: Behavior driven development for Mobile apps

3 Amigos

Product OwnerDeveloper

Tester

Page 21: Behavior driven development for Mobile apps

WHY

Behavior Driven Development

Page 22: Behavior driven development for Mobile apps

26% of installed apps are abandoned after the first useGoogle 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

Page 23: Behavior driven development for Mobile apps

Mobile App Quality

is important

Page 24: Behavior driven development for Mobile apps

Why Behavior Driven Development

Page 25: Behavior driven development for Mobile apps

Why Behavior Driven Development

Page 26: Behavior driven development for Mobile apps

HOW

Behavior Driven Development

Page 27: Behavior driven development for Mobile apps

Writing examples in GherkinFeature: feature titleAs a [role]I want [feature]So that [benefit]

Scenario:Scenario 1: TitleGiven [context]  And [some more context]...When  [event]Then  [outcome]  And [another outcome]...

Page 28: Behavior driven development for Mobile apps

Writing examples in GherkinFeature: feature titleAs a [role]I want [feature]So that [benefit]

Scenario:Scenario 1: TitleGiven [context]  And [some more context]...When  [event]Then  [outcome]  And [another outcome]...

Page 29: Behavior driven development for Mobile apps

Writing examples in GherkinFeature: feature titleAs a [role]I want [feature]So that [benefit]

Scenario:Scenario 1: TitleGiven [context]  And [some more context]...When  [event]Then  [outcome]  And [another outcome]...

Page 30: Behavior driven development for Mobile apps

Writing examples in GherkinFeature: feature titleAs a [role]I want [feature]So that [benefit]

Scenario:Scenario 1: TitleGiven [context] //ArrangeWhen  [event] //ActThen  [outcome] //Assert

Page 31: Behavior driven development for Mobile apps

Writing examples in Gherkin

Feature: Get weather for locationAs a person who has to go outside sometimesI want to retrieve todays weatherSo that I know I should bring an umbrella

Page 32: Behavior driven development for Mobile apps

Writing examples in GherkinScenario 1: Get weather for manually added locationGiven I opened the appWhen  I enter “Amsterdam” as the locationWhen I press the “Get Weather” buttonThen  the temperature in Amsterdam should be shown

Page 33: Behavior driven development for Mobile apps

How to do BDD?

Gherkin Cucumber for .NET

Page 34: Behavior driven development for Mobile apps
Page 35: Behavior driven development for Mobile apps

Let’s see this in action

DEMOGithub.com/geertvdc/BDDXamarin

Page 36: Behavior driven development for Mobile apps

Conclusion

BDD helps building software that matters

Specflow, Xamarin & Testcloud are a great way to implement BDD for mobile apps

Page 37: Behavior driven development for Mobile apps

Conclusion

Page 38: Behavior driven development for Mobile apps

Thank you!Geert van der Cruijsen@geertvdchttp://[email protected]/geertvdc