Maturity Matrix

Acceptance tests from tickets (Autonomous Requirements)

At L3, AI agents read requirements tickets and generate failing acceptance tests before implementation begins - making requirements machine-executable and eliminating circular testing at scale.

  • ·TORS (Test Oracle Reliability Score) is measured and exceeds 90%
  • ·Acceptance tests are auto-generated from ticket requirements (Autonomous Requirements pipeline)
  • ·Incremental test selection runs only tests affected by changed code paths
  • ·TORS is tracked per service or module, not just as an aggregate
  • ·Test generation from tickets includes edge cases, not just happy paths

Evidence

  • ·TORS dashboard showing 90%+ score with per-service breakdown
  • ·Ticket-to-test pipeline configuration with sample outputs
  • ·CI configuration showing incremental test selection (e.g., Bazel test targeting, Jest --changedSince)

What It Is

Acceptance tests from tickets is an L3 workflow where AI agents read requirements tickets (Jira, Linear, GitHub Issues) and automatically generate acceptance tests that encode the intended behavior. These tests fail until the feature is correctly implemented - by design. They are derived from requirements, not from observation of the implementation, which structurally eliminates the circular testing problem that plagues L1-L2 AI test generation.

The workflow looks like this: a product manager or engineer writes a ticket describing the desired behavior ("When a platinum customer applies a discount code, the 20% loyalty tier discount should stack with promotional discounts up to a maximum of 35%"). The AI agent reads the ticket, identifies the testable assertions (loyalty discount is 20%, stacking is permitted, maximum is 35%), and generates acceptance tests that will fail until the implementation satisfies them. The developer's job is to implement the feature against the tests - not to write the tests themselves.

This is the "Autonomous Requirements" capability in the maturity model: requirements are no longer just documentation. They're machine-executable specifications. The acceptance tests generated from the ticket become a formal contract between the product description and the code. When the tests pass, the feature matches the specification. When the feature changes, the tests must be updated - which requires updating the specification.

At Level 3 (Systematic), this workflow is integrated into the ticket lifecycle. Every ticket that describes user-observable behavior triggers automatic acceptance test generation as part of the specification process, before any implementation work begins. The tests are attached to the ticket and included in the PR that closes it.

Why It Matters

Acceptance tests from tickets is one of the highest-leverage practices in the maturity model:

  • Eliminates circular testing at scale - Tests written from requirements cannot be circular because they don't observe the implementation. The expected values come from the ticket, not the code.
  • Makes requirements testable - Vague requirements cannot produce specific acceptance tests. The process of generating tests from tickets surfaces ambiguity in requirements before any code is written.
  • Shifts the quality gate earlier - A failing acceptance test at the start of development is infinitely cheaper than a bug report after deployment. Requirements-derived tests move quality left.
  • Enables confident AI-generated implementation - When acceptance tests are written from requirements before an AI agent starts implementing, the agent has a clear, objective success criterion. It can iterate until tests pass without requiring human interpretation of "is this correct?"
  • Creates a living requirements document - The acceptance test suite is always synchronized with the requirements, because tests are generated from tickets and must be updated when requirements change.
Tip

Not all tickets generate meaningful acceptance tests. Refactoring tickets, infrastructure work, and performance improvements don't translate directly to behavior assertions. Focus acceptance test generation on tickets labeled as feature work or bug fixes. Add a ticket template requirement: every feature or bug ticket must include an "acceptance criteria" section in structured format for the AI to read.

Getting Started

6 steps to get from here to the next level

Common Pitfalls

Mistakes teams actually make at this stage - and how to avoid them

How Different Roles See It

B
BobHead of Engineering

Bob's team has been producing requirements tickets for years, but the quality is inconsistent. Some are detailed with explicit acceptance criteria; others are vague descriptions of desired outcomes. He wants to implement acceptance test generation but is worried that the ticket quality problem will undermine it.

What Bob should do - role-specific action plan

S
SarahProductivity Lead

Sarah is looking for metrics that demonstrate quality improvement and faster time-to-value for features. She's been told that acceptance tests from tickets will help, but she's not sure how to measure the impact.

What Sarah should do - role-specific action plan

V
VictorStaff Engineer - AI Champion

Victor is excited about acceptance test generation from tickets and has already prototyped it for his team. But he's hit a challenge: the AI agent generates tests at inconsistent abstraction levels - sometimes unit tests, sometimes end-to-end tests - depending on how the acceptance criteria is phrased.

What Victor should do - role-specific action plan