SlideShare a Scribd company logo
Emanuel Amiguinho
emanuel.amiguinho@just-eat.com
BDD in Xamarin with Specflow +
UI Test
2
What is BDD?
We literally could talk hours about this, but here is the
point we will focus:
Partner
Centre
Shop Photos
Behavior-driven development borrows the concept of the ubiquitous
language from domain driven design. A ubiquitous language is a (semi-)
formal language that is shared by all members of a software
development team — both software developers and non-technical
personnel."
Wikipedia
Teams nowadays
3
Your boss
Product Manager
UI / UX Designer
Head of Delivery
Developers, Developers, Developers
Scrum Master
Business Analyst
Testers
That guy that everyone
question what he does?
Someone you heard
about but it’s a ghost
Someone you don't know
How can all this people use the same language?
GHERKINFTW! I’m expecting all these guys can read/write english
What is Gherkin?
Gherkin is the language that Cucumber understands. It is a Business
Readable, Domain Specific Language that lets you describe software's
behaviour without detailing how that behaviour is implemented. Gherkin
serves two purposes — documentation and automated tests.
Wikipedia
PS: I do love Wiki references, my bad
What is Gherkin?
what a beauty!
You don’t need to be a developer to understand this right?
What is Gherkin?
Wikipedia says Gherkin is a language that Cucumber
understand, now what the hell is Cucumber?
What is Cucumber?
When testing mobile apps, there is an existing solution that brings BDD
and Gherkin to iOS and Android testing. This is the open source project
named Calabash. Calabash uses the Ruby? based framework named
Cucumber to execute the acceptance tests defined from our specifications.
But this is not important right? we want C# don’t we?
What is Xamarin.UITest?
Xamarin.UITest is a very similar framework to Calabash,
except it allows us to write our tests using C# and execute
them using one of the common .Net unit testing
frameworks, typically NUnit.
What is Xamarin.UITest?
Gavin did a good job explaining you this.
this is the language we speak! <3
=
But how about this guys?
11
Your boss
Product Manager
UI / UX Designer
Head of Delivery
Developers, Developers, Developers
Scrum Master
Business Analyst
Testers
That guy that everyone
question what he does?
Someone you heard
about but it’s a ghost
Someone you don't know
What is C#?
We could go this way, but ...
What is C#?
What is C#?
SO SPECFLOW FTW!
SpecFlow fills that void and allows us to write our
specifications as Features and Steps written using Gherkin.
SpecFlow then enables us to write the definition of those
steps as C# code.
We can combine SpecFlow and Xamarin.UITest to give us all
the benefits of BDD and Gherkin while using the C#
language that we know and love.
What is SpecFlow?
It’s DEMO TIME!

More Related Content

PPTX
Xamarin UI Test And Xamarin Test Cloud
PPT
OSCON Titanium Tutorial
PPTX
PDF
When to (use / not use) React Native.
PDF
Getting Started with React Native (and should I use it at all?)
PDF
Mvvm is like born fraction
PDF
Contributing to open source
PDF
React UI Development: Introduction to "UI Component as API"
Xamarin UI Test And Xamarin Test Cloud
OSCON Titanium Tutorial
When to (use / not use) React Native.
Getting Started with React Native (and should I use it at all?)
Mvvm is like born fraction
Contributing to open source
React UI Development: Introduction to "UI Component as API"

What's hot (20)

PDF
Designing Auto Generated Codes
PDF
Test Inside Containers: Dockerise Appium Tests
PPTX
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
PDF
An Introduction to ReactNative
PPTX
Peer review - A new to code and debug online.
PDF
I Love APIs - Oct 2015
PPT
Flex on Grails - Rich Internet Applications With Rapid Application Development
PDF
Introduction to React Native
PDF
Experiences building apps with React Native @UtrechtJS May 2016
PDF
Java Applications with Visual Studio
PDF
Cross platform development
PPTX
ng-conf NativeScript and Angular 2 Workshop
PPTX
Creating iOS and Android Apps with Visual Studio and C#
PDF
Letter to a Junior Developer: The Engineering Side of Programming
PDF
Azure MobileApp & Xamarin.Forms
PPTX
A walkthrough of JavaScript ES6 features
PPTX
Xamarin - Beyond the Basics
PPTX
Introduction to JAVA
PDF
Cross-Platform Native Apps with JavaScript
PDF
Android development at mercari 2015
Designing Auto Generated Codes
Test Inside Containers: Dockerise Appium Tests
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
An Introduction to ReactNative
Peer review - A new to code and debug online.
I Love APIs - Oct 2015
Flex on Grails - Rich Internet Applications With Rapid Application Development
Introduction to React Native
Experiences building apps with React Native @UtrechtJS May 2016
Java Applications with Visual Studio
Cross platform development
ng-conf NativeScript and Angular 2 Workshop
Creating iOS and Android Apps with Visual Studio and C#
Letter to a Junior Developer: The Engineering Side of Programming
Azure MobileApp & Xamarin.Forms
A walkthrough of JavaScript ES6 features
Xamarin - Beyond the Basics
Introduction to JAVA
Cross-Platform Native Apps with JavaScript
Android development at mercari 2015
Ad

