APP下载

软件测试与质量课程混合式教学改革与实践研究

2024-12-12李小亚蔡妍

电脑知识与技术 2024年29期

关键词:软件测试与质量;线上线下;混合式教学;改革;实践

0 引言

软件测试作为保障软件质量的重要环节,越来越受到社会和行业的关注。为了满足社会对软件测试人才的需求,许多高校开设有软件测试课程或软件测试专业,旨在培养学生的软件测试理论知识和实践技能[1]。然而,传统的课堂教学利用PPT进行讲解,在实验室机房进行实践教学,由于受到时间、地点和教师资源的限制,往往难以满足学生的学习需求。为了调动学生的学习兴趣,提高学生的自我管理和自主学习能力,为学生提供差异化、个性化教学,需要对传统的教学方式进行改革。随着网络技术的不断发展,各种MOOC、SPOC在线课程层出不穷,利用线上线下混合式教学方式,为软件测试与质量课程的教学改革提供了新的思路。

本文探讨软件测试与质量课程的线上线下混合式教学方式的改革与实践。首先,对传统软件测试与质量课程教学的现状和存在的问题进行了分析,阐述了线上线下混合式教学的必要性和优势;其次,详细介绍线上线下混合式教学的实施方案,包括教学内容设计、教学资源建设、教学模式改革、教学过程实施等方面;最后,分享教学实践成果和经验,并探讨未来软件测试与质量课程线上线下混合式教学的发展趋势[2]。希望通过本文的探讨,能够对软件测试课程的线上线下混合式教学改革提供一些有益的参考和启示,推动软件测试人才的培养向着更高水平迈进。同时也希望能够对其他专业的线上线下混合式教学改革的推进起到一定的借鉴作用,共同促进高等教育的发展。

1 存在的问题

软件测试与质量作为软件工程专业的必修课,涉及的知识面非常广,需要学生具备一定的计算机基础知识。学生需要先修过计算机组成原理、操作系统原理、计算机网络、数据库原理、程序设计语言等基本的软硬件课程,才能学习软件测试与质量这门课。学生普遍认为该门课程知识内容过多且枯燥、理论与实践难以衔接、内容过于空虚、知识逻辑性差、学完就忘等[3]。软件测试与质量课程在教学过程中存在以下一些问题。

1.1 理论与实践脱节

软件测试是一门实践性很强的学科,但目前的教材和课堂教学往往偏重于理论,导致学生在实际操作中无法充分理解和应用所学知识,出现理论学习与实际操作脱节的现象。例如讲解静态测试中代码的走查、审查和评审时[4],老师及学生往往缺乏项目开发的实际经验,对代码审查和评审的组织形式、组织方式及实施过程缺乏直观的理解,认识与实践有相当的差距,大多数的知识理解来源于课本,无实战经历和经验。

1.2 缺乏真实的测试环境

由于软件测试的实践需要大量的时间和资源,学生往往无法真实地模拟测试环境进行实战操作,这使得学生在实际操作中难以快速适应真实的测试环境。真实的测试环境往往难以获取,尤其是在做性能测试时,对真实环境的压力非常大,往往会把测试过程当作黑客的攻击行为,测试的账号很容易被管理员锁死封存,无法继续进行测试。

1.3 难以满足学生的需求

目前软件测试课程往往采用传统的教学方法,如讲授、演示和实践等,这种单一的教学模式难以激发学生的学习主动性和学习兴趣,也无法满足不同学生差异化、个性化学习需求。这门课程开设在大学三年级的第二学期,很多学生面对自己的前途,选择不同的就业途径,如考公、考研、出国、就业等,学生的心态往往比较浮躁,受周围同学的影响比较大,很难静下心来学习,请假之事时有发生。另外,随着互联网技术的发展,社会上各种资源都可以利用,学生可以随时随地地查询自己不懂的问题,强于询问老师而经常不能得到及时的回复。

2 具体改革措施

针对软件测试与质量课程使用传统教学方法存在学生学习兴趣不高、理论难懂、动手能力差等问题,提出在学校自建的励儒云教学平台上进行混合式教学改革与创新,重新组织和建设线上线下教学内容、实践任务及课程评价方式,建立以学生为中心的教学体系,实施预习、检测、练习、评估、改进的一体化教学方法,同时引入课程思政,实现教书育人的目标,培养出具有丰富知识、创新能力和科学使命感的复合型高素质人才。

