Summary
Cucumber is the most widely adopted BDD framework, translating human-readable Gherkin feature files into automated test execution by mapping each step to developer-written step definitions.
What is Cucumber?
Cucumber reads .feature files written in Gherkin and matches each Given/When/Then step to a corresponding step definition method in Java, Ruby, JavaScript, or another supported language. The step definition contains the actual test automation code—calling APIs, interacting with UIs, or asserting database state.
Cucumber-JVM is the Java implementation, commonly integrated with JUnit 5 or TestNG. Cucumber-Ruby and Cucumber-JS cover those ecosystems. All share the same Gherkin language and feature file format.
Cucumber generates reports showing which scenarios passed or failed, making them useful as living documentation for product managers and stakeholders who need to verify feature completeness without reading code.
Why is Cucumber relevant?
- Business-developer bridge: Gherkin scenarios are written collaboratively; Cucumber makes them executable
- Multi-language support: The same feature files can drive tests across JVM, Ruby, JavaScript, and .NET stacks
- Living documentation: Cucumber HTML reports show stakeholders which user stories are verified and passing