Acceptance criteria examples, good and bad
Two formats, a template for each, examples for common features, and the one test that separates a criterion from a wish.
Where this comes from
Given-When-Then is the Gherkin format from behaviour-driven development. The examples are ours. Entalpa stores acceptance criteria as a field on every requirement; nothing on this page is a measurement.
What acceptance criteria are
Acceptance criteria are the conditions a user story or requirement must meet to count as done. Each criterion is a check that returns yes or no. They are written before the work starts, so the person building it knows where the edges are, and the person reviewing it does not have to rely on memory.
the test
If two people could look at the finished feature and disagree on whether a criterion is met, it is not a criterion yet.
Two formats and a template for each
# Scenario-based (Given-When-Then)
Scenario: <short name>
Given <the starting context>
When <the action>
Then <the observable result>
And <another observable result># Rule-based (checklist)
- <the system does X> when <condition>.
- <limit or constraint, with a number>.
- <what happens on failure>.Use Given-When-Then when behaviour depends on a sequence or a state; it maps directly onto an automated test. Use rules for constraints that hold everywhere: limits, formats, permissions. Most stories need a few of each.
Examples by feature
Feature: Login
Scenario: Wrong password
Given an account with email a@example.com
When I sign in with the wrong password 5 times within 10 minutes
Then further attempts are blocked for 15 minutes
And the account owner receives an email about it
Feature: Checkout
Scenario: Out-of-stock item
Given an item in my cart that sold out after I added it
When I open checkout
Then the item is marked unavailable
And the order total excludes it
And I can't place the order until I remove it
Feature: Search
Scenario: No results
Given no product matches "xyzzy"
When I search for "xyzzy"
Then I see "No results for xyzzy"
And I see up to 5 suggested categoriesFile upload
- Accepts PDF, PNG and JPG up to 20 MB.
- A larger file is rejected before upload starts, with the limit shown.
- An upload interrupted by a lost connection resumes, not restarts.
Notifications
- A user can turn off each notification type separately.
- Security notifications (password change, new device) cannot be turned off.
Data export
- Export includes every record visible to the user, and nothing else.
- An export of more than 10,000 rows is emailed as a link, not downloaded.Vague criteria, and what to write instead
| Vague | Testable |
|---|---|
| The page loads fast | The order list shows the first 50 orders within 1 second on a 10 Mbit connection |
| Login is secure | After 5 failed attempts in 10 minutes, login is blocked for 15 minutes |
| Search is user-friendly | A search with no results shows the query and up to 5 suggested categories |
| Errors are handled | A failed payment shows the processor's reason and keeps the cart intact |
| Works on mobile | Every checkout step is usable at 360 px width without horizontal scrolling |
Acceptance criteria for an AI coding agent
An agent turns acceptance criteria into tests readily, and that is the main reason to write them before you prompt. Without them it writes tests for the behaviour it chose, which pass and prove nothing about the behaviour you wanted. With them, every criterion becomes a test you can read in a minute and a check you can run instead of reading the diff.
In Entalpa, acceptance criteria are a field on every requirement, next to its ID, priority and status, and the agent reads them over MCP along with the requirement. The Spec score flags requirements that have none. For the requirement format around them, see the PRD template.
Questions this raises
What are acceptance criteria?
The conditions a user story or requirement must meet to be accepted as done. Each is a check that returns yes or no, agreed before the work starts.
What is the Given-When-Then format?
A way to write a criterion as a scenario: Given a starting context, When an action happens, Then an observable result follows. It comes from behaviour-driven development and its Gherkin syntax, and maps directly onto automated tests.
How many acceptance criteria should a user story have?
Enough to cover the behaviour someone could get wrong, usually three to seven. If a story needs fifteen, it is probably two stories.
Who writes acceptance criteria?
Usually the product owner or analyst drafts them and the team refines them before the work starts. What matters is that they exist before building, not after.
Entalpa gives your agent one locked source of truth
Structured, traceable requirements your agent reads over MCP β so it works from a curated spec instead of reconstructing your project every session. Free to start, no card, and reading or writing your project over MCP never spends credits.
Other guides