How does uatgpt.com's criterion frame turn a request into an acceptance condition?

Updated

The criterion frame on uatgpt.com turns a product request into an acceptance condition by forcing it into a fixed structure: the actor, the starting condition, the action or event, and the visible outcome. The site describes the frame as a way to expose missing parts, not to decide whether a product meets them. In practice, that means the frame tells you whether a request is testable yet; it does not tell you whether the test passes.

What the frame asks for

The site presents the frame as a sequence of connected pieces. A feature request becomes a useful criterion only when these pieces connect:

  • Person — whose task is it? A named person or role.
  • Action — what changes? The task they need to finish.
  • Result — what can be observed? The visible outcome.

The page also names a starting state and an action or event as part of the same structure, and its "Criterion frame" section summarizes it as: write the actor, starting condition, action and visible outcome.

The five parts in practice

Part Question it answers What a weak request leaves out
Person or role Who needs this to work? "Users" with no role or task
Starting state What is true before the action? Assumed setup that nobody wrote down
Action or event What does the person do? A goal ("manage settings") instead of a step
Visible outcome What should have happened? "Works correctly" or "is intuitive"
(Context) Which path and build were checked? No record of what was actually tested

The site's own example is a five-part sample marked "Clear" and "Editable," which shows the intended level of specificity: each part is filled in, not paraphrased.

Why the frame exposes gaps instead of judging results

The page is explicit that the frame "exposes missing parts; it does not decide whether a product meets them." That distinction matters because drafting a criterion and observing a result are different events. A request like "make onboarding intuitive" fails the frame at the outcome step: there is no named message, changed state, or other observable result to check. The frame surfaces that gap immediately, before anyone writes a test or claims a release is ready.

The site reinforces this with its note that "a visible result is stronger": "intuitive" cannot be observed in the same way as a named message or changed state. So the frame's value is diagnostic. It converts a vague request into a checklist of what is still unknown, and the unknowns become the next questions to ask the product owner.

Where the frame sits in the wider workflow

The page organizes its tools into stages, and the frame is the entry point rather than the whole process:

  • Brief — turn a product request into acceptance conditions (the criterion frame).
  • Paths — write scenario paths with observable outcomes.
  • Coverage — find gaps between criteria and tests using trace links.
  • Evidence — keep observed results beside the expectation using observation notes.
  • Defects — make a failed path reproducible with reproduction steps.
  • Release — review evidence before a release decision using decision gates.

Each stage has a "Use the check" action and a "Local draft" label. The page states that drafts stay on the page, so you can build criteria and notes without committing them anywhere. The site also references ISTQB acceptance testing, Cucumber Gherkin, and Playwright as sources in context, which signals the vocabulary the frame is meant to fit.

What to expect when you use it

Start with the Brief stage and fill in the person, starting state, action, and visible outcome. If any part cannot be written concretely, that is the finding: the request is not yet an acceptance condition, and the missing part tells you what to clarify. Once the frame is complete, move to Paths to write the scenario, then to Evidence to record what you actually observed. Keep the drafted criterion tied to the product and build you checked, since the page stresses that a drafted test, an observed result, and a release decision are separate events.

The frame will not tell you whether a feature is good, and it will not replace a test run. It gives you a consistent way to spot an untestable request early and to keep the acceptance conversation grounded in things someone can actually see.