2.1 提前布置教学任务

利用雨课堂提前一周发布下周的教学计划及学习内容,包括理论知识和实践操作。引导学生提前预习,主动学习,带着问题到课堂上学习。理论课上主要讲解知识的难点和重点,预留更多时间与学生进行互动交流或讨论问题。实验课上要求学生根据老师布置的实验任务先预看视频再实践,对实验过程中遇到的特殊概念理解、性能指标要求等进行讲解,并解决同学们实践过程中遇到的普遍性操作错误,过程理解不透等问题。

2.2 数字化资源建设

对课程进行大量充足的数字化资源建设是进行线上线下混合式教学改革的先决条件。在数字化课程的开发上,要充分对接课堂教学的需求,以课程教学目标为导向,不断优化课程资源。除了传统的教材、课件、作业等资源外,还开设了另外几大模块:理论知识重难点视频、实验操作视频、阶段性测试、互动交流问答、思维训练、其他资源、实验大作业等。其中实验操作视频包括功能测试视频和性能测试视频。思维训练主要通过实际案例,训练学生的测试思维。整个教学过程中,通过提前布置任务,学生任务引领的方式,为学生自主学习提供契机。利用课堂数字化资源,学生不受空间、时间、地点的限制,随时随地都可以利用手机、电脑、平板等进行学习。

2.3 学生项目为测试对象

软件测试实验过程中最大的困难来自寻找合适的测试对象。例如要做功能测试或性能测试,如果使用公开的门户网站作为测试对象,由于学生上课时一般都有几十人甚至上百人,若同时进行在线测试,对网站的压力巨大,往往会被网站管理员当成黑客恶意攻击行为而被封号,无法继续进行测试,这样的事件在开设软件测试课程的几年前经常发生。为了能让测试实验能够完整进行下去,决定选择学生自己开发的网站作为测试对象。学生自己开发的网站主要来源于三个方面:学生进行《中级软件实作》课程时开发的网站;学生在《Web前端开发》课程中完成的大作业时开发的网站;学生进行创新创业实践项目时开发的网站。有些网站可能是几个同学一起开发的,允许学生在软件测试过程中组成测试团队,对同一个网站进行功能测试和性能测试。这样处理既能对学生自己开发的网站进行评估,及时发现不合理的地方进行改进完善,又能培养学生的团队合作精神和科学精神。

2.4 体验企业测试过程

为了让学生感受真实的企业测试过程,学院与广东省农商银行等企业进行校企合作,拉专线进入校园,建设单独的软件测试实验室。每年利用两周课程教学的时间引入企业导师来上课。通常企业拿出项目中需要简单测试的模块或者小的子项目,引导学生体验真实的企业测试过程,主要执行三个步骤,测试用例的撰写、测试用例的执行和评价,学生反馈良好,希望增加更多的课时。同时也让企业有机会筛选出优秀的学生,引入企业作为实习生,作为企业的后备力量。

2.5 定期小测

教学过程中实时掌握学生的学习状况是教学执行过程中的一个难点,传统上往往通过批改学生作业来查看学生的知识掌握程度,随着互联网时代的发展,现在许多作业都实施无纸化,只交电子版作业。但电子版作业也有存在一些问题,复制粘贴很容易,很难分辨出学生是否有抄袭行为。另外,在传统的课堂教学模式下,对学生的学习考核通常是在期末以“试卷”形式考查学生对知识的学习和掌握程度。这种终结性评价一般在课程学习结束之后进行,无论考试结果如何,学习过程都已经完结,因而很难通过终结性评价来纠正教学过程中的问题和不足[5]。为了实时检验学生的学习效果,课程将软件测试的知识分为五大模块:软件测试基本知识、黑盒测试、白盒测试、综合应用、测试管理及工具应用。每讲完一个模块的内容,就进行一次随堂测试,及时了解学生的学习状态和知识掌握程度。对学生存在的普遍性问题进行集中讲解,对测试成绩不理想的同学,进行面对面谈话,及时了解学生的学习状态并进行提醒,促进学生自觉学习。

2.6 师生交流改进教学

