Does test-driven development improve class design? A qualitative study on developers’ perceptions

Maurício Aniche, Marco Aurélio Gerosa

Research output: Contribution to journalArticlepeer-review

4 Scopus citations


Background: Developers commonly affirm that writing unit tests improve internal quality of a software, besides a more obvious effect on external quality. This is particularly common among Test-Driven Development (TDD) pactitioners, who leverage the acting of writing tests to think about and improve class design. However, it is not clear how this effect occurs. Methods: This study investigates the developers’ perceptions on how the practice of TDD influences class design, by means of a qualitative study with 25 participants from 6 different companies in Brazil. In this paper, we share their opinions and experience. Results: According to them, the practice of test-driven development does not drive directly the design, but gives them a safe space to think, the opportunity to refactor constantly, and subtle feedback given by unit tests, are responsible to improve the class design. Conclusions: We suggest developers to experiment the practice of TDD, as its effects look positive to software developers. As future work, tools may be developed to automatically warn developers about classes that have testability problems, or even to suggest them to practice TDD in specific parts of the code.

Original languageEnglish (US)
Article number15
JournalJournal of the Brazilian Computer Society
Issue number1
StatePublished - Dec 10 2015
Externally publishedYes


  • Agile methodologies
  • Class design
  • Test-driven development
  • Unit testing

ASJC Scopus subject areas

  • General Computer Science


Dive into the research topics of 'Does test-driven development improve class design? A qualitative study on developers’ perceptions'. Together they form a unique fingerprint.

Cite this