A comprehensive guide to testing Solidity smart contracts; from unit tests to advanced techniques like invariant testing, mutation testing, and formal verification.
Basic Testing
- Unit tests
- Integration tests
- Fork tests
- Fuzz tests
Advanced Testing
- Invariant tests
- Differential tests
- Lifecycle tests
- Scenario tests & building a scenario test runner
- Mutation tests
Techniques & Methods
- Formal verification
- Symbolic testing
- Branching Tree Technique (BTT)
- Swiss Cheese Method
pnpm install
pnpm devContributions are welcome! If you'd like to improve an existing section, fix an error, or add a new testing topic:
- Fork the repo and create a branch
- Make your changes inside
docs/pages/ - Open a pull request with a short description of what you changed