  Developers spend a large portion of their time and effort on comprehending
source code. While many studies have investigated how developers approach these
comprehension tasks and what factors influence their success, less is known
about how developers comprehend test code specifically, despite the undisputed
importance of testing. In this paper, we report on the results of an empirical
study with 44 developers to understand which factors influence developers when
comprehending Java test code. We measured three dependent variables: the total
time spent reading a test suite, the ability to identify the overall purpose of
a test suite, and the ability to produce additional test cases to extend a test
suite. The main findings of our study, with several implications for future
research and practitioners, are that (i) prior knowledge of the software
project decreases the total reading time, (ii) experience with Java affects the
proportion of time spent on the Arrange and Assert sections of test cases,
(iii) experience with Java and prior knowledge of the software project
positively influence the ability to produce additional test cases of certain
categories, and (iv) experience with automated tests is an influential factor
towards understanding and extending an automated test suite.
