What is Fuzz Testing?
Fuzz testing (fuzzing) is an automated technique that feeds large volumes of malformed, unexpected, or random input to a program to find crashes, hangs, memory errors, and security vulnerabilities.
Free to start · 7-day trial on paid plans
In depth.
Fuzzing targets the code that parses and processes input, file parsers, network protocols, APIs, where a single unhandled edge case can mean a crash or an exploitable bug. A fuzzer generates or mutates inputs at high speed and watches for failures: crashes, assertion violations, memory corruption (caught with sanitizers), or hangs.
There are three broad styles. Dumb (mutation) fuzzers randomly mutate valid sample inputs, simple and surprisingly effective. Generation-based fuzzers build inputs from a model or grammar of the format, reaching deeper into structured parsers. Coverage-guided fuzzers (AFL, libFuzzer) instrument the code and evolve inputs toward unexplored paths, which is the modern, most powerful approach and is widely used in security and at scale (for example Google's OSS-Fuzz).
Fuzzing is strongest at robustness and security, not functional correctness, it tells you the program survived weird input, not that it produced the right answer. It is distinct from monkey testing, which fires random user actions at a UI rather than malformed data at a parser.
Why interviewers ask about this.
For SDET, platform, and security-leaning roles, fuzzing signals that you think about robustness and the security boundary, not just the happy path. Knowing coverage-guided fuzzing and real tools (AFL, libFuzzer) shows depth.
Example scenario.
A team fuzzes its image-upload parser with a coverage-guided fuzzer seeded with valid images. Within hours it finds an input that triggers an out-of-bounds read, a potential security vulnerability, that no hand-written test had covered. The crashing input becomes a permanent regression test.
Interview tip.
Define fuzzing as automated malformed-input testing for crashes and security bugs, then distinguish dumb, generation-based, and coverage-guided fuzzers. Separating it from monkey testing (random actions vs malformed data) is a strong differentiator.
Frequently asked questions.
What is the difference between fuzz testing and monkey testing?
Fuzz testing feeds malformed or random data to input parsers to find crashes and security bugs. Monkey testing fires random user actions at a UI to test stability. Both use randomness but target different layers and goals.
What is coverage-guided fuzzing?
A modern approach (AFL, libFuzzer) that instruments the code to measure which paths an input exercises, then evolves inputs toward unexplored code. It finds deep bugs far faster than purely random fuzzing.
Related Terms
Explore related glossary terms to deepen your understanding.
Related Resources
Dive deeper with these related interview prep pages.
Free QA career tools, no account needed
Instant and private, everything runs in your browser. Try them before you sign up.
QA Resume Checker
Instant 0-100 score on automation keywords, impact, and ATS formatting.
QA Cover Letter Generator
A tailored 3-paragraph QA cover letter from your resume and a job post.
QA Application Tracker
Drag-and-drop kanban to track every QA application from Applied to Offer.
QA Take-Home Test Generator
A realistic take-home assignment with a scenario, tasks, and a rubric.
QA LinkedIn Headline Generator
A recruiter-searchable headline, About section, and skills list.
QA STAR Story Builder
Structure a QA behavioral answer with the STAR method and instant checks.
QA Bug Report Generator
Build a clean, reproducible bug report for Markdown, Jira, or plain text.
Boundary Value Analysis Generator
Generate boundary value and equivalence partitioning test cases from a range.
QA Metrics Calculator
Calculate DRE, defect leakage, defect density, and pass rate with interpretation.
QA Test Plan Generator
Build a structured test plan (scope, approach, criteria, risks) in Markdown.
Ready to Ace Your QA Interview?
Practice explaining fuzz testing and other key concepts with our AI interviewer.
Join 1,200+ QA engineers already practicing with AssertHired.
Start your free QA interview