Fuzz Testing and Observability
The subject of this chapter is twofold. First, we are going to talk about fuzz testing, which is a recent Go feature that improves the testing process, and second, we are going to talk about observability, which can help you understand what is going on when everything is working as expected but slower than desired.
With fuzz testing, we bring the unexpected to testing. The main benefit is that you get to test your code using random and unpredicted values and data, which might lead to detecting unknown vulnerabilities. This also leads to improved test coverage, better automation and efficiency in testing, better continuous testing, improved software quality, and cost-effective security testing.
Observability refers to the ability to understand, measure, and analyze the internal state and behavior of a system based on its external outputs or observable signals. In the context of computer systems and software applications, observability is crucial...