arrow
Return

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

delete2017-09-01
delete14
delete
OA
AI
S
Simone Romano *
D
Davide Fucci
G
Giuseppe Scanniello
B
Burak Turhan
N
Natália Juristo
DOI:10.1016/j.infsof.2017.03.010delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
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), and (iv). Conclusions: Developers write quick-and-dirty production code to pass the tests, do not update their tests often, and ignore refactoring. (C) 2017 Elsevier B.V. All rights reserved.
Keywords:
Ethnographically-informed study
Qualitative study
Test driven development
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Information and Software Technology cover
Information and Software Technology
IF:
4.3
Papers:
3.8K
Citations:
7.7K

Organization

U
Universidad Politecnica de Madrid
Scholars:
1.4W
Papers: 1.2W
Citations: 10
U
University of Oulu
Scholars:
1.5W
Papers: 1.3W
Citations: 1.6W
U
University of Basilicata
Scholars:
3.2K
Papers: 3.0K
Citations: 3.2K
researcher View more organizations
Cited Papers

Cited Papers

Towards an operationalization of test-driven development skills: An industrial empirical study
err2015-12-01
err15
PREAI
errFucci, Davide; Turhan, Burak; Juristo, Natalia; Dieste, Oscar; Tosun-Misirli, Ayse; Oivo, Markku
errShare
errSave
The anterior process of the malleus in extant Lagomorpha (Mammalia)
err2017-10-25
err0
PREAI
errWolfgang Maier; Adrian Tröscher; Irina Ruf
errShare
errSave
Replications of software engineering experiments
err2013-12-05
err50
errOAAI
errCarver, Jeffrey C.; Juristo, Natalia; Baldassarre, Maria Teresa; Vegas, Sira
errShare
errSave
errShare
errSave
How We Refactor, and How We Know It
err2012-01-01
err327
PREAI
errMurphy-Hill, Emerson; Parnin, Chris; Black, Andrew P.
errShare
errSave
The Role of Ethnographic Studies in Empirical Software Engineering
err2016-08-01
err75
errOAAI
errSharp, Helen; Dittrich, Yvonne; de Souza, Cleidson R. B.
errShare
errSave
Channel Pruning via Optimal Thresholding
err2020-11-17
err0
PREAI
errYun Ye; Ganmei You; Jong-Kae Fwu; Xia Zhu; Qing Yang; Yuan Zhu
errShare
errSave
researcher View more