高职教育中的《测试驱动开发》课程教学研究

时间:2022-10-09 06:59:08

高职教育中的《测试驱动开发》课程教学研究

摘 要: 近年国家经济结构的调整,使大学生的就业问题更加突出、严峻,一些传统的热门专业也被划为“红牌”专业,大学教育与社会需求脱轨,大学生缺乏的技能和实践锻炼无疑是造成大学生“就业难”的原因之一。本文结合目前软件技术专业的就业形势,分析高职院校的测试驱动开发课程的教学现状,探讨“三段式”实践性的教学法在测试驱动开发课程中的具体运用,提出了一些值得尝试的具体解决方法和建议,对学生提高学习效率和教师改进教学质量具有现实指导意义,有利于学生的专业知识和职业技能的提升,帮助他们尽快就业,适应社会需要。

关键词: 高职院校 软件技术专业 测试驱动开发课程 “三段式”实践性教学模式

1.引言

随着中国的经济的发展,经济结构不断优化,社会工业化和信息化的不断加剧,社会对人才的需求也悄然地发生了变化。麦可思研究院撰写的《2010年中国大学生就业报告》显示:一方面,一些传统的热门专业如计算机等在就业市场上遭遇就业寒潮,都出现了毕业生滞销现象,被划为“红牌”专业[1]。另一方面,在同样的经济形势下,高职高专毕业就业率增长幅度却高于本科[2]。

高职院校如何发挥其自身优势,摆脱“红牌”,促进软件技术专业的毕业生充分就业,这是一个需要思考和解决的问题。毫无疑问,在以“就业为导向”的高职院校中与时俱进地引入一门能突出综合职业能力素质的课程不失为解决之道。

《测试驱动开发》是一门综合软件开发和测试技术的课程,它介绍测试驱动开发技术的实施过程,使学生在软件开发、测试方面的职业能力得到提高,从而达到提升学生综合职业能力和素质的目的。从开发人员的角度,测试驱动开发技术使他们的代码整洁可用,可以有效地提高效率和编码质量,释放他们的潜能;从测试人员角度,测试驱动开发技术将帮助他们更容易完成从黑盒测试到白盒测试的职业转换,扩展职业空间,有利于职业的可持续发展。

2.测试驱动开发课程教学现状与分析

2.1教材专业性强,不适合初学者。

测试驱动开发是一种不同于传统软件开发流程的新型的开发方法,虽然近些年市面上已经有部分的教材,但是数量少,技术性强,并且忽视了学生的学习及心理结构,给教师的课堂教学活动增加了难度,达不到理想的教学效果。

2.2学生个体差异较大,缺乏知识迁移的能力。

测试驱动开发要求在编写某个功能的代码之前先编写测试代码,然后编写使测试通过的功能代码,通过测试来推动整个开发的进行[3],这就要求学生具备相关的程序设计和软件测试的理论知识和技能,并能有效地将两者结合运用于实际的项目中。通过前期相关课程(程序设计基础(C/C++)、Java程序设计、软件测试技术等)的学习,学生虽然已经了解了相关的理论知识,但是对其掌握却存在两极分化,个体差异较大,很多学生习惯孤立地学习某一门课程,缺乏知识迁移的能力,没有将理论知识用于解决实际问题的意识。

2.3教师企业经验匮乏,教学方法单一。

测试驱动开发课程作为高职院校一门新的课程,具有知识前沿、实践性强的特点,教师需要具有丰富的实际软件项目开发和测试经历,但是目前高职院校的大部分青年教师通常一毕业就上岗,很少有工厂经历、工程经历,很难结合项目、结合实际来进行教学,导致教师上课只能在讲台上念PPT,以“照本宣科”方式进行教学活动,不能在有限的课堂时间内教授给学生实用的职业技能,严重影响学生学习的积极性和教学效果。

3.“三段式”实践教学法

“三段式”实践教学法将教学过程分为“基础训练―仿真训练―实战训练”阶段,在测试驱动开发课程中通过恰当地引用可以有效地改变“学生难学,教师难教”的教学现状。

3.1基础训练。

