Top Banner
SpecFlow & Gherkin Behavior Driven Development
15

SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

Dec 23, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

 SpecFlow & Gherkin

Behavior Driven Development

Page 2: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

• Definitions• Behavior Driven Development• SpecFlow Structure• Gerkin• Demo

Agenda

Page 3: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

• Open source tool for « bridging the communication gap between domain experts and devlopers »

• Allows non-technical people to write behavior / acceptance tests for a system

• Enables these acceptance tests to be automated

What is SpecFlow ?

Page 4: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

• Outside-in software• Helps document what the system should do• Validates that the right system is being built• Product owner point of view• Written in non-technical format• Pass/fail• When automated, become « living documentation »• Usually execute a vertical slice through the system (!= unit test)• Shared team understanding of what’sbeing built• Helps define what « done » means

What is Behaviour-Driven Development

Page 5: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

Use in Test-First Approaches

Page 6: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

Development iteration cycle

Page 7: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

SpecFlow Structure

Page 8: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

• Business readable domain specific language• Represents tests in natural language, not code• Line-oriented• Uses indentation to create structure• Keywords• +40 spoken languages

What is Gherkin ?

Page 9: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

• Top level grouping• Contain one or more scenarios• Contain logically related test scenarios• Represent small, discrete features of the system

Features

Page 10: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

• Concrete examples of expected system behaviour• Each scenario describes a particular situation• Each scenario should be independent and isolated• Can represent: happy paths, error paths, edge cases

Scenarios

Page 11: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

• Set up initial state : Given• Perform action(s) : When• Check end state : Then

Scenario steps keywords

Page 12: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

• Mark features and scenarios with arbitrary tags• Map to unit test framework « categories »• Scenarios « inherit » features tags• Can have multiples tags• Tags specified using @• @ignore is a special case

Tags

Page 13: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.

Demo

Page 15: SpecFlow & Gherkin Behavior Driven Development. Definitions Behavior Driven Development SpecFlow Structure Gerkin Demo Agenda.