Developer Testing in the IDE: Patterns, Beliefs, and Behavior

by Beller, M. and Gousios, G. and Panichella, A. and Proksch, S. and Amann, S. and Zaidman, A.

You can get a pre-print version from here.
You can view the publisher's page here.

Abstract

Software testing is one of the key activities to achieve software quality in practice. Despite its importance, however, we have a remarkable lack of knowledge on how developers test in real-world projects. In this paper, we report on a large-scale field study with 2,443 software engineers whose development activities we closely monitored over 2.5 years in four integrated development environments (IDEs). Our findings, which largely generalized across the studied IDEs and programming languages Java and C#, question several commonly shared assumptions and beliefs about developer testing: half of the developers in our study do not test; developers rarely run their tests in the IDE; most programming sessions end without any test execution; only once they start testing, do they do it extensively; a quarter of test cases is responsible for three quarters of all test failures; 12 percent of tests show flaky behavior; Test-Driven Development (TDD) is not widely practiced; and software developers only spend a quarter of their time engineering tests, whereas they think they test half of their time. We summarize these practices of loosely guiding one’s development efforts with the help of testing in an initial summary on Test-Guided Development (TGD), a behavior we argue to be closer to the development reality of most developers than TDD.

Bibtex record

@article{BGPPAZ17,
  author = {{Beller}, M. and {Gousios}, G. and {Panichella}, A. and {Proksch}, S. and {Amann}, S. and {Zaidman}, A.},
  journal = {IEEE Transactions on Software Engineering},
  title = {Developer Testing in the IDE: Patterns, Beliefs, and Behavior},
  year = {2019},
  volume = {45},
  number = {3},
  pages = {261-284},
  doi = {10.1109/TSE.2017.2776152},
  issn = {0098-5589},
  month = mar,
  url = {/pub/developer-testing-in-IDE.pdf}
}

The paper