EvoSuite
EvoSuite is a tool that automatically generates unit tests for Java software. EvoSuite uses an evolutionary algorithm to generate JUnit tests. EvoSuite can be run from command line, and it also has plugins to integrate it in Maven, IntelliJ and Eclipse. EvoSuite has been used on more than an 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 license, and its source code is hosted on GitHub. In academia, EvoSuite is often referred as one of the main reference tools for search-based software testing.[1]
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, CATG, jPET and SPF[2]
- Extension to system level testing for XML inputs[3]
- Extension to study many-objective genetic algorithms[4]
See also
- Test data generation
- Search-based software engineering
- Test automation
- List of unit testing frameworks
- Unit testing
Bibliography
- Fraser, Gordon; Arcuri, Andrea (2011). "Evosuite: automatic test suite generation for object-oriented software". Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering. doi:10.1145/2025113.2025179.
- Fraser, Gordon; Arcuri, Andrea (23 December 2014). "A Large-Scale Evaluation of Automated Unit Test Generation Using EvoSuite". ACM Transactions on Software Engineering and Methodology. 24 (2): 1–42. doi:10.1145/2685612.
- Fraser, Gordon; Arcuri, Andrea (15 November 2013). "1600 faults in 100 projects: automatically finding faults while achieving high coverage with EvoSuite". Empirical Software Engineering. 20 (3): 611–639. doi:10.1007/s10664-013-9288-2.
References
- ↑ Harman, Mark; Yue, Jia; Zhang, Yuanyuan (2015). "Achievements, Open Problems and Challenges for Search Based Software Testing". Software Testing, Verification and Validation (ICST), 2015 IEEE 8th International Conference on: 1–12. doi:10.1109/ICST.2015.7102580. Retrieved 18 October 2015.
- ↑ Cseppento, L.; Micskei, Z. (2015). "Evaluating Symbolic Execution-Based Test Tools": 1–10. doi:10.1109/ICST.2015.7102587. Retrieved 18 October 2015.
- ↑ Havrikov, Nikolas; Höschele, Matthias; Galeotti, Juan Pablo; Zeller, Andreas (2014). "XMLMate: evolutionary XML test generation". Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering: 719–722. doi:10.1145/2635868.2661666.
- ↑ Panichella, Annibale; Kifetew, Fitsum Meshesha; Tonella, Paolo (2015). "Reformulating Branch Coverage as a Many-Objective Optimization Problem". Software Testing, Verification and Validation (ICST), 2015 IEEE 8th International Conference on. doi:10.1109/ICST.2015.7102604.