Title
Automated unit test generation during software development: a controlled experiment and think-aloud observations
Abstract
Automated unit test generation tools can produce tests that are superior to manually written ones in terms of code coverage, but are these tests helpful to developers while they are writing code? A developer would first need to know when and how to apply such a tool, and would then need to understand the resulting tests in order to provide test oracles and to diagnose and fix any faults that the tests reveal. Considering all this, does automatically generating unit tests provide any benefit over simply writing unit tests manually? We empirically investigated the effects of using an automated unit test generation tool (EvoSuite) during development. A controlled experiment with 41 students shows that using EvoSuite leads to an average branch coverage increase of +13%, and 36% less time is spent on testing compared to writing unit tests manually. However, there is no clear effect on the quality of the implementations, as it depends on how the test generation tool and the generated tests are used. In-depth analysis, using five think-aloud observations with professional programmers, confirms the necessity to increase the usability of automated unit test generation tools, to integrate them better during software development, and to educate software developers on how to best use those tools.
Year
DOI
Venue
2015
10.1145/2771783.2771801
International Symposium on Software Testing and Analysis
Field
DocType
Citations 
Code coverage,Software engineering,Computer science,Usability,Unit testing,Dynamic testing,Real-time computing,Software,Test double,Think aloud protocol,Reliability engineering,Software development
Conference
17
PageRank 
References 
Authors
0.56
35
3
Name
Order
Citations
PageRank
José Miguel Rojas120911.84
Gordon Fraser22625116.22
Andrea Arcuri3263092.48