Behaviour Driven Development

A collaborative practice where teams use conversations around business rules and concrete examples to build up a shared understanding of customer needs. The team selects some key examples as the basis for acceptance criteria, which can be automated in the form of executable specifications.


A tool used to execute Gherkin scenarios. See

Executable Specifications

Acceptance Criteria that have been written in a form that can be executed automatically. For high-level acceptance criteria, tools like Cucumber and JBehave are often used to automate acceptance criteria.


The semi-formal language used by Cucumber to express executable specifications. Gherkin uses the Given..When..Then notation, like the following:

Scenario: Adding an item to a todo list
  Only incomplete tasks should appear in the default todo list

  Given Joe has a todo list containing 6 completed tasks
  When Joe adds 'Buy some milk'
  Then his default todo list should contain 'Buy some milk'

Gherkin scenarios are organised in Feature Files.