To find defects in software, one needs test cases that execute the software systematically, and oracles that assess the correctness of the observed behavior when running these test cases. EvoSuite is a tool that automatically generates test cases with assertions for classes written in Java code. To achieve this, EvoSuite applies a novel hybrid approach that generates and optimizes whole test suites towards satisfying a coverage criterion. For the produced test suites, EvoSuite suggests possible oracles by adding small and effective sets of assertions that concisely summarize the current behavior; these assertions allow the developer to detect deviations from expected behavior, and to capture the current behavior in order to protect against future defects breaking this behaviour.

Main features

  • Generation of JUnit 4 tests for the selected classes
  • Optimization of different coverage criteria, like lines, branches, outputs and mutation testing
  • Tests are minimized: only the ones contributing to achieve coverage are retained
  • Generation of JUnit asserts to capture the current behavior of the tested classes
  • Tests run in a sandbox to prevent potentially dangerous operations
  • Virtual file system
  • Virtual network

Contributing Institutions

University of Luxembourg
Fondazione Bruno Kessler  


  • Gordon Fraser
  • Andrea Arcuri
  • Verena Bader
  • José Campos
  • Benjamin Friedrich
  • Juan Pablo Galeotti
  • Alessandra Gorla
  • Florian Gross
  • Prathmesh Halgekar
  • Fitsum Meshesha Kifitew
  • Merlin Lang
  • Yanchuan Li
  • Eva May
  • Andre Mis
  • Daniel Muth
  • Jeremias Roessler
  • Jose Miguel Rojas
  • Kaloyan Rusev
  • Sina Shamshiri
  • Sebastian Schweikl
  • Sebastian Steenbuck
  • Andrey Tarasevich
  • Mattia Vivanti
  • Sebastian Vogl


google-logo EvoSuite is generously supported by a Google Focused Research Award on Test Amplification. YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit’s leading software products: YourKit Java Profiler and YourKit .NET Profiler.