Whole Test Suite Generation is a novel paradigm that evolves whole test suites simultaneously to cover all coverage goals, rather than targeting goals individually. This approach has several advantages, such as its effectiveness not being affected by infeasible targets. EVOSUITE implements this approach and achieved significantly higher coverage than traditional approaches, with test suites up to 62% smaller. Evaluated on open source libraries and industrial projects, EVOSUITE achieved up to 188 times the branch coverage of traditional approaches.