Black box, white box, and gray box testing
Fuzzing is what's called black box testing, but before getting into the details, let's understand black box, white box, and gray box testing.
White box testing, also called open box, clear box, or glass box testing, is tests that are performed when we get all the information on the system under test, including software architecture, modules, source code, and so on. White box testing is usually used for software testing, and it is not in the scope of this book.
Black box testing is when you know that the device and/or software you are testing is there, but you don't have any further knowledge of it. You control the input you send into the device; you can see the output that is received, but you don't have any knowledge of the inner architecture and software of the device.
Gray box testing is when you have partial knowledge of the system's internal design and code, such as when we have knowledge of the device...