Survey on test data generation tools: An evaluation of white- and gray-box testing tools for C#, C++, Eiffel, and Java

Stefan J. Galler*, Bernhard Aichernig

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

Automating the process of software testing is a very popular research topic and of real interest to industry. Test automation can take part on different levels, e.g., test execution, test case generation, test data generation. This survey gives an overview of state-of-the art test data generation tools, either academic or commercial. The survey focuses on white- and gray-box techniques. The list of existing tools was filtered with respect to their public availability, their maturity, and activity. The remaining seven tools, i.e., AgitarOne, CodePro AnalytiX, AutoTest, C++test, Jtest, RANDOOP, and PEX, are briefly introduced and their evaluation results are summarized. For the evaluation we defined 31 benchmark tests, which check the tools capabilities to generate test data that satisfies a given specification: 24 primitive type benchmarks and 7 non-primitive type and more complex with respect to the specification benchmarks. Most of the commercial tools implement a test data strategy that uses constant values found in the method under test or values that are slightly modified by means of mathematical operations. This strategy turns out to be very effective. In general, all tools that combine multiple techniques perform very well. For example PEX uses constraint solving techniques, but in cases where the constraint solver reaches its limitations it uses random based techniques to overcome those limitations. Especially, the two commercial tools AgitarOne and PEX that combine multiple approaches to test data generation are able to pass all 31 tests. This survey reflects the status in 2011.












Original languageEnglish
Pages (from-to)753-773
JournalInternational Journal on Software Tools for Technology Transfer
Volume16
Issue number6
DOIs
Publication statusPublished - 2014

Fields of Expertise

  • Information, Communication & Computing

Fingerprint

Dive into the research topics of 'Survey on test data generation tools: An evaluation of white- and gray-box testing tools for C#, C++, Eiffel, and Java'. Together they form a unique fingerprint.

Cite this