The document describes Nighthawk, a tool that uses a two-level genetic algorithm approach to generate randomized unit test data. At the randomized testing level, it selects methods and arguments randomly to generate test cases. At the GA level, it evolves test generation parameters to increase code coverage. An empirical evaluation on Java collection classes found that enriched test wrappers and deep target analysis led to higher coverage than normal approaches. The GA was able to find effective parameter settings and achieve similar or better coverage than previous random and heuristic search techniques.