# Assertion Checking

> Checks a runtime condition against an assumed invariant

Record: `reasoning:technique-assertion-checking`
Kind: technique
Canonical: https://banes-lab.com/ontology/reasoning#reasoning-technique-assertion-checking

Listed in [Reasoning records](https://banes-lab.com/api/records/reasoning.md), after [Runtime Validation](https://banes-lab.com/records/reasoning/technique-runtime-validation.md) and before [Fuzz Testing](https://banes-lab.com/records/reasoning/technique-fuzz-testing.md).

## Mode

- [comparison](https://banes-lab.com/records/reasoning/mode-comparison.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)
- [resource-correctness](https://banes-lab.com/records/reasoning/test-surface-resource-correctness.md)
- [consistency-correctness](https://banes-lab.com/records/reasoning/test-surface-consistency-correctness.md)
- [data-correctness](https://banes-lab.com/records/reasoning/test-surface-data-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)
