HOME

TheInfoList



OR:

EvoSuite is a tool that automatically generates unit tests for
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
software. EvoSuite uses an
evolutionary algorithm In computational intelligence (CI), an evolutionary algorithm (EA) is a subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm. An EA uses mechanisms inspired by biological evolution, such as reproduc ...
to generate
JUnit JUnit is a unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks which is collectively known as xUnit that originated w ...
tests. EvoSuite can be run from the command line, and it also has plugins to integrate it in
Maven MAVEN is an American spacecraft orbiting Mars to study the loss of its atmospheric gases to space, providing insight into the history of the planet's climate and water. The spacecraft name is an acronym for "Mars Atmosphere and Volatile Evolu ...
,
IntelliJ IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains (formerly known as IntelliJ) and is avai ...
and
Eclipse An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
. EvoSuite has been used on more than a hundred open-source software and several industrial systems, finding thousands of potential bugs.


History

EvoSuite was originally created in 2010 as output of a research project by Dr. Gordon Fraser and Dr. Andrea Arcuri. EvoSuite is currently released under
LGPL The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
license, and its source code is hosted on
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous ...
. In academia, EvoSuite is often referred as one of the main reference tools for search-based software testing.


Other usages

As EvoSuite is released as open-source (and so freely available to download and modify), it has been used as a reference tool for search-based software testing in a number of independent studies, like: * Comparison with other tools like
Pex PEX is cross-linked polyethylene, a form of polyethylene with cross-links. PEX or Pex may also refer to: Science and technology *Peer exchange, a method to gather peers for BitTorrent * PHIGS Extension to X, in programming * Pex (software), a un ...
, CATG, jPET and SPF * Extension to system level testing for XML inputs * Extension to study many-objective genetic algorithms


See also

*
Test data generation Test(s), testing, or TEST may refer to: * Test (assessment), an educational assessment intended to measure the respondents' knowledge or other abilities Arts and entertainment * Test (2013 film), ''Test'' (2013 film), an American film * Test ( ...
*
Search-based software engineering Search-based software engineering (SBSE) applies metaheuristic search techniques such as genetic algorithms, simulated annealing and tabu search to software engineering problems. Many activities in software engineering can be stated as optimizatio ...
*
Test automation In software testing, test automation is the use of software separate from the software being tested to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Test automation can automate some repetitive bu ...
*
List of unit testing frameworks This article is a list of tables of code-driven unit testing frameworks for various programming languages. Some, but not all, of these are based on xUnit. Columns (classification) * Name: This column contains the name of the framework and wil ...
*
Unit testing In computer programming, unit testing is a software testing method by which individual units of source code—sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures&md ...


Bibliography

* * *


References


External links

*{{Official , https://www.evosuite.org/
EvoSuite publications page
Java platform software