# Property Based Testing

> Asserts that an invariant holds across a generated input space

Record: `reasoning:technique-property-based-testing`
Kind: technique
Canonical: https://banes-lab.com/ontology/reasoning#reasoning-technique-property-based-testing

Listed in [Reasoning records](https://banes-lab.com/api/records/reasoning.md), after [End To End Testing](https://banes-lab.com/records/reasoning/technique-end-to-end-testing.md) and before [Differential Testing](https://banes-lab.com/records/reasoning/technique-differential-testing.md).

## Mode

- [classification](https://banes-lab.com/records/reasoning/mode-classification.md)

## Principle ref

- [Property-Based Testing](https://banes-lab.com/records/architecture/property-based-testing.md)

## Surfaces

- [semantic-correctness](https://banes-lab.com/records/reasoning/test-surface-semantic-correctness.md)
- [state-correctness](https://banes-lab.com/records/reasoning/test-surface-state-correctness.md)
- [numerical-correctness](https://banes-lab.com/records/reasoning/test-surface-numerical-correctness.md)
- [determinism-correctness](https://banes-lab.com/records/reasoning/test-surface-determinism-correctness.md)

## Linked from

- [The modes](https://banes-lab.com/ontology/reasoning/the-modes.md)
- [The test surfaces](https://banes-lab.com/ontology/reasoning/the-test-surfaces.md)
