Not Logged In

Analyzing The Effects of Test Driven Development In GitHub

Testing is an integral part of the software development lifecycle, approached with varying degrees of rigor by different process models. Agile process models recommend Test Driven Development (TDD) as a key practice for reducing costs and improving code quality. The objective of this work is to perform a cost-benefit analysis of this practice. To that end, we have conducted a comparative analysis of GitHub repositories that adopts TDD to a lesser or greater extent, in order to determine how TDD affects software development productivity and software quality. We classified GitHub repositories archived in 2015 in terms of how rigorously they practiced TDD, thus creating a TDD spectrum. We then matched and compared various subsets of these repositories on this TDD spectrum with control sets of equal size. The control sets were samples from all GitHub repositories that matched certain characteristics, and that contained at least one test file. We compared how the TDD sets differed from the control sets on the following characteristics: number of test files, average commit velocity, number of bug-referencing commits, number of issues recorded, usage of continuous integration, number of pull requests, and distribution of commits per author. We found that Java TDD projects were relatively rare. In addition, there were very few significant differences in any of the metrics we used to compare TDD-like and non-TDD projects; therefore, our results do not reveal any observable benefits from using TDD.

Citation

N. Borle, M. Feghhi, E. Stroulia, R. Greiner, A. Hindle. "Analyzing The Effects of Test Driven Development In GitHub". Empirical Software Engineering, 23(4), pp 1931-1958, August 2018.

Keywords: Test driven development, software engineering, analysis, Human factors in software development GitHub repositories, Continuous integration
Category: In Journal
Web Links: DOI
  URL in Journal

BibTeX

@article{Borle+al:EmpiricalSoftwareEngineering18,
  author = {Neil Borle and Meysam Feghhi and Eleni Stroulia and Russ Greiner
    and Abram Hindle},
  title = {Analyzing The Effects of Test Driven Development In GitHub},
  Volume = "23",
  Number = "4",
  Pages = {1931-1958},
  journal = {Empirical Software Engineering},
  year = 2018,
}

Last Updated: February 06, 2020
Submitted by Sabina P

University of Alberta Logo AICML Logo