Prof. CI:利用持续集成服务与 Github 工作流教授测试驱动开发
软件工程
2018-09-05 v1
摘要
利用大规模开放在线课程(MOOC)教授编程因其可扩展性与知识分发效率而日益流行。然而,参与这些课程通常意味着完全使用浏览器中提供的编程环境。虽然这带来了一致且可控的设置,但学习者无法获得实际使用开发工具(如本地代码编辑器、测试框架、问题追踪器或持续集成(CI)服务)的经验,而这些对于后续的真实项目至关重要。此外,MOOC 中待开发功能的测试往往已经提供,只需执行即可,导致学习者在编写恰当测试方面的参与度较低。为了在保持高度自动化与可扩展性的同时解决这些问题,我们开发了 Prof. CI,一种开展在线练习的新方法。Prof. CI 利用开发者日常使用的现有自动化基础设施,即 CI 服务和 Github 工作流,来教授测试驱动开发(TDD)实践。参与者在 Github 上操作自己的仓库,并在推送代码时从 CI 服务器接收反馈与新挑战。我们已在一个有 30 名本科生学习 Ruby on Rails 网页开发框架的试点项目中成功应用该方法。我们的评估表明,该练习有效提升了学生为其代码编写测试的动机。我们还展示了参与者调查、学生体验与教师观察的结果。
引用
@article{arxiv.1809.00580,
title = {Prof. CI: Employing Continuous Integration Services and Github Workflows to Teach Test-driven Development},
author = {Christoph Matthies and Arian Treffer and Matthias Uflacker},
journal= {arXiv preprint arXiv:1809.00580},
year = {2018}
}