Behavior-Driven Development (BDD) is a software development methodology that combines test-driven development with domain-driven design, encouraging collaboration between developers, QA, and business stakeholders through human-readable test scenarios. The BDD ecosystem includes frameworks, tools, and data providers that enable teams to write specifications in Gherkin syntax (Given-When-Then) and automate those scenarios as executable tests across APIs, UIs, and microservices.
BDD (Behavior-Driven Development) publishes 5 APIs on the APIs.io network. Tagged areas include Automation, BDD, Software Development, Testing, and Gherkin.
BDD (Behavior-Driven Development)’s developer surface includes engineering blog, documentation, and 8 more developer resources.
Open Source Surface applies to this provider. This product is open source and we
read its repository directly, so Open Source Surface carries
10 points of the composite. It is scored from what the repository actually
publishes — a security policy, a contribution guide, a release history, a code of conduct — read live from the
provider rather than inferred from our own catalog pointers.
This facet adds; nothing was taken away to make room for it. An open-source project is not excused from
the commercial facets, because exemption would strip it of the points it does earn.
If we have the wrong repository, or this product is not open source, say so on your
provider repo and we
will drop the facet rather than have you publish against it.
Create-or-Update Ergonomics could not be measured. We hold no machine-readable contract for
this provider to read, so there is nothing to measure a write surface against. Excluded rather than scored zero:
never-measured and measured-empty are different facts. Publishing an OpenAPI is what makes this facet — and
several others — scorable at all.
The six quality facets above are damped to 90 points between them,
because the conditional facet above carries the other
10. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 90% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/bdd: open an issue to ask a question, or submit a pull request to add artifacts.
Submit an artifact on GitHub — free →Manage your own listing — the Influence plan, $499/mo →
Cucumber is the world's most popular BDD framework, supporting Java, JavaScript, Ruby, Python, and C#. It uses Gherkin syntax for writing human-readable test scenarios and provi...
SpecFlow is a BDD framework for .NET developers, enabling teams to write behavior specifications in Gherkin and execute them in C# applications. SpecFlow+ Runner and SpecFlow+ L...
Behave is a Python BDD framework inspired by Cucumber that enables teams to write behavior specifications in Gherkin syntax and execute them using Python. It integrates with Dja...
Karate is a modern open-source BDD framework that unifies API testing, UI automation, performance testing, and mocking in a single framework. It uses a Gherkin-like DSL and is p...
JBehave is a pioneering BDD framework for Java and JVM languages. It supports web, REST API, and microservices testing with integration for JUnit, Spring, Maven, and Gradle. JBe...
aid: bdd
name: BDD (Behavior-Driven Development)
description: Behavior-Driven Development (BDD) is a software development methodology that combines test-driven development
with domain-driven design, encouraging collaboration between developers, QA, and business stakeholders through human-readable
test scenarios. The BDD ecosystem includes frameworks, tools, and data providers that enable teams to write specifications
in Gherkin syntax (Given-When-Then) and automate those scenarios as executable tests across APIs, UIs, and microservices.
type: Index
deliveryModel:
model: self-hosted
license: MIT
open_source: true
commercial: false
callable_host: false
label: Self-hosted open source · you run it yourself
confidence: high
source:
- license
generated: '2026-08-28'
method: derived
accessModel:
pricing: freemium
onboarding: unknown
trial: false
try_now: false
public: false
label: Freemium
confidence: medium
source:
- plans
generated: '2026-07-22'
method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/bdd.png
tags:
- Automation
- BDD
- Software Development
- Testing
- Gherkin
- Quality Assurance
url: https://raw.githubusercontent.com/api-evangelist/bdd/refs/heads/main/apis.yml
created: '2025-01-01'
modified: '2026-04-19'
specificationVersion: '0.23'
apis:
- aid: bdd:cucumber
name: Cucumber
description: Cucumber is the world's most popular BDD framework, supporting Java, JavaScript, Ruby, Python, and C#. It uses
Gherkin syntax for writing human-readable test scenarios and provides integrations with all major test runners, CI/CD
platforms, and API testing tools. Cucumber School offers learning resources and the Cucumber Open platform provides team-based
BDD tooling.
humanURL: https://cucumber.io/
tags:
- BDD
- Testing
- Gherkin
- Java
- JavaScript
properties:
- type: Documentation
url: https://cucumber.io/docs/cucumber/
- type: GettingStarted
url: https://cucumber.io/docs/guides/10-minute-tutorial/
- type: GitHubRepository
url: https://github.com/cucumber/cucumber-jvm
- url: graphql/bdd-graphql.md
type: GraphQL
- aid: bdd:specflow
name: SpecFlow
description: SpecFlow is a BDD framework for .NET developers, enabling teams to write behavior specifications in Gherkin
and execute them in C# applications. SpecFlow+ Runner and SpecFlow+ LivingDoc provide enhanced test execution and living
documentation capabilities.
humanURL: https://specflow.org/
tags:
- BDD
- Testing
- Gherkin
- .NET
- C#
properties:
- type: Documentation
url: https://docs.specflow.org/
- type: GettingStarted
url: https://docs.specflow.org/projects/specflow/en/latest/Getting-Started/
- aid: bdd:behave
name: Behave
description: Behave is a Python BDD framework inspired by Cucumber that enables teams to write behavior specifications in
Gherkin syntax and execute them using Python. It integrates with Django, Flask, FastAPI, and REST API testing tools.
humanURL: https://behave.readthedocs.io/
tags:
- BDD
- Testing
- Gherkin
- Python
properties:
- type: Documentation
url: https://behave.readthedocs.io/en/stable/
- type: GitHubRepository
url: https://github.com/behave/behave
- aid: bdd:karate
name: Karate
description: Karate is a modern open-source BDD framework that unifies API testing, UI automation, performance testing,
and mocking in a single framework. It uses a Gherkin-like DSL and is particularly powerful for REST and GraphQL API testing
with JSON/XML validation, JavaScript scripting, and parallel execution.
humanURL: https://karatelabs.github.io/karate/
tags:
- BDD
- API Testing
- REST Testing
- Performance Testing
properties:
- type: Documentation
url: https://karatelabs.github.io/karate/
- type: GitHubRepository
url: https://github.com/karatelabs/karate
- aid: bdd:jbehave
name: JBehave
description: JBehave is a pioneering BDD framework for Java and JVM languages. It supports web, REST API, and microservices
testing with integration for JUnit, Spring, Maven, and Gradle. JBehave Web extends the framework for browser-based BDD
testing.
humanURL: https://jbehave.org/
tags:
- BDD
- Testing
- Java
- JVM
properties:
- type: Documentation
url: https://jbehave.org/reference/latest/
- type: GitHubRepository
url: https://github.com/jbehave/jbehave-core
common:
- type: IssueTracker
url: https://github.com/cucumber/cucumber-jvm/issues
- type: Releases
url: https://github.com/cucumber/cucumber-jvm/releases
- type: CodeOfConduct
url: https://github.com/cucumber/.github/blob/main/CODE_OF_CONDUCT.md
- type: ContributionGuide
url: https://github.com/cucumber/cucumber-jvm/blob/main/CONTRIBUTING.md
- type: License
name: MIT
url: https://github.com/cucumber/cucumber-jvm/blob/main/LICENSE
- type: DomainSecurity
url: security/bdd-domain-security.yml
- type: Website
url: https://cucumber.io/
- url: https://cucumber.io/blog/rss.xml
type: Blog
- type: Documentation
url: https://cucumber.io/docs/
- type: GitHubOrganization
url: https://github.com/cucumber
- type: Features
data:
- name: Gherkin Syntax
description: Human-readable Given-When-Then scenario language for describing software behavior as executable specifications.
- name: Multi-Language Support
description: BDD frameworks available for Java, JavaScript, Python, Ruby, C#, Go, and most other programming languages.
- name: API Testing Integration
description: Frameworks like Karate and Cucumber enable BDD-style API testing for REST, GraphQL, and SOAP services.
- name: Living Documentation
description: BDD scenarios serve as living documentation that stays synchronized with the actual system behavior.
- name: CI/CD Integration
description: All major BDD frameworks integrate with Jenkins, GitHub Actions, GitLab CI, CircleCI, and other CI/CD platforms.
- type: UseCases
data:
- name: API Contract Testing
description: Use BDD frameworks to write executable API contract tests that verify request/response behavior from a business
perspective.
- name: Acceptance Testing
description: Write acceptance tests in Gherkin that business stakeholders can read and validate before implementation
begins.
- name: Regression Testing
description: Build a regression test suite using BDD scenarios that can be run automatically on every code change.
- name: Microservices Testing
description: Test microservice integrations using BDD frameworks with HTTP clients and mock servers.
- type: Integrations
data:
- name: JUnit
description: Java test runner integration for executing Cucumber and JBehave scenarios in Java projects.
- name: Playwright
description: Browser automation integration for UI-level BDD testing with Cucumber or SpecFlow.
- name: REST Assured
description: Java DSL for REST API testing commonly used with Cucumber for BDD-style API test suites.
- name: Postman
description: API testing platform that supports BDD-style test writing in the test scripts section.
- name: Allure
description: Test reporting framework that integrates with Cucumber, SpecFlow, and other BDD frameworks for rich HTML
reports.
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.