基础训练阶段是针对测试驱动开发所需要的相关知识和技术的强化学习与训练的阶段。在这个阶段教师需要事先分析课程特点和学生学习的情况,充分了解学生已经具有的知识经验、认知结构和获得的技能情况。在教学过程中,教师以案例元[4]为载体,将教材上深奥的知识点融入各个案例元中,一方面,利用案例元可以由浅入深地强化学生已有的程序设计和测试理论基础,使之具备基本的编码和测试能力。另一方面,学生通过若干个针对性强的案例元,按照“测试―开发―重构”的步骤,反复实践,从而达到理解测试驱动开发的思想和特点,掌握测试驱动开发的流程和技术,最终达到提高代码质量、优化程序设计的目的。

3.2仿真训练。

仿真训练阶段是由具有丰富项目经验的教师或工程师与学生共同通过采用测试驱动开发技术模拟软件公司中真实项目的实现过程。在仿真训练阶段,通常在一段学习时间内,由教师安排一个较为完整的软件项目作为实训任务来实施教学活动。在这个阶段,学生将学习与工作相结合,教师仿照软件企业的项目管理形式组织学生,形成若干个项目研发组和质量管理组,每个学生团队需要承担软件开发、维护和评估项目质量的工作,教师则负责对学生进行严格的过程管理和考核,并给予他们相应的成绩和学分。在仿真训练阶段,学生在一个实践性和操作性强的现场教学情境下,以任务为驱动,团队为单位,通过扮演软件项目中的各种角色,不仅能培养动手能力和主动参与能力,而且能全面提高专业适应能力、应用实践能力、团结协作能力和可持续发展的能力,缩短学校教育与企业岗位能力要求的差距。

3.3实战训练。

实战训练阶段是在学生已经完成“基础训练”和“仿真训练”后进行的,此时他们一般已经具备了测试驱动开发的基本理论知识和技能,需要指导学生将理论知识转化为实际操作技能,实现与企业需求的“无缝”衔接。在实战训练阶段,学生可以运用测试驱动开发技术对真实的软件项目进行实战,可以采用的形式包括研究性学习、科研课题、顶岗实习等。在校内,学生在教师指导下,可以以教师承接的实际项目为真实的软件项目,参加研究性学习和科研课题。在校外,学生可以在学校安排进入校内实训基地或到专业相应对口的指定企业带薪实习,即“顶岗实习”,切实体会软件企业的真实项目开发实现过程。在实战训练阶段,学生通过参与研究性学习、科研项目等多种形式的产学结合、校企合作的真实软件项目开发实现工作,能提高综合运用知识并解决实际问题的能力,培养创新精神和实际技能;而作为学校教学的重要组成部分的“顶岗实习”,能使学生完全履行其实习岗位的所有职责,独当一面,培养严谨的工作作风、良好的职业道德和素质[5]。

4.结语

当前,面对求职人数的激增、经济增长的放缓,昔日的“热门专业”也逐渐变冷,在就业越来越困难的情况下,在校的大学生迫切希望学到迎合市场需求的课程,提高自我技能,增强就业竞争力。以“就业为导向”的高职院校,软件技术专业的学生多从事软件测试和软件代码的开发工作,软件质量和测试质量直接关系到这些学生的职业技术和竞争力[6],测试驱动开发课程作为一门结合开发和测试技术的综合性课程,在高职院校开设具有较强的现实意义。我通过分析高职院校测试驱动开发课程的教学现状,结合多年的教学实践探讨了“三段式”实践性教学模式在测试驱动开发中的具体运用,做到了“课上课下、校内校外、校企联合”之间的融合,帮助学生提高了学习成效,增强了职业技能,培养了职业素质,为其可持续发展奠定了基础。

参考文献:

[1].

[3]baike.省略/view/184088.htm.

[4]李传鸿.高职教育中“小三段式”课程教学模式的研究与探索.教育与职业,2008,(22).

[5]baike.省略/view/609536.htm.

[6]谢日星.高职高专教育中的测试驱动开发初探.现代企业教育,2007,(6).

上一篇:土木工程专业实习存在的问题及对策 下一篇:技工院校中肢体残疾学生的心理分析