课程思政视域下“软件测试”教学研究
作者: 潘家超
关键词:软件测试;课程思政;教学创新;教学方法;教学评价
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2024)25-0147-03
0 引言
软件测试是一种用来鉴定软件的正确性、完整性、安全性和质量的方法和过程,是现代软件产业不可缺少的重要环节。软件测试也是高等院校计算机相关专业的一门核心课程,在整个专业课程体系中占有十分重要的地位。这门课程是针对软件技术人员任职要求所设置的综合性课程,主要任务是通过对软件测试理论、测试方法、流程管理的学习,让学生学习完整的软件测试实践过程[1]。软件测试的性质和内容决定了这门课的理论性和实践性,对教师的授课能力提出了较大的挑战[2]。因此,如何改进软件测试这一课程的教学成了各高校教师的研究重点。目前针对软件测试课程的教学研究主要包括教学内容、教学方法和能力培养等方面,这些研究工作的目的大多数是如何有效地传授软件测试理论和培养学生理解、运用技术的能力,不够重视软件测试课程中应体现的育人功能,这就降低了软件测试课程思政的指引作用。目前有教师尝试在课程思政理念下对软件测试课程的教学进行探索改革,但与已形成稳定系统的专业知识相比,思政内容较为零散,没有形成体系化,导致课程思政变成课程和思政的简单叠加。针对这种情况,本研究重新建立软件测试课程体系,在新的体系下让思政内容融合于每个教学环节,将素质育人融入知识传授和能力培养当中,提升软件测试课程的质量和内涵。
1 教学目标定位
教学目标是指在教学活动中所期待得到的学习结果。在教学过程中,教学目标起着十分重要的作用,也是教学研究中务必清晰定义的问题[3]。要体现现代教育的理念,软件测试课程教学目标应包含专业目标和育人目标两个方面。在此背景下,我们根据计算机人才的培养目标和课程特点,重新梳理了软件测试课程的教学目标,并将教学目标归纳为三大类。
1.1 知识目标
知识目标是教学的主要部分,是学习者通过教学后所能掌握的基本学科专业知识。软件测试作为一门理工科课程,具有较强的理论性和系统性,我们经过多年的教学经验和企业调研,最终确立了以下几个知识模块作为软件测试课程的主要理论知识目标。
1) 了解软件测试的概念、模型、策略。
2) 掌握黑盒测试和白盒测试的原理和用例设计方法。
3) 掌握性能测试的概念和原理。
4) 了解测试项目管理和编写测试报告的方法。
1.2 技能目标
技能目标是指通过示范指导和练习形成的对完成某类任务所需的活动方式。软件测试作为软件生产活动中重要的环节,具有较高的职业技能要求,最后我们根据现代软件实践和企业开发流程制定了如下的技能目标:
1) 能够根据软件项目编写测试计划。
2) 能够进行常用的测试用例设计和测试执行。
3) 能够根据测试结果编写测试报告和测试总结。
1.3 素质目标
素质目标是课程思政的主要核心目标,也是本教学研究需要明确的关键问题。目前学界对软件测试课程的教学目标在育人功能的认识上仍不够全面和系统化。在以思政为导向的课程建设中,需要重新定位软件测试课程的教学目标,使得计算机专业的学生能够在学习软件测试理论和技术的过程中全面提升综合素质。在梳理软件测试课程思政目标的基础上,将课程的素质目标概括为三类:
1) 个人修养。软件测试课程是计算机专业的核心专业课,教学内容具有严谨的理论性,结合软件工程专业的培养要求,该学科的学生应该具有严谨的科学思维和探索能力。
2) 职业素养。软件测试课程应注重培养学生分析和解决问题的能力,最终目标是能够学以致用,顺利参与现代社会信息化生产中。同时,学生应该具备遵守职业道德、具有良好的沟通协作等工程师应具备的职业素养。
3) 理想信念。信息产业是建立在现代科学理论基础之上的新兴产业,是一门带有高科技性质的服务性行业。为推动信息行业的发展和现代工业进步,在教学过程中应培养学生的责任感和使命感,树立为国家信息产业贡献力量的理想和信念。
以上是软件测试课程的教学目标主线,通过知识目标,能力目标,素质目标贯穿整个软件测试课程。同时,着重构建了素养目标,并且将素养目标分割成个人修养、职业素养和理想信念,将科学工作者的严谨性、软件工程师的职业规范、推进国家工业化发展的信念,全方位、分层次、多维度地融入教学全过程。摆正了课程思政的目标,有效提升了软件测试课程的质量和内涵。
2 教学内容设计
传统的软件测试课程的教学内容属于模块化的知识体系,主要编排了软件测试概念和软件测试基本理论,以传授理论知识为主,不重视具体的实践操作和应用场景,学生不感兴趣,思政教学理念也体现不出来。围绕培养新时代计算机专业人才的教学目标,基于现代软件工程的认识和软件测试技术的发展,需要把知识传授、能力培养、素质提升“三位一体”的软件测试内容融入课程体系当中。最终,我们将教学内容设置成6个模块,每个模块包含一个章节的软件测试内容和一系列对应的思政内容[4],在教学内容上做到深度和广度相结合,理论和实践相结合,体现课程教学的创新性和挑战性,教学内容如表1所示。
3 教学方法的改进
教学方法是指为了达到教学目的,完成教学任务,在一定的教学理念和教学原则指导下的方法。教学方法是教师教的方法,又包括了学生在教师指导下的学习方法,是教师教的方法和学生学的方法在教学活动中的高度融合和有机统一[6]。为了让学生能够在学习专业知识的同时提高职业技能和综合素养,我们引入了多种教学方法提升教学效果,具体方法措施如下。
3.1 把思政内容融入专业知识中讲授
专业课的理论教学应当结合知识原理和知识价值的讲解,从而将“教书”作为“育人”的重要基础。在教学过程中让学生在获得专业课知识的同时,把学生的职业目标和社会发展捆绑在一起。在传递知识价值的过程中,让学生感受到这门课程的社会意义,培养起对专业知识和专业技能的认同,由衷希望利用这门技术去推动工业进步[7]。因此,我们改变传统的教学方式,将思政内容和知识价值融入专业课堂中。比如,在讲授“软件测试”课程时,增加了测试和生活、软件和社会等知识,讲授如何用测试知识来理解这个世界,解决生活中的问题。通过软件测试价值的讲授,让学生对软件测试知识的意义有更深刻的理解,增强为国家信息化建设贡献青春的动力。
3.2 把实践性知识融入理论知识中讲授
专业课中知识的讲授应包括理论讲授和实践教学。作为软件测试的基本概念、基本理论需要教师重点讲解,包括理论的来源依据和推理过程,以及该理论的优缺点局限性等均需做详尽的介绍。除此以外,也应该讲解不同理论的适用场景,以案例的形式引导学生运用对应的理论和技术方法进行实践探究。比如,在黑盒测试中,与学生一同探究具体软件的边界情景,培养学生的全面思考问题能力。在性能测试中,和学生分享“双11”期间各大电商的极限场景,在与学生探测软件性能极限的同时,也思考自己人生的极限。通过在讲授中融入实践性知识和场景,让学生更深刻地理解知识。
3.3 利用智慧教室把练习环节融入教学中
练习法是学生在教师的指导下运用知识、形成技能的方法。软件测试是一门具有极强操作性要求的技能,需要在同组成员沟通和反复训练中习得。为此我们在多个教学专题中设置了实践练习环节,并且对练习案例进行了精心筛选打磨,让学生在经过理论学习和了解具体场景后进入实践练习环节。为了让学生更方便组队和模拟真实的实践场景,我们利用智慧教室以及现代教育技术让学生以群组的方式完成模块化作业,并且通过演示汇报的方式对整个软件测试任务形成闭环。通过这种全真模拟练习,让学生在练习环节中得到教师的实时反馈和改进,最后达到融会贯通、学以致用的目的。
3.4 拓展延伸对标科创项目
大学生科技创新活动既是高校管理教学过程中的重要环节,又是高校实施创新人才培养的重要举措。在日常教学中发掘和提升学生的科创能力具有十分重要的意义。我们通过对学生作业的完成情况以及课堂互动,充分了解学生的学习情况,对学有余力和感兴趣的学生给予个性化辅导。针对不同的学生采用引导式教学方法,积极探索不同的科研方向,并在此基础上尽可能高质量地开发创新项目,构成了较为系统完整的科创实践环节。同时鼓励学生在此基础上自主申报各类创新项目和参加各类竞赛。通过系统的科创项目训练和竞赛,团队成员能够不断完善项目细节,专业技能和各方面能力也能得到全面提升。
4 教学评价的革新
软件测试课程考核评价比较多样化,以往较多是以期末考试的形式考查学生对理论知识的掌握程度,也有通过期末大作业的形式考查学生对软件测试的实践能力。但总体而言,缺乏从理论到实践,从部分到整体的综合性考查,学生也因此缺乏各实践内容的完整训练。而软件测试课程的教学目标,应该是培养学生运用所学理论知识指导具体的生产实践,同时在实践过程中,能够培养作为软件从业者的职业素养以及作为社会公民必备的道德品质。因此,我们制定了包括理论知识、实践能力、个人素质的综合考核方案。方案包括考核方式、考核内容、评分标准等,对学生的专业能力和政治素养进行全过程评价的综合考查[8]。具体内容和量化形式见表2所示。
5 结束语
以上在课程思政视域下对软件测试课程进行了重新设计,以满足立德树人的教育目标和要求。总体来看,本课程教学的创新有以下两方面:体现了本专业特点,融入信息时代工业发展的内涵。信息产业是国家综合实力的重要支撑,在整个产业链各环节都需要高素质的软件测试人员。本课程将专业知识、工作技能和个人素养融合到教学中,学生既掌握了扎实的专业技能,又具有过硬的职业素养,将教书和育人有机结合起来,体现了信息化时代的专业课程特色。
形成了“理论”+“实践”的专题教学模式。理论和实践相辅相成,缺一不可。本课程在传授理论知识的同时,强调实践能力的培养,发挥了学生的主体性,提高了学生解决复杂工程问题的能力。课程设计了多个实践模块活动,分别考查训练了学生的测试知识和实践技能,以便培养学生的专业能力和职业素养。