3 ms·
You're asserting properties, so IMO this meets the definition of PBTs ("every node of level greater than one has two children"). However, depending on the lib,
by AlexErrant 2y ago
You're asserting properties, so IMO this meets the definition of PBTs ("every node of level greater than one has two children").
However, depending on the lib, you can get some nice quality of life improvements. One "nice to have" is shrinking. See the "Shrinking" section here https://tech.fpcomplete.com/blog/quickcheck-hedgehog-validity/ https://tech.fpcomplete.com/blog/quickcheck-hedgehog-validit...
Having combinators to compose generators is also great.
Libs may also have a known set of "bad" values that cause exceptional behavior.
- gavinhoward 2y agoAFL++, a fuzzer, has a tool to minimize (shrink) test cases.
- zarathustreal 2y ago“Properties” in the Property-based Testing sense refers to mathematical properties such as equality, associativity, commutivity, etc
- ncruces 2y agoThe Go fuzzer, when it finds a failure, will also walk back and try to shrink inputs (and still trigger the same failure). Not sure how effective it is compared to other options, but I'm not totally missing out there. It also builds a corpus of interesting inputs over time (those that cause new branches to be taken, since that's its goal: improve coverage). I'm less sure about combinators.