Students’ and professionals’ perceptions of test-driven development: a focus group study

Department of Mathematics, Computer Science, and Economics, University of Basilicata, Potenza, Italy
Information Technology and Electrical Engineering, University of Oulu, Oulu, Finland
Facultad de Informatica, Universidad Politécnica de Madrid, Madrid, Spain
DOI
10.7287/peerj.preprints.1619v1
Subject Areas
Software Engineering
Keywords
test-driven development, focus group, qualitative investigation
Copyright
© 2015 Scanniello et al.
Licence
This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ PrePrints) and either DOI or URL of the article must be cited.
Cite this article
Scanniello G, Romano S, Fucci D, Turhan B, Juristo N. 2015. Students’ and professionals’ perceptions of test-driven development: a focus group study. PeerJ PrePrints 3:e1619v1

Abstract

We have conducted a qualitative investigation on test-driven development (TDD) with focus groups in order to develop insights on the opinions of developers using TDD regarding the unintuitive process involved, its claimed effects, as well as the context factors that can facilitate (or hinder) its application. In particular, we conducted two focus group sessions: one with professional developers and another with Master students in Computer Science at the University of Basilicata. We used thematic analysis template (TAT) method for iden- tifying patterns, themes, and interpretations in the gathered data. The application of this qualitative method allowed us to obtain a number of results that can provide directions for future research. Our main results can be summarized as follows: (i) applying TDD without knowing advanced unit testing techniques can be difficult; (ii) refactoring (one of the phases of TDD) is not done as often as the process re- quires; (iii) there is a need for live feedback to let developers understand if TDD is being applied correctly; and (iv) the usefulness of TDD hinges on task and domain to which it is applied to.

Author Comment

This is a preprint submission to PeerJ.