# Is outcome verification the same as testing?

> A test runs before release against fixtures and mocks. Outcome verification runs after each production action against the real provider. Use both.

Canonical: https://provely.sh/compare/verification-vs-testing  
Last reviewed: 2026-09-05  

**No. A test runs before release against fixtures, mocks, or a sandbox. Outcome verification runs after every production action against the real provider. A test proves the code can succeed. A verdict proves this action did.**

| Aspect | Testing | Outcome verification |
| --- | --- | --- |
| When | Before release | After each production action |
| Against | Mocks, fixtures, a sandbox | The real provider, with read-only credentials |
| Scope | Code paths | One operation and its outcome |
| Result | Pass or fail | VERIFIED, PENDING, CONTRADICTED, FAILED, UNVERIFIABLE |
| Proof | A test report | A signed receipt |
| Duplicates and stale reads | Only if you wrote the case | Blocked by negative postconditions and the stale-read window |

## When is testing the right tool?

Use testing for catching regressions before release and pinning behaviour. Use outcome verification when an agent makes a side-effecting call and must not say "done" until the provider proves it.

## Questions developers ask

### Does Provely have tests of its own?

Yes. Every skill passes the conformance matrix before it ships. The cross-language fixtures prove that TypeScript, Python, and Rust agree. Read the [benchmark](/benchmark).

### Can I use verification in CI?

Yes. `provely verify --wait` exits with the verdict code, so a pipeline step passes only on VERIFIED.

## Read next

- [Read: Is outcome verification the same as observability?](https://provely.sh/compare/verification-vs-observability)
- [Read: Is outcome verification the same as LLM evaluation?](https://provely.sh/compare/verification-vs-evaluation)
- [Read how Provely works](https://provely.sh/how-it-works)
- [See every comparison](https://provely.sh/compare)
