Automate your Kamailio Test Calls - Kamailio World 2024
Behavior driven development for Mobile apps
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
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. 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. 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.
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
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. 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. 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. 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. 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. 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
38. Thank you!
Geert van der Cruijsen
@geertvdc
http://mobilefirstcloudfirst.net
gvandercruijsen@xpirit.com
Github.com/geertvdc
Editor's Notes
Cost of translation
Cost of translation
Waterfall projects could take months even years to get good feedback
Little test: lets say we’re building a weather appi’m the product owner and you are the developers in the development team.
Testers also included in thei picture and they should work together with business and developer to create good specs.
3 different roles
3 different artifacts
This is the power of BDD
PO uses specs in word
Developer creates code and unit tests
Tester creates test plans
Word files don’t break the build
PO uses specs in word
Developer creates code and unit tests
Tester creates test plans
Word files don’t break the build
Mobile app market is really competitive
Apps are quite complex. Offline data, animation heavy UI,
Mobile app market is really competitive
Apps are quite complex. Offline data, animation heavy UI,
First time right
Get feedback as soon as possible
GIVEN WHEN THEN
Behind each line we can add a piece of testable code (unit test)
GIVEN WHEN THEN
Behind each line we can add a piece of testable code (unit test)