Technology & Testing More detail B · Official guidance Platform: General

Contract Testing

Contract testing checks whether two systems that can deploy separately still exchange messages in the agreed format.

See how it works
You might call it Contract Testing

See how it works

Original worked exampleContract Testing

Another example

A client expects GET /profiles/42 to return certain fields and a status. Continuous integration (CI) checks that the provider keeps this promise. The test does not prove the whole journey or the quality of live data.

Main parts

  1. 01consumer contract
  2. 02provider verification
  3. 03compatibility result

Use it when

Use this term when services deploy on their own and message compatibility must be checked without the whole system.

Do not use it when

Do not copy the provider's private code into the contract or use this test instead of API security testing.

Name used in code

consumer expectation ↔ provider verification

Before you ship

Check the environment and prepared test data (fixture). Define a result you can observe, failure and edge cases, isolation, stable inputs, useful error details, and cleanup. Set a time budget, owner, and flaky-test rule.

Request you can copy

Outcome: Use Contract Testing to gather repeatable evidence about this behavior or quality risk. User context: A client expects GET /profiles/42 to return certain fields and a status. Continuous integration (CI) checks that the provider keeps this promise. The test does not prove the whole journey or the quality of live data. Validation approach: Contract Testing. Why it fits: Use this term when services deploy on their own and message compatibility must be checked without the whole system. Do not use it when: Do not copy the provider's private code into the contract or use this test instead of API security testing. Test requirements: Name the system and test environment. Define prepared test data, other inputs, and the result you can observe. Include failure and edge cases, allowed error, isolation, and cleanup. Test operations: Make failures easy to diagnose. Control random or changing inputs. Name an owner. Keep the test fast and simple enough for its release gate. Acceptance criteria: The test fails for the known bug and passes after the fix. It repeats in the target environment, gives useful evidence, and does not expose or change unrelated data. Evidence and limits (evidence boundary): It is official for that source. Other platforms or teams may use the term in another way. Unknowns to confirm: Release gate, environment, prepared test data, allowed error, time budget, owner, and flaky-test rule.

Check this request

Review the current use of Contract Testing. Definition: Contract testing checks whether two systems that can deploy separately still exchange messages in the agreed format. Release checks: Check the environment and prepared test data (fixture). Define a result you can observe, failure and edge cases, isolation, stable inputs, useful error details, and cleanup. Set a time budget, owner, and flaky-test rule. Before changing code, report the evidence you found, gaps, severity, and the smallest safe fix.

B
How official is this term?

Official guidance

The named platform, framework, project, or expert group has an official guide for this term.

It is official for that source. Other platforms or teams may use the term in another way.

Scope
Pact contract-testing workflow
Document status
stable
Checked on
2026-07-30

Evidence sources & scope

Authority source + Term reference · Pact · stable Pact Documentation Scope: Pact consumer-driven contract testing Role here: Direct term reference Source covers: canonical name, definition, platform API, implementation, usage guidance

Copy it yourself

The browser could not copy this. Select the request below and copy it yourself.