An experimental evaluation of test driven development vs. test-last development with industry professionals
2014 (English)Conference paper (Refereed) Published
Test-Driven Development (TDD) is a software development approach where test cases are written before actual development of the code in iterative cycles. Context: TDD has gained attention of many software practitioners during the last decade since it has contributed several benefits to the software development process. However, empirical evidence of its dominance in terms of internal code quality, external code quality and productivity is fairly limited. Objective: The aim behind conducting this controlled experiment with professional Java developers is to see the impact of Test-Driven Development (TDD) on internal code quality, external code quality and productivity compared to Test-Last Development (TLD). Results: Experiment results indicate that values found related to number of acceptance test cases passed, McCabe's Cyclomatic complexity, branch coverage, number of lines of code per person hours, number of user stories implemented per person hours are statistically insignificant. However, static code analysis results were found statistically significant in the favor of TDD. Moreover, the results of the survey revealed that the majority of developers in the experiment prefer TLD over TDD, given the lesser required level of learning curve as well as the minimum effort needed to understand and employ TLD compared to TDD.
Place, publisher, year, edition, pages
London: ACM , 2014.
TDD, test-driven development, test-last development, experiment, professionals
IdentifiersURN: urn:nbn:se:bth-6486DOI: 10.1145/2601248.2601267Local ID: oai:bth.se:forskinfoE94E760FA5E1D89DC1257DA8006E20ACISBN: 978-1-4503-2476-2OAI: oai:DiVA.org:bth-6486DiVA: diva2:834004
International Conference on Evaluation and Assessment in Software Engineering (EASE)