3 ms·
Is there a clear dividing line between fuzzing tests and property based testing? They seem to use different words, but do similar things, like generate interes
by agbell 6y ago
Is there a clear dividing line between fuzzing tests and property based testing? They seem to use different words, but do similar things, like generate interesting input and making sure things still work when that interesting input is applied.
Is the difference instrumentation vs hand written generators and hand written invariants?
- teeray 6y agoPhilosophically, I’ve found that property-based tests are more like “no matter what this sorting algorithm does, it absolutely should have the same number of elements before and after.” You’re so confident in that assertion that you’re willing to transcend specific test cases and subject the logic under test to limited randomness. Fuzz testing is more like a blunt instrument for finding tests that you should have written, by devising more and more creative input. There’s less intention behind it other than “this shouldn’t explode, and if it does I want to know.”
- whateveracct 6y agoThe stretch goal of structured fizzing beyond []byte sounds like property testing to me
- agbell 6y agoAgree, it seems like the limit of one looks like the other and we should talk about them together. And Property testing has some of the same practical implications that Rob Pike mentions of fuzzing, can it take a long time and its not clear how to do it in CI without slowing things down (or at least it seems that way to me).