What problem does it solve?
Property-based testing guidance helps you find edge-case bugs and unclear specifications that example-based tests miss by turning executable properties into testable, repeatable specifications across languages and environments.
Core Features & Use Cases
- Property catalog & priorities: A concise catalog of properties (roundtrip, idempotence, invariants, commutativity, associativity, identity, inverse, oracle) and priorities for common patterns like encode/decode, normalization, validators, sorting, and smart contracts.
- End-to-end guidance: Decision trees for when to invoke PBT, step-by-step test generation patterns, input strategy design, library recommendations for Hypothesis/fast-check/proptest/Echidna, and refactoring patterns that make code testable.
- Failure analysis & review: Concrete workflows for reproducing and classifying failures, checking property grounding, avoiding tautologies and vacuous tests, and improving shrinking and CI settings.
- Use case: When you encounter serialization pairs, custom parsers, normalization/validation logic, pure algorithms, or smart-contract invariants, use these resources to design strong, maintainable PBT suites.
Quick Start
Propose a roundtrip and at least one invariant property for the encode/decode pair you want to test and suggest a Hypothesis or fast-check strategy for generating valid inputs.