Acceptance Criteria
Gherkin format, testable criteria, bullet-point rules, and Definition of Done
Acceptance criteria formats
- Gherkin: Given [context] / When [action] / Then [observable outcome]
- Bullet-points: simpler for constraints — character limits, permissions, states
- Testable: specific, measurable, observable — no "fast", "smooth", "gracefully"
- DoD vs. AC: DoD = team-wide process gate; AC = story-specific functional requirement
- Performance criteria need a metric + threshold + conditions
Question 0 of 5
Which acceptance criterion is written in the correct Gherkin (Given/When/Then) format?
Given [context] / When [action] / Then [outcome] is the Gherkin format. Gherkin structure:
- Given: the precondition / starting state
- When: the actor's action / event
- Then: the expected observable outcome
- Each criterion is independently testable
- "Then" describes a verifiable observable outcome — not "the system validates"
- The QA engineer can write an automated test directly from this format
Which acceptance criterion is testable?
Specific condition + specific action + specific observable outcome makes a criterion testable. Why Option C is testable:
- ✅ Precondition: logged-in user with items in cart
- ✅ Action: clicks "Place Order"
- ✅ Condition: payment API returns 402
- ✅ Expected message: exact text to assert
- ✅ State assertion: "order is not created" — verifiable in the DB
What is the difference between Gherkin format and bullet-point format for acceptance criteria?
Gherkin for scenarios; bullet-points for rules and constraints. When to use each:
- Gherkin: user interactions with conditional outcomes — "Given I am logged out, when I access /dashboard, then I am redirected to /login"
- Bullet-points: constraints, limits, and rules — "• Username: 3–20 characters. • Allowed: letters, numbers, underscores. • Case insensitive."
A story has this acceptance criterion: "The search should be fast." What is the problem?
"Fast" is subjective — no measurable threshold. How to fix it:
- ❌ "The search should be fast"
- ✅ "Search results are returned within 500ms for queries up to 1,000 results on a standard 4G connection"
- Metric: response time, load time, CPU usage
- Threshold: 500ms, 1 second, 99th percentile
- Conditions: dataset size, network, concurrent users
Which of these is a correct "Definition of Done" item (not an acceptance criterion)?
"Code-reviewed by at least one team member" is a DoD item — a process gate, not a functional requirement. Definition of Done vs. Acceptance Criteria:
- Acceptance Criteria (AC): story-specific, defines when the feature works correctly — Given/When/Then or measurable rules
- Definition of Done (DoD): team-wide, applies to every story — process gates like: code reviewed ✓, unit tests added ✓, documentation updated ✓, deployed to staging ✓, accessibility checked ✓