کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
549852 872445 2011 17 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Impact of test-driven development on productivity, code and tests: A controlled experiment
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر تعامل انسان و کامپیوتر
پیش نمایش صفحه اول مقاله
Impact of test-driven development on productivity, code and tests: A controlled experiment
چکیده انگلیسی

ContextTest-driven development is an approach to software development, where automated tests are written before production code in highly iterative cycles. Test-driven development attracts attention as well as followers in professional environment; however empirical evidence of its superiority regarding its effect on productivity, code and tests compared to test-last development is still fairly limited. Moreover, it is not clear if the supposed benefits come from writing tests before code or maybe from high iterativity/short development cycles.ObjectiveThis paper describes a family of controlled experiments comparing test-driven development to micro iterative test-last development with emphasis on productivity, code properties (external quality and complexity) and tests (code coverage and fault-finding capabilities).MethodSubjects were randomly assigned to test-driven and test-last groups. Controlled experiments were conducted for two years, in an academic environment and in different developer contexts (pair programming and individual programming contexts). Number of successfully implemented stories, percentage of successful acceptance tests, McCabe’s code complexity, code coverage and mutation score indicator were measured.ResultsExperimental results and their selective meta-analysis show no statistically significant differences between test-driven development and iterative test-last development regarding productivity (χ2(6) = 4.799, p = 1.0, r = .107, 95% CI (confidence interval): −.149 to .349), code complexity (χ2(6) = 8.094, p = .46, r = .048, 95% CI: −.254 to .341), branch coverage (χ2(6) = 13.996, p = .059, r = .182, 95% CI: −.081 to .421), percentage of acceptance tests passed (one experiment, Mann–Whitney U = 125.0, p = .98, r = .066) and mutation score indicator (χ2(4) = 3.807, p = .87, r = .128, 95% CI: −.162 to .398).ConclusionAccording to our findings, the benefits of test-driven development compared to iterative test-last development are small and thus in practice relatively unimportant, although effects are positive. There is an indication of test-driven development endorsing better branch coverage, but effect size is considered small.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Information and Software Technology - Volume 53, Issue 6, June 2011, Pages 557–573
نویسندگان
, ,