Effects of Developer Experience on Learning and Applying Unit Test-Driven Development

Author(s): Roberto Latorre
Venue: IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
Date: APRIL 2014

Type of Experiement: Quasi-Controlled Experiment
Sample Size: 30
Class/Experience Level: Professional
Participant Selection: e industrial developers with computing degrees and several years of experience using traditional methodologies based on test-last development strategies
Data Collection Method: Survey, Code Metric, Project Artifact(s)

Quality
4

The author of Effects of Developer Experience on Learning and Applying Unit Test-Driven Development (“UTDD Effects”) evaluates the difficulty of learning UTDD by professionals without any prior experience in the technique, in order to evaluate the possibility of using TDD as an effective solution to take into account in real projects.

Prior to the presentation of details of the study, the author of UTDD Effects first formalizes the UTDD process into steps of execution, types of programming tasks, and a standardized metric to estimate the extent to which the research subjects remained faithful to the principles of UTDD. Then, he illustrates the details of study, underlining: the criteria for selecting their subjects, who were industry professionals with computing degree with no prior experience with UTDD; the study material presented to the subjects for applying UTDD to back-end Java application development; design of the study; and how the study variables and data were collected using questionnaires and tracking tools such as Eclipse (IDE) plugins.

Despite a few potential threats to validity he identifies, in analyzing the study results with Concordion Acceptance Test Correctness and Completeness, Learning Process, Programming Efficiency, and Retention ability, the author of UTDD Effects concludes that skilled developers with the appropriate knowledge and without any prior experience in test-first development can quickly learn UTDD rules and, after practicing them for a short while, properly apply them in small programming tasks.

In addition to his final statement of conclusions, the author also includes a brief remark on lack of good design abilities in junior programmers suggested by his study, and cites studies by D. Janzen, J. Clements, O. Dekhtyar, et al., that raises “an interesting question” regarding the possibility of incorporating UTDD into the undergraduate curriculum to improve the students ability to design.

0