Fuzzing
ELI5 — The Vibe Check
Fuzzing is throwing completely random, malformed, or garbage inputs at your program to see if it crashes. It's like giving your app to a toddler and watching what they do to it. Security researchers love fuzzing — it finds crashes and vulnerabilities that humans never think to test.
Real Talk
Fuzzing (fuzz testing) is an automated technique that generates large volumes of random, malformed, or semi-structured input to discover crashes, memory errors, and security vulnerabilities. Coverage-guided fuzzers (AFL, libFuzzer) use code coverage feedback to guide input generation toward unexplored paths.
When You'll Hear This
"Run the fuzzer on the file parser overnight — it found a buffer overflow last time." / "Fuzzing is mandatory for any code that processes untrusted user input."
Related Terms
Corner Case
A corner case is like an edge case but even weirder — it's when MULTIPLE unusual things happen at the same time. An edge case is a weird input.
Edge Case
Edge cases are the weird, extreme, or unexpected inputs that trip up your code. What if someone types 0 for age?
Property-Based Testing
Instead of writing specific test cases (add(2,3)=5), property-based testing generates thousands of random inputs automatically and checks that certain prop...