Viewers also liked (8)

PDF
Visual Studio Toolbox - Introduction To Xamarin.Forms
PDF
Cross mobile testautomation mit Xamarin & SpecFlow
PPTX
Say hello to Xamarin 3
PDF
DevDay Salerno - Introduzione a Xamarin
PDF
Building Your First Android App with Xamarin
PDF
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
PDF
Mobile Banking Apps with Xamarin
PDF
Introduction to Xamarin for Visual Studio 2017
Visual Studio Toolbox - Introduction To Xamarin.Forms
Cross mobile testautomation mit Xamarin & SpecFlow
Say hello to Xamarin 3
DevDay Salerno - Introduzione a Xamarin
Building Your First Android App with Xamarin
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Mobile Banking Apps with Xamarin
Introduction to Xamarin for Visual Studio 2017
Ad

Similar to BDD in Xamarin with Specflow & Xamarin UI Test (20)

PPT
Java And Community Support
PPTX
Progamming Path.pptx
PDF
The Ring programming language version 1.5.1 book - Part 4 of 180
PDF
The Ring programming language version 1.5.3 book - Part 5 of 184
PDF
Bringing the Ruby language into the mobile world
PDF
The Ring programming language version 1.5.4 book - Part 5 of 185
PPTX
仕様決定、部品化、ディレクションがなぜ重要か
PDF
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
PDF
Which Programming Languages To Choose For Android App Development_.pdf
PDF
The Ring programming language version 1.2 book - Part 77 of 84
PDF
The Ring programming language version 1.10 book - Part 6 of 212
PDF
Flutter study jam 2019
PDF
The Ring programming language version 1.9 book - Part 97 of 210
PPTX
.Net Technologies Lesson 1.pptx
PDF
Mobile development with Flutter
PDF
The Ring programming language version 1.5.2 book - Part 5 of 181
PPTX
Introduction to flutter's basic concepts
PDF
Specification Of The Programming Language Of Java
PPTX
Mobile application development platform
PDF
Build your own Language - Why and How?
Java And Community Support
Progamming Path.pptx
The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.3 book - Part 5 of 184
Bringing the Ruby language into the mobile world
The Ring programming language version 1.5.4 book - Part 5 of 185
仕様決定、部品化、ディレクションがなぜ重要か
Top Object-Oriented Programming Languages To Follow In December 2022.pdf
Which Programming Languages To Choose For Android App Development_.pdf
The Ring programming language version 1.2 book - Part 77 of 84
The Ring programming language version 1.10 book - Part 6 of 212
Flutter study jam 2019
The Ring programming language version 1.9 book - Part 97 of 210
.Net Technologies Lesson 1.pptx
Mobile development with Flutter
The Ring programming language version 1.5.2 book - Part 5 of 181
Introduction to flutter's basic concepts
Specification Of The Programming Language Of Java
Mobile application development platform
Build your own Language - Why and How?

Recently uploaded (20)

