Loading [MathJax]/extensions/TeX/extpfeil.js
A Test-Driven Approach to Improving Student Contributions to Open-Source Projects | IEEE Conference Publication | IEEE Xplore

A Test-Driven Approach to Improving Student Contributions to Open-Source Projects


Abstract:

Test-driven development (TDD) promises to help students write high-quality code with fewer defects. Although many studies of TDD usage have been conducted in entry-level ...Show More

Abstract:

Test-driven development (TDD) promises to help students write high-quality code with fewer defects. Although many studies of TDD usage have been conducted in entry-level computer science courses, few have looked at more advanced students doing projects of larger scope, such as contributing to open-source software (OSS). To test the performance of the test-driven approach on OSS-based course projects, we conducted a quasi-experimental controlled study, which lasted for more than one month. Thirty-five masters students participated in our study. They worked on course projects in teams, half of which were assigned to the TDD group (using a test-driven approach), and the rest of which were assigned to the non-TDD group (using the traditional test-last approach). We found that students in the TDD group were able to apply test-driven techniques pragmatically-spending more than 20% of their time on average complying with the test-driven process-throughout the whole project. There were no major differences in the quality of source-code modifications and newly added tests between the TDD group and the non-TDD group; however, the TDD group wrote more tests and achieved significantly higher (12% more) statement coverage.
Date of Conference: 16-19 October 2019
Date Added to IEEE Xplore: 12 March 2020
ISBN Information:

ISSN Information:

Conference Location: Covington, KY, USA
Citations are not available for this document.

I. Introduction

The history of test-driven development (TDD) can be traced back to the 1950s. D.D. McCracken introduced the concept of TDD in his 1957 book Digital Computer Programming [1]. But TDD was not widely utilized until Kent Beck “rediscovered” the technique in 2003. In his book Test-Driven Development, Beck introduced the TDD mantra-“red/green/refactor” [2]. Since then, the test-driven approach has matured to a formal iterative process where developers (1) write failing tests for the code they are about to develop, (2) implement functionality to make the tests pass, and (3) refactor out any duplicated code. In another scenario, if initial tests pass, a developer can start refactoring existing code directly and keep the tests passing during development. The major benefits of this process are that it gives developers confidence in the soundness of their work, and it eases the burden of refactoring by quickly verifying that functionality has not changed.

Cites in Papers - |

Cites in Papers - IEEE (2)

Select All
1.
Muhammet Mustafa Olmez, Edward Gehringer, "Automation of Test Skeletons Within Test-Driven Development Projects", 2024 36th International Conference on Software Engineering Education and Training (CSEE&T), pp.1-10, 2024.
2.
Yunkai Xiao, Yinan Gao, Chuhuai Yue, Edward Gehringer, "Estimating Student Grades through Peer Assessment as a Crowdsourcing Calibration Problem", 2022 20th International Conference on Information Technology Based Higher Education and Training (ITHET), pp.1-9, 2022.
Contact IEEE to Subscribe

References

References is not available for this document.