---
title: Learn about Gherkin and cucumber | TestingBot
description: Gherkin promotes BDD (behavior driven development) and is commonly used
  with Cucumber.
source_url:
  html: https://testingbot.com/software-testing-questions/what-is-gherkin
  md: https://testingbot.com/software-testing-questions/what-is-gherkin.md
---

# What is Gherkin?

Last updated August 2, 2025

- [![Share on Facebook](https://static.addtoany.com/buttons/facebook.svg) ](https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fwhat-is-gherkin.md&linkname= "Share on Facebook")
- [![Share on Twitter](https://static.addtoany.com/buttons/twitter.svg) ](https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fwhat-is-gherkin.md&linkname= "Share on Twitter")
- [![Share on LinkedIn](https://static.addtoany.com/buttons/linkedin.svg) ](https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fwhat-is-gherkin.md&linkname= "Share on LinkedIn")
- [![Share on HackerNews](https://static.addtoany.com/buttons/y18.svg) ](https://www.addtoany.com/add_to/hacker_news?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fwhat-is-gherkin.md&linkname= "Share on HackerNews")

Gherkin is a domain-specific language (DSL) which is used for describing the behavior of a system. It reads like plain English, which makes it easy to understand for non-technical people.

Because of these characteristics, it makes for an excellent language to be used when writing tests. Tests written with Gherkin are easy to read by non-technical people and QA, as these tests can be read like stories.

## Keyword-Based Syntax

Gherkin relies on specific keywords to structure its scenarios. The most commonly used keywords include:

- Feature 
- Scenario 
- Given 
- When 
- Then 

Most of the time when writing a test, you would start from a precondition, a trigger would change something and you would finally check its outcome. This can be perfectly worded in Gherkin syntax.

```yaml
Given a glass of water, When I drop the glass, Then the glass will break and the floor will be wet.
```

## Gherkin and Cucumber

Cucumber is an automation framework that interprets Gherkin scenarios. It will translate the corresponding steps in code and target the SUT (System Under Test).

In the case of Selenium, Cucumber will convert the Gherkin syntax to Selenium WebDriver commands, instrumenting a browser.

TestingBot provides various [Cucumber examples](https://testingbot.com/support/web-automate/selenium/ruby/cucumber), showcasing how to run Cucumber tests on remote browsers.

- [![Share on Facebook](https://static.addtoany.com/buttons/facebook.svg) ](https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fwhat-is-gherkin.md&linkname=)
- [![Share on Twitter](https://static.addtoany.com/buttons/twitter.svg) ](https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fwhat-is-gherkin.md&linkname=)
- [![Share on Linkedin](https://static.addtoany.com/buttons/linkedin.svg) ](https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fwhat-is-gherkin.md&linkname=)
- [![Share on Hacker News](https://static.addtoany.com/buttons/y18.svg) ](https://www.addtoany.com/add_to/hacker_news?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fwhat-is-gherkin.md&linkname=)

 ![TestingBot Logo](https://testingbot.com/assets/logo-head-2f7f08db4ac9c4a3b1a784047410f8a4ece708e7e9f10ed16e20fdd8310f8de3.svg)

## Sign up for a Free Trial

Start testing your apps with TestingBot.

No credit card required.

[Start Free Trial](https://testingbot.com/users/sign_up)

## Other Questions

### [Advantages of using a Proxy during your automated or manual tests](https://testingbot.com/software-testing-questions/what-is-a-proxy-for-testing "Advantages of using a Proxy during your automated or manual tests")
