Fuzz
Fuzzing is an automated software testing technique that involves the
providing invalid, unexpected, or random data as input to a computer program.
You must understand that fuzz testing does replace unit testing.
> go test -fuzz=Fuzz
// Output:
fuzz: minimizing 38-byte failing input file...
--- FAIL: FuzzReverse (0.01s)
--- FAIL: FuzzReverse (0.00s)
reverse_test.go:20:
Reverse produced invalid UTF-8 string "\x9c\xdd"
Failing input written to testdata/fuzz/FuzzReverse/...
FAIL
exit status 1
FAIL example/fuzz 0.030s