click to reveal definition
click to flip back
You know 0 of 24 cards in current set.
Ready to get certified?
Get CertifiedNeed this expertise applied inside your organization?
Explore Our ServicesFull Glossary
Foundations
- Behavior-Driven Development (BDD)
- An approach that describes system behavior in business-readable language to build shared understanding and executable specifications.
- Collaboration Focus
- BDD's primary value is conversation and shared understanding among business, development, and testing.
- Executable Specification
- A scenario written so it can be automated, serving as both requirement and test.
- Living Documentation
- Automated scenarios that stay in sync with the system and document its behavior over time.
Collaboration
- The Three Amigos
- A conversation among business, development, and testing perspectives to define behavior and examples together.
- Discovery
- Exploring and clarifying desired behavior through conversation and concrete examples.
- Specification by Example
- Using concrete examples to define requirements precisely, which become the acceptance tests.
- Ubiquitous Language
- A shared vocabulary that scenarios use so business and technical people communicate clearly.
Gherkin
- Gherkin
- A structured, business-readable language for BDD scenarios that Cucumber can automate.
- Feature
- A Gherkin file describing a capability and containing related scenarios.
- Scenario
- One concrete example of a behavior, written in Given-When-Then steps.
- Given-When-Then
- The structure of a scenario: context (Given), action (When), and expected outcome (Then).
- Scenario Outline
- A scenario template run with multiple examples from a data table to cover variations.
- Background
- Common Given steps shared by all scenarios in a feature to avoid repetition.
Cucumber
- Cucumber
- A BDD tool that executes Gherkin scenarios by binding steps to automation code.
- Step Definitions
- Code that implements each Gherkin step, connecting the scenario to the system under test.
- Test Automation
- Automating scenarios so they run frequently, giving fast feedback and enabling continuous integration.
- Reports
- Cucumber output showing which scenarios pass or fail, serving as living documentation.
Quality
- Good Scenarios
- Scenarios that are clear, focused on one behavior, business-readable, and independent.
- Declarative vs. Imperative
- Writing scenarios about what behavior is expected (declarative) rather than UI steps (imperative).
- Avoiding Brittle Tests
- Keeping scenarios behavior-focused so they don't break with every small UI change.
- Continuous Integration
- Running automated scenarios in CI so behavior is verified with every change.
Applying It
- From Conversation to Automation
- The BDD flow: discover behavior, formulate scenarios, then automate them with Cucumber.
- Maintaining Living Docs
- Keeping scenarios current so they remain trustworthy documentation of system behavior.