Findings from a multi-method study on test-driven development

Romano, Simone and Fucci, Davide and Scanniello, Giuseppe and Turhan, Burak and Juristo Juzgado, Natalia (2017). Findings from a multi-method study on test-driven development. "Information and Software Technology", v. 89 ; pp. 64-77. ISSN 0950-5849. https://doi.org/10.1016/j.infsof.2017.03.010.

Description

Title: Findings from a multi-method study on test-driven development
Author/s:
  • Romano, Simone
  • Fucci, Davide
  • Scanniello, Giuseppe
  • Turhan, Burak
  • Juristo Juzgado, Natalia
Item Type: Article
Título de Revista/Publicación: Information and Software Technology
Date: September 2017
Volume: 89
Subjects:
Freetext Keywords: Ethnographically-informed Study; Qualitative Study; Test Driven Development
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (3MB) | Preview

Abstract

Context: Test-driven development (TDD) is an iterative software development practice where unit tests are defined before production code. A number of quantitative empirical investigations have been conducted about this practice. The results are contrasting and inconclusive. In addition, previous studies fail to analyze the values, beliefs, and assumptions that inform and shape TDD. Objective: We present a study designed, and conducted to understand the values, beliefs, and assumptions about TDD. Participants 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 field 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 up-to-date, and (iv) participants first 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 findings: (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.

More information

Item ID: 50841
DC Identifier: http://oa.upm.es/50841/
OAI Identifier: oai:oa.upm.es:50841
DOI: 10.1016/j.infsof.2017.03.010
Official URL: https://www.sciencedirect.com/science/article/pii/S0950584917302550
Deposited by: Memoria Investigacion
Deposited on: 19 Dec 2018 08:40
Last Modified: 19 Dec 2018 08:40
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM