specflow for agile teams

Post on 08-Feb-2017

405 Views

Category:

Business

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SpecF low for Ag i le TeamsAlejandro RamirezSenior ConsultantPolaris Solutions

Platinum Sponsors

Silver Sponsors

Gold Sponsors

The evolved role of testing

Image credit: http://www.archeolog-home.com/pages/content/how-humans-became-masters-of-the-earth.html

Black-Box Agile

Test automation pyramid

GUITests

Acceptance Tests

Unit Tests

ManualTests

Test automation pyramid

GUITests

Acceptance Tests / BDD | ATDD

Unit Tests / Component Tests/ TDD

ManualTests

CodedUI Visual Studio

SpecFlow Visual Studio

xUnit Visual Studio

Manual Test CasesExploratory Tests MTM

AgileMaturity

ATDD or BDD?They are the same thing!

Agile techniques

Started in 2003

Understanding software behavior through discussion

Discussing acceptance criteria with examples

Focus on why and benefits of code

Embodies the definition of done in testsImage is copyright of Nintendo

https://microsite.nintendo-europe.com/Stay_Updated/ptPT/

What is SpecFlow?Not a pickle

Automated testing tool

Runs acceptance tests written in BDD style

It’s Cucumber for .NET

What you need to use it• Visual Studio

• SpecFlow package

• Learn Gherkin

How to use SpecFlow in 3 StepsONE: Specify behavior in Gherkin

TWO: Automate scenarios

THREE: Enjoy and repeat

Example( y o u a r e g o i n g t o l o v e i t )

Specifying behavior with GherkinDescribe behavior in plain English

Given, When, Then

In order to,As a,

I want toFeature

Behavior

Feature: Add CustomerIn order to store new customer informationAs a User of the XYZ systemI want to be able to create and store new customers

Scenario 1: Happy PathGiven a user has entered information about a customerWhen he/she completes entering more informationThen the customer information should be stored in the system

Scenario 1 (more elaborate)Given a user has entered information about a customerAnd he/she has provided a first name and a last nameWhen he/she completes entering more informationThen the customer information should be stored in the system

Scenario 1 (even more elaborate)Given a user has entered information about a customerAnd he/she has provided a first name and a last nameWhen he/she completes entering more informationThen the customer information should be stored in the system

Scenario 1 (even more elaborate)Given a user has entered information about a customerAnd he/she has provided a first name and a last nameWhen he/she completes entering more informationThen the customer information should be stored in the system

Scenario 2: Missing Required DataGiven a user has entered information about a customerAnd he/she has not provided the first name and last nameWhen he/she completes entering more informationThen the user will be notified about the missing dataAnd the customer will not be stored into the system

Exerc ise

In real life:

Quick Demo

Automating behaviorsGenerate stubs

Fill in the blanks

Run

SpecFlow approaches for agile teamsService layer

Integration

GUI

SpecFlow approaches for agile teamsDev + BADev + Test + BADev + Test

Do you want to know more?

Contact:alejandro.ramirez@polarissolutions.com

@alejandrormzwww.polarissolutions.com

Q&A

top related