Behavior-driven development
Behavior-driven development is a collaborative software practice that specifies and validates expected behavior through human-readable examples meaningful to technical and nontechnical stakeholders.
BDD in Action, Second Edition
BDD is a collection of collaborative practices for discovering business needs and obtaining automated feedback that implemented features meet agreed expectations.
- How it is used
- Aligns feature delivery with business goals through shared examples and automated feedback on expected behavior.
- How deep it goes
- Works through goal discovery, collaborative examples, scenarios, acceptance automation, and outside-in implementation; the introductory walkthrough defers a full technology-stack example.
- Examples
- Uses train-departure scenarios and password-strength examples to uncover missing conditions and sharpen acceptance criteria.
- What you can do after
- Practice/perform collaborative feature discovery, formulate executable acceptance criteria, and use automated checks to guide implementation and reduce regression risk.
Read how BDD in Action, Second Edition explains behavior-driven development →
Build Financial Software with Generative AI (From Scratch)
Behavior-driven development is a software-development and testing practice that specifies expected behavior through human-readable examples accessible to technical and nontechnical stakeholders.
- How it is used
- Defines stakeholder-agreed acceptance behavior for ACH parsing, APIs, search, exceptions, and test-file creation.
- How deep it goes
- Walks through feature files, step definitions, fixtures, reusable grammar, and API assertions without detailing pytest-bdd internals.
- Examples
- Uses ACH record parsing, file-list responses, exception retrieval, application fields, file creation, and transaction search scenarios.
- What you can do after
- Apply it via pytest-bdd to express API behavior as executable Given/When/Then scenarios and implement supporting steps.
Shipping Go: Develop, deliver, discuss, design, and go again
Behavior-driven development is a software development approach that specifies and verifies behavior in terms of examples meaningful to stakeholders.
- How it is used
- Turns stakeholder-readable feature requirements into behavior-driven tests for a translation service.
- How deep it goes
- Explains Given–When–Then and Gherkin through a translation scenario, but does not show Go step implementations in the supplied evidence.
- Examples
- Uses translation cases for capitalization, spacing, and unsupported inputs, plus a Gherkin scenario translating “hello” into German.
- What you can do after
- Apply it via Gherkin and a Go runner to check a feature against stakeholder-readable requirements.
Django in Action
Behavior-driven development is a software development approach that specifies and tests requirements-level behavior before or alongside implementation.
- How it is used
- Uses requirements-level tests to define desired software behavior before implementation.
- How deep it goes
- Explains the test-first cycle and distinguishes behavioral scope, but defers detailed tools and implementation techniques.
- Examples
- Uses requirements-level tests and a hierarchy contrasting unit, integration, behavioral, and UI tests.
- What you can do after
- Apply BDD by specifying behavior in tests, implementing against those tests, and checking completion through passing results.
Read how Django in Action explains behavior-driven development →
Related concepts
- test-driven developmentcontrasts with · Test-driven development is a software development practice in which tests are written before implementation and guide incremental coding and refactoring.
- collaborationuses · Collaboration is coordinated activity in which multiple participants contribute toward a shared goal or outcome.
- business problemuses · A business problem is an organizational need, objective, constraint, or challenge that a proposed solution is intended to address.
- agile software developmentkind of · Agile software development is an iterative approach that delivers software incrementally through collaboration, feedback, adaptive planning, and responsiveness to change.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.



