Documents

  • TSE2776152

    Accepted author manuscript, 15 MB, PDF-document

DOI

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.

Original languageEnglish
Article number8116886
Pages (from-to)261-284
Number of pages24
JournalIEEE Transactions on Software Engineering
Volume45
Issue number3
DOIs
Publication statusPublished - 2019

    Research areas

  • Developer testing, Developer tests, Test-Driven Development, Test-Guided Development

ID: 38319274