Test-driven learning in early programming courses

Test-driven learning in early programming courses
复制标题

DOI:
10.1145/1352135.1352315
复制
发表时间:
2008-03
期刊:
--
影响因子:
--
通讯作者:
David S. Janzen;H. Saiedian
David S. Janzen;H. Saiedian
中科院分区:
其他
文献类型:
--
作者:
David S. Janzen;H. Saiedian

文献摘要

被引文献

相似文献

强迫新程序员采用严格的开发实践,如彻底的单元测试,是一项具有挑战性的奋进。测试驱动开发(TDD)已经被提出作为一种解决方案,以改善软件设计和测试。测试驱动学习(TDL)已经被提出作为一种教学方法,用于教授TDD,而不会增加大量的额外教学时间。本研究评估了学生使用测试第一(TDD)与测试最后的方法在早期编程课程的影响,并考虑在有限的基础上使用TDL在CS 1和CS2。软件测试,程序员的生产力,程序员的表现,和程序员的意见进行了比较测试第一和测试最后的编程组。这项研究的结果表明,测试优先的方法可以提高学生测试和程序员的性能,但早期的程序员非常不愿意采用测试优先的方法,即使在使用TDD的积极经验。此外,这项研究表明,TDL可以应用于CS 1/2,但建议TDL更普遍的实施可能是必要的激励和建立纪律的测试实践中的早期程序员。
Coercing new programmers to adopt disciplined development practices such as thorough unit testing is a challenging endeavor. Test-driven development (TDD) has been proposed as a solution to improve both software design and testing. Test-driven learning (TDL) has been proposed as a pedagogical approach for teaching TDD without imposing significant additional instruction time. This research evaluates the effects of students using a test-first (TDD) versus test-last approach in early programming courses, and considers the use of TDL on a limited basis in CS1 and CS2. Software testing, programmer productivity, programmer performance, and programmer opinions are compared between test-first and test-last programming groups. Results from this research indicate that a test-first approach can increase student testing and programmer performance, but that early programmers are very reluctant to adopt a test-first approach, even after having positive experiences using TDD. Further, this research demonstrates that TDL can be applied in CS1/2, but suggests that a more pervasive implementation of TDL may be necessary to motivate and establish disciplined testing practice among early programmers.