nw-bdd-methodology

Solid

BDD patterns for acceptance test design - Given-When-Then structure, scenario writing rules, pytest-bdd implementation, anti-patterns, and living documentation

Testing & QA 526 stars 55 forks Updated 1 weeks ago MIT

Install

View on GitHub

Quality Score: 92/100

Stars 20%
91
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# BDD Methodology for Acceptance Test Design ## Core Philosophy Test units of behavior, not units of code. Acceptance tests validate business outcomes through public interfaces, decoupled from implementation. ## Outside-In Double-Loop TDD The acceptance-designer creates the outer loop of Outside-In TDD. Development starts from user perspective, drives inward. **Outer loop (acceptance/BDD)**: Hours to days | User perspective, business language | Defines "done" | Scenarios describe user goals and observable outcomes, not internals | Failing outer-loop test is the starting signal for implementation **Inner loop (unit/TDD)**: Minutes | Developer perspective, technical terms | Software-crafter owns this loop Workflow: 1. Write failing acceptance test from user perspective (outer loop -- outside) 2. Software-crafter drops to inner loop: unit tests to implement components (inside) 3. Iterate inner loop until acceptance test passes 4. Passing acceptance test proves user value delivered 5. Repeat for next behavior Outer loop defines WHAT users need (outside). Inner loop drives HOW to build it (inside). ## Given-When-Then Structure ```gherkin Scenario: [Business-focused title describing one behavior] Given [preconditions - system state in business terms] When [single user action or business event] Then [observable business outcome] ``` ### Scenario Writing Rules **Rule 1: One scenario, one behavior** -- Split multi-behavior scenarios. **Rule 2: Declarative, not imper...

Details

Author
nWave-ai
Repository
nWave-ai/nWave
Created
3 months ago
Last Updated
1 weeks ago
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

Testing & QA Solid

nw-bdd-requirements

BDD requirements discovery methodology - Example Mapping, Three Amigos, conversational patterns, Given-When-Then translation, and collaborative specification

526 Updated 1 weeks ago
nWave-ai
Testing & QA Solid

nw-tdd-methodology

Deep knowledge for Outside-In TDD - double-loop architecture, ATDD integration, port-to-port testing, walking skeletons, and test doubles policy

526 Updated 1 weeks ago
nWave-ai
Testing & QA Solid

nw-jtbd-bdd-integration

Translating JTBD analysis to BDD scenarios - job story to Given-When-Then patterns, forces-based test discovery, job-map-based test discovery, and property-shaped criteria

526 Updated 1 weeks ago
nWave-ai
Testing & QA Solid

test-patterns

Applies proven testing patterns — Arrange-Act-Assert (AAA), Given-When-Then, Test Data Builders, Object Mother, parameterized tests, fixtures, spies, and test doubles — to help write maintainable, reliable, and readable test suites. Use when the user asks about writing unit tests, integration tests, or end-to-end tests; structuring test cases or test suites; applying TDD or BDD practices; working with mocks, stubs, spies, or fakes; improving test coverage or reducing flakiness; or needs guidance on test organization, naming conventions, or assertions in frameworks like Jest, Vitest, pytest, or similar.

1,177 Updated today
rohitg00
Web & Frontend Listed

plan-writing-gherkin-criteria

Guide for writing Gherkin acceptance criteria using Given-When-Then syntax for testable requirements. Covers scenario structure, background blocks, scenario outlines with examples tables, common patterns for authentication/CRUD/validation/error handling, and best practices for clear testable specifications. Essential for writing user stories and plan acceptance criteria

2 Updated today
wahidyankf