Re:Go: Fuzzing Is Beta Ready
by Milner08 on Friday June 04, 2021 @04:28AM
(#27391730)
Reading about fuzz testing all I could think of was 'is this not property testing?'... That is strange. It sounds like both communities could learn a lot from each other unless there is something I am missing (there probably is..)
[ Parent
| on HN ]
In my mind fuzz testing is external, backboxed, and often profile-guided, while proptesting is more structured, internal (language aware) but generally less guided or entirely unguided.
This here is closer to what I see as property testing than fuzzing, although it looks like they plan on coverage feedback (so guided generation).
Property-based testing requires you to define the condition of success or failure (the "property" you're testing for) too, right? Whereas fuzzing just looks for crashes?
> Property-based testing requires you to define the condition of success or failure (the "property" you're testing for) too, right?
That property can be "does not crash".
And I'd say this is the structured / language-awareness part: with fuzzing you can't generally build an oracle.
And if you can it's of course trivial: just have a wrapper script check the result against the oracle, and trigger whatever the fuzzer looks for indicating "failure" whether it's a return code or a segfault or…
Fuzzing is more to ensure safety and property checking to ensure correctness IMHO. Both are related but not similar.
Re:Go: Fuzzing Is Beta Ready
by bottled_poe on Friday June 04, 2021 @05:17AM
(#27391930)
Surely the coverage of fuzz testing is a superset of property testing?