PPTX
PHIL.-ASTRONOMY-AND-NAVIGATION of ..pptx
PPTX
fundraisepro pitch deck elegant and modern
PPT
First Aid Training Presentation Slides.ppt
PPTX
Self management and self evaluation presentation
PPTX
Tablets And Capsule Preformulation Of Paracetamol
PPTX
ART-APP-REPORT-FINctrwxsg f fuy L-na.pptx
DOCX
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
PPTX
MERISTEMATIC TISSUES (MERISTEMS) PPT PUBLIC
PDF
Swiggy’s Playbook: UX, Logistics & Monetization
PPTX
Impressionism_PostImpressionism_Presentation.pptx
PPTX
Tour Presentation Educational Activity.pptx
PPTX
Anesthesia and it's stage with mnemonic and images
PDF
Instagram's Product Secrets Unveiled with this PPT
PPTX
Sustainable Forest Management ..SFM.pptx
PPTX
Effective_Handling_Information_Presentation.pptx
PPTX
_ISO_Presentation_ISO 9001 and 45001.pptx
PPTX
Primary and secondary sources, and history
PPTX
Intro to ISO 9001 2015.pptx wareness raising
PDF
COLEAD A2F approach and Theory of Change
PDF
Tunisia's Founding Father(s) Pitch-Deck 2022.pdf
PHIL.-ASTRONOMY-AND-NAVIGATION of ..pptx
fundraisepro pitch deck elegant and modern
First Aid Training Presentation Slides.ppt
Self management and self evaluation presentation
Tablets And Capsule Preformulation Of Paracetamol
ART-APP-REPORT-FINctrwxsg f fuy L-na.pptx
ENGLISH PROJECT FOR BINOD BIHARI MAHTO KOYLANCHAL UNIVERSITY
MERISTEMATIC TISSUES (MERISTEMS) PPT PUBLIC
Swiggy’s Playbook: UX, Logistics & Monetization
Impressionism_PostImpressionism_Presentation.pptx
Tour Presentation Educational Activity.pptx
Anesthesia and it's stage with mnemonic and images
Instagram's Product Secrets Unveiled with this PPT
Sustainable Forest Management ..SFM.pptx
Effective_Handling_Information_Presentation.pptx
_ISO_Presentation_ISO 9001 and 45001.pptx
Primary and secondary sources, and history
Intro to ISO 9001 2015.pptx wareness raising
COLEAD A2F approach and Theory of Change
Tunisia's Founding Father(s) Pitch-Deck 2022.pdf

BDD in Xamarin with Specflow & Xamarin UI Test

  • 2. 2 What is BDD? We literally could talk hours about this, but here is the point we will focus: Partner Centre Shop Photos Behavior-driven development borrows the concept of the ubiquitous language from domain driven design. A ubiquitous language is a (semi-) formal language that is shared by all members of a software development team — both software developers and non-technical personnel." Wikipedia
  • 3. Teams nowadays 3 Your boss Product Manager UI / UX Designer Head of Delivery Developers, Developers, Developers Scrum Master Business Analyst Testers That guy that everyone question what he does? Someone you heard about but it’s a ghost Someone you don't know
  • 4. How can all this people use the same language? GHERKINFTW! I’m expecting all these guys can read/write english
  • 5. What is Gherkin? Gherkin is the language that Cucumber understands. It is a Business Readable, Domain Specific Language that lets you describe software's behaviour without detailing how that behaviour is implemented. Gherkin serves two purposes — documentation and automated tests. Wikipedia PS: I do love Wiki references, my bad
  • 6. What is Gherkin? what a beauty! You don’t need to be a developer to understand this right?
  • 7. What is Gherkin? Wikipedia says Gherkin is a language that Cucumber understand, now what the hell is Cucumber?
  • 8. What is Cucumber? When testing mobile apps, there is an existing solution that brings BDD and Gherkin to iOS and Android testing. This is the open source project named Calabash. Calabash uses the Ruby? based framework named Cucumber to execute the acceptance tests defined from our specifications. But this is not important right? we want C# don’t we?
  • 9. What is Xamarin.UITest? Xamarin.UITest is a very similar framework to Calabash, except it allows us to write our tests using C# and execute them using one of the common .Net unit testing frameworks, typically NUnit.
  • 10. What is Xamarin.UITest? Gavin did a good job explaining you this. this is the language we speak! <3 =
  • 11. But how about this guys? 11 Your boss Product Manager UI / UX Designer Head of Delivery Developers, Developers, Developers Scrum Master Business Analyst Testers That guy that everyone question what he does? Someone you heard about but it’s a ghost Someone you don't know
  • 12. What is C#? We could go this way, but ...
  • 14. What is C#? SO SPECFLOW FTW!
  • 15. SpecFlow fills that void and allows us to write our specifications as Features and Steps written using Gherkin. SpecFlow then enables us to write the definition of those steps as C# code. We can combine SpecFlow and Xamarin.UITest to give us all the benefits of BDD and Gherkin while using the C# language that we know and love. What is SpecFlow?