Advanced

An experimental evaluation of test driven development vs. test-last development with industry professionals

Munir, Hussan LU ; Wnuk, Krzysztof LU ; Petersen, Kai and Moayyed, Misagh (2014) EASE '14 Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering In [Host publication title missing]
Abstract
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... (More)
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. (Less)
Please use this url to cite or link to this publication:
author
organization
publishing date
type
Chapter in Book/Report/Conference proceeding
publication status
published
subject
in
[Host publication title missing]
editor
Shepard, Martin
conference name
EASE '14 Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering
external identifiers
  • Scopus:84905455469
DOI
10.1145/2601248.2601267
language
English
LU publication?
yes
id
03390ecf-7e88-44fb-b2ff-aedcc1968f83 (old id 4697166)
date added to LUP
2014-10-14 14:11:43
date last changed
2016-10-13 05:01:06
@misc{03390ecf-7e88-44fb-b2ff-aedcc1968f83,
  abstract     = {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.},
  author       = {Munir, Hussan and Wnuk, Krzysztof and Petersen, Kai and Moayyed, Misagh},
  editor       = {Shepard, Martin},
  language     = {eng},
  series       = {[Host publication title missing]},
  title        = {An experimental evaluation of test driven development vs. test-last development with industry professionals},
  url          = {http://dx.doi.org/10.1145/2601248.2601267},
  year         = {2014},
}