Fuzzing is similar to unit testing, though it allows you to generate your inputs. Fuzzing is fantastic when you can deterministically validate that a function behaves as expected when provided random inputs. Fuzzing helps catch entirely different classes of errors that unit testing often misses.
https://go.dev/doc/tutorial/fuzz