Software Development

Cucumber

Definition

Cucumber is a software tool that supports Behavior-Driven Development (BDD). It reads executable specifications written in a natural language (Gherkin) and validates that the software does what those specifications say.

Why It Matters

Cucumber allows teams to execute the plain-text Gherkin scenarios as automated tests. This ensures that the documentation of the system's behavior is also its test suite, and that the two can never go out of sync.

Contextual Example

A team writes a Gherkin scenario for a new feature. The developers then write "step definitions" – small pieces of code that link the plain English steps in the scenario to the actual application code. When they run Cucumber, it executes the code and verifies the behavior.

Common Misunderstandings

  • Cucumber is available for many different programming languages, not just Ruby (where it originated).
  • It is one of the most popular tools for implementing BDD.

Related Terms

Last Updated: December 17, 2025