One way to think about a fuzzer is an automatic test case generator. In fact, this is why many fuzzing and symbolic-execution approaches are referred to as "automatic test case generation techniques". While the fuzzer is running, it will find an increasing number of test cases that increase instruction-, branch- and path coverage. Over time, it will accumulate these cases, you'll use incremental fuzzing. You provide an existing corpus to the fuzzer in addition to the fuzzing seed. The fuzzer will then first run through all of the provided test cases, evaluating which test cases are still useful, and remembering them. Then fuzzing continues as it normally would. Except that it will get a huge head start! It'll be as if you've already been fuzzing for hours!
te an impressive body of tests (also called a corpus) which is really useful.