AI CompendiumA public chart of the language
Home / Evaluation / Regression Test
Evaluation

Regression Test

A test that catches a specific past failure coming back.

Definition

A test case derived from a bug or bad output that asserts it no longer occurs. For AI systems, it asserts on behaviour or properties rather than exact strings.

Because output is non-deterministic, AI regression tests assert on structure, constraints and judged quality — never on a byte-for-byte match.

For generative systems the assertion has to move from value to property. You cannot assert an exact string, but you can assert that it parses, contains a required field, cites a source, refuses what should be refused, and does not leak a specific forbidden string.

How people use it
Wiring a prompt change into CI.
"Add the refusal case to the regression suite. If a prompt edit reintroduces it, the build fails."
Worked example

Properties instead of golden strings

A summariser’s output changes every run.

Assert the properties: under the length cap, contains the three required entities, makes no claim absent from the source, and names the decision. Stable enough to run in CI, and still catches the regression that matters when someone edits the prompt.

Sources
  • docsEvaluation best practices ↗OpenAI API docs · 2026

    Evals as structured tests: task-specific test sets, continuous evaluation, logging, and human calibration of automated scoring.

  • docsLangSmith evaluation ↗LangChain docs · 2026

    Distinguishes offline evaluation on datasets from online monitoring of production traffic, and shows failing production traces being promoted into regression datasets.

  • docsUsing GitHub Copilot code review ↗GitHub docs · 2026

    Details the boundary their own review agent draws by default: comments rather than approvals, with approval rights switched on deliberately.

Related terms