I am wondering what the relation between random and fuzz testing is. I understand that random testing has been there for a longer time, but I cannot see any differences between them. They both seem to make use of random input to see if the program goes into an unexpected state (i.e. crash). Is the main difference difference that fuzz testing is automated?
Random(ized) testing has no intention of crashing a system. You can randomize valid values. The goals could be to increase coverage or to find out new/unexpected information about the system (possibly bugs, but could be simply unknown behaviour).
Fuzz(y) testing is about sending complete rubbish (e.g. could be random bytes instead of HTTP request) into the system and see whether it can handle it gracefully (not crash or hang). The data is not necessarily random - it's just meaningless to the software.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With