Please use this identifier to cite or link to this item: http://buratest.brunel.ac.uk/handle/2438/14579
Title: Findings from a multi-method study on test-driven development
Authors: Romano, S
Fucci, D
Scanniello, G
Turhan, B
Juristo, N
Keywords: Ethnographically-informed Study,;Qualitative Study;Test Driven Development
Issue Date: 2017
Citation: Information and Software Technology, 2017
Abstract: Context: Test-driven development (TDD) is an iterative software development practice where unit tests are de ned before production code. A number of quantitative empirical investigations have been conducted about the practice. The results are somehow contrasting and inconclusive. In addition, previous studies fail to analyze the values, beliefs, and assumptions that inform and shape TDD. Objective: In this paper, we present a study designed, and conducted to understand the values, beliefs, and assumptions of TDD. Participants in the study were novice and professional software developers. Method: We conducted an ethnographically-informed study with 14 novice software developers, i.e., graduate students in Computer Science at the University of Basilicata, and six professional software developers (with one to 10 years work experience). The participants worked on the implementation of a new feature for an existing software written in Java. We immersed ourselves in the context of our study. We collected qualitative information by means of audio recordings, contemporaneous eld notes, and other kinds of artifacts. We collected quantitative data from the integrated development environment to support or refute the ethnography results.Results: The main insights of our study can be summarized as follows: (i) refactoring (one of the phases of TDD) is not performed as often as the process requires and it is considered less important than other phases, (ii) the most important phase is implementation, (iii) unit tests are almost never upto- date, and (iv) participants rst build in their mind a sort of model of the source code to be implemented and only then write test cases. The analysis of the quantitative data supported the following qualitative ndings: (i), (iii), and (iv). Conclusions: Developers write quick-and-dirty production code to pass the tests, do not update their tests often, and ignore refactoring.
URI: http://bura.brunel.ac.uk/handle/2438/14579
DOI: http://dx.doi.org/10.1016/j.infsof.2017.03.010
ISSN: 0950-5849
Appears in Collections:Dept of Electronic and Computer Engineering Embargoed Research Papers

Files in This Item:
File Description SizeFormat 
Fulltext.pdfEmbargoed until 24 months after publication12.54 MBAdobe PDFView/Open    Request a copy


Items in BURA are protected by copyright, with all rights reserved, unless otherwise indicated.