Memorias de investigación
Research Publications in journals:
Findings from a multi-method study on test-driven development
Year:2017

Research Areas
  • Information technology and adata processing

Information
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.
International
Si
JCR
Si
Title
Information And Software Technology
ISBN
0950-5849
Impact factor JCR
2,694
Impact info
Volume
89
10.1016/j.infsof.2017.03.010
Journal number
From page
64
To page
77
Month
SEPTIEMBRE
Ranking
16/106
Participants
  • Autor: Simone Romano University of Basilicata
  • Autor: Davide Fucci University of Oulu
  • Autor: Giuseppe Scanniello University of Basilicata
  • Autor: Burak Turhan University of Oulu
  • Autor: Natalia Juristo Juzgado UPM

Research Group, Departaments and Institutes related
  • Creador: Grupo de Investigación: Ingeniería del Software