When, How, and Why Developers (Do Not) Test in Their IDEs

被引:112
作者
Beller, Moritz [1 ]
Gousios, Georgios [2 ]
Panichella, Annibale [1 ]
Zaidman, Andy [1 ]
机构
[1] Delft Univ Technol, NL-2600 AA Delft, Netherlands
[2] Radboud Univ Nijmegen, NL-6525 ED Nijmegen, Netherlands
来源
2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS | 2015年
关键词
Developer Testing; Unit Tests; Testing Effort; Field Study; Test-Driven Development (TDD);
D O I
10.1145/2786805.2786843
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The research community in Software Engineering and Software Testing in particular builds many of its contributions on a set of mutually shared expectations. Despite the fact that they form the basis of many publications as well as open-source and commercial testing applications, these common expectations and beliefs are rarely ever questioned. For example, Frederic Brooks' statement that testing takes half of the development time seems to have manifested itself within the community since he first made it in the "Mythical Man Month" in 1975. With this paper, we report on the surprising results of a large-scale field study with 416 software engineers whose development activity we closely monitored over the course of five months, resulting in over 13 years of recorded work time in their integrated development environments (IDEs). Our findings question several commonly shared assumptions and beliefs about testing and might be contributing factors to the observed bug proneness of software in practice: the majority of developers in our study does not test; developers rarely run their tests in the IDE; Test-Driven Development (TDD) is not widely practiced; and, last but not least, software developers only spend a quarter of their work time engineering tests, whereas they think they test half of their time.
引用
收藏
页码:179 / 190
页数:12
相关论文
共 43 条
[21]   An Empirical Study of Adoption of Software Testing in Open Source Projects [J].
Kochhar, Pavneet Singh ;
Bissyande, Tegawende F. ;
Lo, David ;
Jiang, Lingxiao .
2013 13TH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE (QSIC), 2013, :103-112
[22]  
LaToza T. D., 2006, 28th International Conference on Software Engineering Proceedings, P492, DOI 10.1145/1134285.1134355
[23]  
Levenshtein Vladimir I, 1966, Soviet Physics Doklady, V10
[24]  
Marinescu P., 2014, Proceedings of the 2014 International Symposium on Software Testing and Analysis, ISSTA 2014, P93
[25]   Studying Fine-Grained Co-Evolution Patterns of Production and Test Code [J].
Marsavina, Cosmin ;
Romano, Daniele ;
Zaidman, Andy .
2014 14TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2014), 2014, :195-204
[26]  
Meszaros Gerard, 2007, xUnit test patterns: Refactoring test code.
[27]   Software Developers' Perceptions of Productivity [J].
Meyer, Andre N. ;
Fritz, Thomas ;
Murphy, Gail C. ;
Zimmermann, Thomas .
22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, :19-29
[28]  
MINELLI R, 2014, P VISSOFT 2014 2 IEE, P147
[29]  
Munir H., 2014, Proc. 18th Int. Conf. Eval. Assess. Softw. Eng. - EASE, V14, P1
[30]   Code churn: A measure for estimating the impact of code change [J].
Munson, JC ;
Elbaum, SG .
INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 1998, :24-31