User Acceptance Criteria Builder

Write Given-When-Then acceptance criteria for any user story

Generates BDD-style Given-When-Then acceptance criteria for a user story, producing multiple scenarios that cover the happy path, edge cases, and error conditions — ready to paste into a ticket or test plan. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What are acceptance criteria?

Acceptance criteria are the conditions a feature must satisfy to be considered done. They turn a vague user story into testable statements so developers, testers, and product owners agree on exactly what success looks like.

The User Acceptance Criteria Builder turns a one-line user story into a set of clear, testable Given-When-Then scenarios. Acceptance criteria are where a story stops being a wish and becomes something a team can build and verify against, so structuring them well prevents the “that is not what I meant” conversations late in a sprint.

How it works

The builder frames your story as a standard “As a [role], I want [action], so that [benefit]” statement, then converts each condition-and-outcome pair you enter into a Given-When-Then scenario. Given states the precondition or context, When states the action the user takes, and Then states the expected, observable result. The tool always seeds a happy-path scenario and prompts you to add edge cases (empty input, limits) and error conditions (invalid data, failures), because criteria that only cover the happy path let real bugs ship.

Tips and example

  • One outcome per scenario. If a “Then” needs the word “and” for unrelated results, split it into two scenarios so a failure points at one thing.
  • Cover the negatives. Most defects hide in error and edge cases, so always add at least one invalid-input and one boundary scenario.
  • Keep it observable. Write “Then” clauses about what the user sees or the system does, not about internal implementation, so the criteria stay valid through refactors.

Example: for “As a shopper, I want to apply a discount code, so that I pay less” — Given an active code, When I apply it at checkout, Then the order total drops by the discount amount plus an error scenario for an expired code.

When acceptance criteria prevent the most common failures

Most sprint failures fall into one of three patterns, and well-written acceptance criteria prevent all three:

1. The “I thought you meant…” failure. A developer builds exactly what they understood, and a product owner accepts it, only for a stakeholder to say “that’s not what I meant” at the demo. Explicit Given-When-Then scenarios force the team to agree upfront on what inputs, what context, and what observable outputs define success. There is no ambiguity about whether “the cart updates” means the count badge on the icon updates or the full cart page reloads.

2. The missing error-path failure. A feature works perfectly in the demo because the demo uses clean test data. In production, users submit empty forms, paste invalid data, hit rate limits, and lose network connections. Criteria that only describe the happy path leave the error paths to chance — and error paths are where bugs live. A well-specified story explicitly names the failure modes and the expected behavior in each.

3. The “done but not testable” failure. If criteria are written as vague statements (“the UI should be responsive,” “the API should be fast”), testers cannot write test cases and developers cannot know when they are finished. Observable, binary outcomes — “the button is disabled,” “the response arrives within 3 seconds,” “an error message with text ‘Invalid code’ is shown” — give the team a verifiable finish line.

Structuring for the test plan

Acceptance criteria written in Given-When-Then are nearly a test plan. Each scenario maps directly to a test case:

  • Given = precondition or setup in the test
  • When = the action the test performs
  • Then = the assertion the test verifies

This is why BDD frameworks like Cucumber can parse Gherkin syntax into executable test steps. Even if your team does not automate tests, writing criteria in this form makes manual test cases trivial to write and review.