每到一个学期的第9周左右,老师就要求班级学习委员收集本班学生对课程的意见和建议,并随机抽调部分学生代表在约定的时间与老师进行面对面深入交流,倾听学生对本课程的建议,及时调整教学方法,满足学生的合理需求,提高教学质量。若由于客观原因无法满足的诉求,与学生进行充分讨论,尽量给予学生满意的答复。通过与学生面对面互动交流,不但能拉近师生的距离,增进师生情谊,还能了解不同学生的不同诉求和心理,给予学生正面的反馈和预期,及时改进教学方式方法,以学生为中心,适应学生的变化,尽力提高教学质量。

2.7 期末完成大作业

学期期末的最后4周时间,要求学生完成实验为主的大作业,可以选择功能测试或性能测试。实验大作业将本学期的实验内容全部串联起来,为完成特定任务而进行的综合性大实验。这个过程能够强化前期所学知识,以解决实际问题为目标,不断克服困难,不断学习,培养学生的综合能力和工程创新能力。例如,学生如果选择性能测试作为大作业,首先要明确测试对象,然后要确定测试的性能指标,之后还要学会搭建测试系统,掌握不同操作系统之间如何通信,最后才进行基准测试、并发测试、压力测试、联机测试等一系列测试操作,最后还要分析测试结果,分析测试中发现的系统瓶颈,并根据实际情况进行改进,再测试,再分析,不断改进测试中发现的问题。最后将测试过程及结果撰写成测试报告,总结个人的得失等等。整个大作业期间,需要反复地检验、校正、改进,耗时很多,学生经常会额外增加时间才能完成,但对学生的能力提升大有益处。

2.8 课程中融入思政元素

在教学的过程中适当加入思政元素,思政与知识相融合[6]。例如在讲解软件的缺陷时,提前要求学生组成团队对我国软件行业进行调研,了解我国软件行业相较于国外的现实差距、薪资水平等,然后在教学中对我国软件的现状进行讨论,并要求学生提出一些改变现状的措施。通过团队调研,了解我国软件市场、薪酬等方面整体的落后面貌,让学生认识到我国软件行业的整体差距,增强学生的责任感、提升学生的爱国心,培养学生的团队合作精神。

3 考核方式改革

不同于传统的期末闭卷考核方式,混合式教学加大了平时过程化考核的分值,为调动学生参与学习的主动性、积极性,检验学生预习效果及学习成果的达成度,同时为教学的持续改进提供参考,课程考核方式拓展为线上和线下两部分,不断加强全过程、全方位考核,细化、量化学习成果[7]。同时为了避免学生期末突击通过考试就能拿到学分,提高平时学生的参与度,把期末笔试的总成绩比例降至40%。课程考核的细则如表1所示。

4 效果与反思

结合毕业生要求达到的能力和课程目标,构建运用过程化评价体系。这样的体系结构既考虑了学生日常的过程学习、自主学习效果,又考虑了学生最后的知识掌握程度及能力提升效果。经过3轮的教学实践,对课程不断进行评估和持续改进。在2021 至2023年度进行了三轮的教学实践,通过对知识点的梳理、视频录制和学习资料的搜集,依据软件测试与质量课程大纲,利用学校的励儒云平台,建设软件测试与质量网上课程,整个课程线上设计14个任务点,要求学生课前必须完成,做到课前对知识点有所了解。线下授课过程中,每四周在实验课的开始前20分钟,通过励儒云平台,对学习效果进行检验。在测试中发现的普遍性问题,在课堂教学中进行集中讲解。最后通过期末闭卷考试,检验学生的学习效果,合格率都有较大的提高。经历连续三年的混合式教学改革实践,学生对老师的评教成绩分别为96.24、96.79、97.12,而传统的教学方法下,评教成绩一直在93分以下,显示混合式教学优于传统教学。

5 结束语

软件测试与质量课程在工程人才培养方面的教学改革与创新是需要长期探索的一项工作,本文阐述了该课程线上线下混合式教学模式的创新与教学实施过程,为实践性教学提供了思路。课程结合当今社会背景与国家需求,讨论了混合式教学模式的课程资源建设、课前知识引导和自主预习,课堂师生互动和随堂测试,以及课后完成期末大作业、引入企业真实的测试体验等具体措施,并在教学的过程中引入思政元素。通过对软件测试与质量课程的混合式教学改革,学生的学习效率与积极性得到了提高,极大地促进学生独立思考和创新思维的培养,有目的、有意识地培养了学生的健康人生观、价值观和世界观[8],为学生毕业后的求职就业、升学等奠定了坚实的基础。