Martin Tierney

Senior Developer

Code Computerlove

The single best development tool?

Story Time

Client

?

Project Manager

Developer

QA

Cucumber

What is cucumber?

Cucumber example

Feature: code-breaker starts game

          As a code-breaker

          I want to start a game

          So that I can break the code

Scenario: start game

          Given I am not yet playing

          When I start a new game

          Then the game should say “Welcome to CodeBreaker”

          And the game should say “Enter guess:”

Single source of truth

  • Specification
  • Test criteria

Living documentation

  • Specifications always up to date
  • Easy to read

Regression

  • Avoid rework
  • Automated tests

Collaboration

  • Conversation starters
  • Focus on the behaviour of the software

Benefits we have seen

Common language

  • Estimation sessions easier
  • Tickets easier to pick up
  • Work easier to test

Build up a library of tests

  • Feature files / Step files
  • Speed to add new tests
  • Overhead

Increased confidence

  • From the client
  • Within the team
  • To make changes

Collaboration

  • Transparency
  • From tacit to explicit knowledge
  • Everybody is clear

Setup

Specflow example

So is cucumber the single best development tool in the world...ever?

No...

Wider Research

Cucumber

By martintierney