Lightweight property-based testing at Row Zero
a day ago
- Row Zero is a fast spreadsheet that relies on property-based testing to ensure quality.
- Property-based testing involves sampling inputs, performing operations, and checking invariants or comparing against a reference model.
- Three main types of tests used: blackbox reference-model testing, invariant testing, and crash testing.
- They use a custom test template with non-deterministic seeds, complexity scaling, and deterministic replay.
- Examples include testing builtin functions, CSV parsing, handling corrupted CSVs, and hidden rows structures.
- Property-based tests are low-maintenance, easy to write, and effective at finding bugs.