YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

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.

Related Documents