Hasty Briefsbeta

Bilingual

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.