Results from an ethnographically-informed study in the context of test driven development

Simone Romano, Davide Fucci, Giuseppe Scanniello, Burak Turhan, Natalia Juristo

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

11 Citations (Scopus)

Abstract

Background: Test-driven development (TDD) is an iterative software development technique where unit tests are defined before production code. Previous studies fail to analyze the values, beliefs, and assumptions that inform and shape TDD. Aim: We designed and conducted a qualitative study to understand the values, beliefs, and assumptions of TDD. In particular, we sought to understand how novice and professional software developers, arranged in pairs (a driver and a pointer), perceive and apply TDD. Method: 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) participated in our ethnographicallyinformed study. We asked the participants to implement a new feature for an existing software written in Java. We immersed ourselves in the context of the study, and collected data by means of contemporaneous field notes, audio recordings, and other artifacts. Results: A number of insights emerge from our analysis of the collected data, the main ones being: (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, (iv) participants first build a sort of mental model of the source code to be implemented and only then write test cases on the basis of this model; and (v) apart from minor differences, professional developers and students applied TDD in a similar fashion. Conclusions: Developers write quick-and-dirty production code to pass the tests and ignore refactoring.Copyright is held by the owner/auther(s).

Original languageEnglish
Title of host publicationProceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering 2016, Limerick, Ireland, EASE'16
EditorsBarbara Kitchenham, Stephen G. MacDonell
Place of PublicationNew York NY USA
PublisherAssociation for Computing Machinery (ACM)
Pages37-46
Number of pages10
ISBN (Electronic)9781450336918
DOIs
Publication statusPublished - 2016
Externally publishedYes
EventInternational Conference on Evaluation and Assessment in Software Engineering 2016 - Limerick, Ireland
Duration: 1 Jun 20163 Jun 2016
Conference number: 20th
https://dl.acm.org/citation.cfm?id=2915970 (Proceedings)

Conference

ConferenceInternational Conference on Evaluation and Assessment in Software Engineering 2016
Abbreviated titleEASE 2016
Country/TerritoryIreland
CityLimerick
Period1/06/163/06/16
Internet address

Keywords

  • Ethnographically-informed study
  • Qualitative study
  • Test driven development

Cite this