This document provides an overview of fuzzing techniques. It discusses fuzzing targets such as applications, inventory methods, classification criteria, fuzzing models including mutation and generation, understanding the target being fuzzed such as file formats or network protocols, common problems encountered, testing stages, and improvements that can be made including parallel processing and in-memory fuzzing.