DocumentCode :
34654
Title :
Effects of Developer Experience on Learning and Applying Unit Test-Driven Development
Author :
Latorre, Roberto
Author_Institution :
Univ. Autonoma de Madrid, Madrid, Spain
Volume :
40
Issue :
4
fYear :
2014
fDate :
Apr-14
Firstpage :
381
Lastpage :
395
Abstract :
Unit test-driven development (UTDD) is a software development practice where unit test cases are specified iteratively and incrementally before production code. In the last years, researchers have conducted several studies within academia and industry on the effectiveness of this software development practice. They have investigated its utility as compared to other development techniques, focusing mainly on code quality and productivity. This quasi-experiment analyzes the influence of the developers´ experience level on the ability to learn and apply UTDD. The ability to apply UTDD is measured in terms of process conformance and development time. From the research point of view, our goal is to evaluate how difficult is learning UTDD by professionals without any prior experience in this technique. From the industrial point of view, the goal is to evaluate the possibility of using this software development practice as an effective solution to take into account in real projects. Our results suggest that skilled developers are able to quickly learn the UTDD concepts and, after practicing them for a short while, become as effective in performing small programming tasks as compared to more traditional test-last development techniques. Junior programmers differ only in their ability to discover the best design, and this translates into a performance penalty since they need to revise their design choices more frequently than senior programmers.
Keywords :
learning (artificial intelligence); program testing; software quality; UTDD; code quality; learning; productivity; software development; unit test-driven development; Context; Production; Programming profession; Software; Testing; Training; Test-driven development; process conformance; programmer productivity; software construction; software engineering process; software quality/SQA; test-first design;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/TSE.2013.2295827
Filename :
6690135
Link To Document :
بازگشت