bdd with ``tick spec``

16
BDD WITH ``TICKSPEC`` Anne Marie King, James Banton, Phillip Trelford @anniejking, @ptrelford http://tickspec.com 2010

Upload: phillip-trelford

Post on 06-May-2015

1.848 views

Category:

Technology


2 download

DESCRIPTION

TickSpec is a lightweight Behaviour Driven Development (BDD) framework for C# and F#. Specify the behaviour of your system in plain text with the Gherkin business language. Then run and debug your text specifications from inside Visual Studio. This talk will look at some lessons learned from some recent projects where BDD was applied. Starting with insights from Business Analyst Anne-Marie King and Tester James Banton, including tips on how to get started constructing good specifications, along with some developer tips.

TRANSCRIPT

Page 1: Bdd with ``tick spec``

BDD WITH ``TICKSPEC``Anne Marie King, James Banton, Phillip Trelford

@anniejking, @ptrelford

http://tickspec.com

2010

Page 2: Bdd with ``tick spec``

ENTERPRISE APPLICATIONS

Page 3: Bdd with ``tick spec``

AGILE MANIFESTO

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

Page 4: Bdd with ``tick spec``

COLLABORATION

Customers

Business AnalystTesters

Developer

Page 5: Bdd with ``tick spec``

USER STORIES

Page 6: Bdd with ``tick spec``

ACCEPTANCE TEST SCENARIO

Refunded items should be returned to stock

Given a customer buys a black jumper And I have 3 black jumpers left in stock When he returns the black jumper for a

refund Then I should have 4 black jumpers in stock

Page 7: Bdd with ``tick spec``

TEST DRIVEN DEVELOPMENT (TDD)

Or Specify Unit Tests First

Pros Quality Regression

Cons Developer focused

Page 8: Bdd with ``tick spec``

BEHAVIOUR DRIVEN DEVELOPMENT (BDD)

Or Specify System Behaviour First

Pros Business focused Quality Regression

Cons Adds layer of indirection

Page 9: Bdd with ``tick spec``

BDD FRAMEWORKS

Execute Specifications against Systems

Page 10: Bdd with ``tick spec``

BDD FRAMEWORKS

Execute Specifications against Systems

Internal DSL FsSpec FsUnit NaturalSpec

External DSL SpecFlow StorEvil TickSpec

Page 11: Bdd with ``tick spec``

TICKSPEC

Page 12: Bdd with ``tick spec``

TICKSPEC DESIGN GOALS

Platform for Innovation Low Friction Lightweight Extensible Framework

Support & Leverage F# Tick methods Modules Active Patterns

Support major test frameworks NUnit, xUnit, MbUnit Silverlight Unit Test Framework

Page 13: Bdd with ``tick spec``

DEMO

Page 14: Bdd with ``tick spec``

AGILE DEVELOPMENT

Define User Stories

Define Acceptance Tests

Code to Acceptance Tests

Confirm Acceptance Tests

Page 15: Bdd with ``tick spec``

WHAT NEXT?

Liz Keogh

An Introduction to BDD

Mark Crowther

Specification By Example

Dec 1st Dec 7th

Page 16: Bdd with ``tick spec``

Q & A: THE SLAUGHTERED LAMB