  Testing is an essential part of modern software engineering to build reliable
programs. As testing the software is important but expensive, automatic test
case generation methods have become popular in software development. Unlike
traditional search-based coverage-guided test generation like fuzzing, neural
test generation backed by large language models can write tests that are
semantically meaningful and can be understood by other maintainers. However,
compared to regular code corpus, unit tests in the datasets are limited in
amount and diversity. In this paper, we present a novel data augmentation
technique **FuzzAug**, that combines the advantages of fuzzing and large
language models. FuzzAug not only keeps valid program semantics in the
augmented data, but also provides more diverse inputs to the function under
test, helping the model to associate correct inputs embedded with the
function's dynamic behaviors with the function under test. We evaluate
FuzzAug's benefits by using it on a neural test generation dataset to train
state-of-the-art code generation models. By augmenting the training set, our
model generates test cases with $11\%$ accuracy increases. Models trained with
FuzzAug generate unit test functions with double the branch coverage compared
to those without it. FuzzAug can be used across various datasets to train
advanced code generation models, enhancing their utility in automated software
testing. Our work shows the benefits of using dynamic analysis results to
enhance neural test generation. Code and data will be publicly available.
