Fuzz

Fuzzing é uma técnica de teste de software automatizada que envolve o fornecimento de dados inválidos, inesperados ou aleatórios como entradas para um programa de computador.

Você deve entender que o teste fuzz não substitui o teste unitário.


> 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
                        
fuzz.go