Abstract :
[en] Automated test generation techniques typically aim at max-
imising coverage of well-established structural criteria such as statement
or branch coverage. In practice, generating tests only for one speci c
criterion may not be su cient when testing object oriented classes, as
standard structural coverage criteria do not fully capture the properties
developers may desire of their unit test suites. For example, covering a
large number of statements could be easily achieved by just calling the
main method of a class; yet, a good unit test suite would consist of smaller
unit tests invoking individual methods, and checking return values and
states with test assertions. There are several di erent properties that test
suites should exhibit, and a search-based test generator could easily be
extended with additional tness functions to capture these properties.
However, does search-based testing scale to combinations of multiple cri-
teria, and what is the e ect on the size and coverage of the resulting test
suites? To answer these questions, we extended the EvoSuite unit test
generation tool to support combinations of multiple test criteria, de ned
and implemented several di erent criteria, and applied combinations of
criteria to a sample of 650 open source Java classes. Our experiments
suggest that optimising for several criteria at the same time is feasible
without increasing computational costs: When combining nine di erent
criteria, we observed an average decrease of only 0.4% for the constituent
coverage criteria, while the test suites may grow up to 70%.
Scopus citations®
without self-citations
56