Glossary term

Behaviour-driven development (BDD)

Behaviour-driven development (BDD) is a way of building software where the team describes how a feature should behave in plain-language examples before it is built, and those examples become automated tests. The examples are usually written in Gherkin with Given, When and Then steps.

A Gherkin example

Feature: Login
  Scenario: Valid user signs in
    Given I am on the login page
    When I sign in with a valid email and password
    Then I see my dashboard

How BDD tests run

A BDD tool matches each step to a small piece of code, called a step definition, that drives the app, for example with Selenium or Playwright. Common tools are Cucumber for Java and JavaScript, Reqnroll for .NET, and Behave or pytest-bdd for Python.

When BDD helps, and when it does not

  • It helps when product owners, developers and testers write and review the scenarios together.
  • It adds overhead when only testers read the feature files; a plain test framework is then simpler.
  • Keep steps reusable and business-focused, not click-by-click.

Read the full guide: Best Selenium Frameworks 2026 — Complete Guide for SDETs

← All glossary terms

Scroll to Top