bdd in xamarin with specflow & xamarin ui test

16
Emanuel Amiguinho [email protected] BDD in Xamarin with Specflow + UI Test

Upload: emanuel-amiguinho

Post on 06-Apr-2017

60 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

Page 1: BDD in Xamarin with Specflow & Xamarin UI Test

Emanuel Amiguinho [email protected]

BDD in Xamarin with Specflow + UI Test

Page 2: BDD in Xamarin with Specflow & Xamarin UI Test

2

What is BDD?

We literally could talk hours about this, but here is the point we will focus:

Partner Centre

Shop PhotosBehavior-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

Page 3: BDD in Xamarin with Specflow & Xamarin UI Test

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

Page 4: BDD in Xamarin with Specflow & Xamarin UI Test

How can all this people use the same language?

GHERKINFTW! I’m expecting all these guys can read/write english

Page 5: BDD in Xamarin with Specflow & Xamarin UI Test

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

Page 6: BDD in Xamarin with Specflow & Xamarin UI Test

What is Gherkin?

what a beauty!

You don’t need to be a developer to understand this right?

Page 7: BDD in Xamarin with Specflow & Xamarin UI Test

What is Gherkin?

Wikipedia says Gherkin is a language that Cucumber understand, now what the hell is Cucumber?

Page 8: BDD in Xamarin with Specflow & Xamarin UI Test

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?

Page 9: BDD in Xamarin with Specflow & Xamarin UI Test

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.

Page 10: BDD in Xamarin with Specflow & Xamarin UI Test

What is Xamarin.UITest?Gavin did a good job explaining you this.

this is the language we speak! <3=

Page 11: BDD in Xamarin with Specflow & Xamarin UI Test

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

Page 12: BDD in Xamarin with Specflow & Xamarin UI Test

What is C#?

We could go this way, but ...

Page 13: BDD in Xamarin with Specflow & Xamarin UI Test

What is C#?

Page 14: BDD in Xamarin with Specflow & Xamarin UI Test

What is C#?

SO SPECFLOW FTW!

Page 15: BDD in Xamarin with Specflow & Xamarin UI Test

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?

Page 16: BDD in Xamarin with Specflow & Xamarin UI Test

It’s DEMO TIME!