moodmosaic

Property Tests Are Not A Fuzzer

This post is part of the Input Coverage > Code Coverage series.

Property tests check invariants. They need a good oracle. They need generators. Both can be wrong.

A fuzzer has one simple oracle: did it crash or violate a check? It guides itself with coverage. It evolves inputs that reach new code.

Property tests are great at proving normal behavior. Fuzzers are great at provoking abnormal behavior. You want both.

We will run property tests and fuzzers against the same entry point. No duplication. One function to rule them all.


Next: Minimal Fuzzing Without The Pain