Video/Audio Open Access

A Large Scale Study On the Effectiveness of Manual and Automatic Unit Test Generation

Beatriz Souza; Patrícia Machado

Dublin Core Export

<?xml version='1.0' encoding='utf-8'?>
<oai_dc:dc xmlns:dc="" xmlns:oai_dc="" xmlns:xsi="" xsi:schemaLocation="">
  <dc:creator>Beatriz Souza</dc:creator>
  <dc:creator>Patrícia Machado</dc:creator>
  <dc:description>Recently, an increasingly large amount of effort has been devoted to implementing tools to generate unit test suites automatically. Previous studies have investigated the effectiveness of these tools by comparing automatically generated test suites (ATSs) to manually written test suites (MTSs). Most of these studies report that ATSs can achieve higher code coverage, or even mutation coverage, than MTSs, particularly when suites are generated from defective code. However, these studies usually consider a limited amount of classes or subject programs, while the adoption of such tools in the industry is still low. This work aims to compare the effectiveness of ATSs and MTSs when applied as regression test suites. We conduct an empirical study, using ten programs (1368 classes), written in Java, that already have MTSs and apply two sophisticated tools that automatically generate test cases: Randoop and EvoSuite. To evaluate the test suites’ effectiveness, we use line and mutation coverage. Our results indicate that MTSs are, in general, more effective than ATSs regarding the investigated metrics. Moreover, the number of generated test cases may not indicate test suites’ effectiveness. Furthermore, there are situations when ATSs are more effective, and even when ATSs and MTSs can be complementary.</dc:description>
  <dc:subject>automatic test generation</dc:subject>
  <dc:subject>, empirical studies</dc:subject>
  <dc:subject>mutation testing</dc:subject>
  <dc:title>A Large Scale Study On the Effectiveness of Manual and Automatic Unit Test Generation</dc:title>
Views 93
Downloads 51
Data volume 452.4 MB
Unique views 84
Unique downloads 51


Cite as