基于“赛证政点”融合的软件测试教学改革
作者: 田小霞
关键词:软件测试;课程思政;学科竞赛;工程认证;职业素养
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2024)26-0157-04 开放科学(资源服务)标识码(OSID) :
0 引言
国内人工智能、物联网、大数据、云计算等IT产业迅速发展,软件产品呈指数级增多,其业务复杂并更新快。为了抢占市场,企业要求软件测试周期短且软件质量高,确保其生存发展权。为了适应科技迅猛发展,IT产业需要大量具备良好职业素养和专业技能的软件测试人才。高等院校是培养软件测试人才的重要摇篮,为IT产业的发展和创新提供了重要的支持和保障。
软件测试技术课程在培养软件测试创新型应用人才方面起着至关重要的作用。然而,现阶段软件测试教育与产业人才需求存在较大差距,高校需要加强对学生的实践能力、创新能力和职业素养等方面培养。因此,本文探讨了一种将测试竞赛、思想政治教育、职业技能和热点问题分析深度融合的软件测试教改方法,旨在培养具有良好职业素养的创新型应用人才。
1 教学改革的背景
1.1 国家层面
教育部于2017年起实施新工科发展战略,新工科教育注重实践、融合、协同与创新,要求高校培养具有较强行业背景知识、工程实践能力,能胜任行业发展需求的应用型和技术技能型人才[1]。教育部在2020 年 5 月印发了《高等学校课程思政建设指导纲要》,把“立德树人”作为教育的根本任务,要求培养为社会主义奋斗的应用型人才[2]。工程教育认证担负工程教育质量保证,要求教学设计聚焦学生能力的培养[3]。这些政策都对当前工科类的课程教学提出更多要求,包括培养学生具备良好的职业素养和实践创新能力。
1.2 教学层面
现阶段教育现状与培养适应行业需求的软件测试人才存在一定的差距,具体表现如下问题:
1) 教学内容基础,教学素材没有紧跟行业发展。教学内容较为基础,没有鲜活的教学案例,也没有引入软件测试最新技术和方法。学生整体学习兴趣不高,存在应付性学习的情况。教学素材是学生了解行业发展的窗口,但有些教学素材还没有及时更新,如摩拜单车的功能测试(摩拜单车已不存在)。再比如当前最火ChatGPT在软件测试中的作用还没有引入课堂。
2) 学生测试技术能力和测试管理能力待提高。测试实验的深度不够,缺少实际项目开发练习,无法全面评估学生的测试技能和能力。学生对某个项目的单元测试、集成测试、系统测试等环节熟悉且会用相应的测试工具,但对整个项目的整体流程及测试技术应用还需要再提高。
3)“ 政赛证点”融合不够。教学过程中,软件测试知识和技能与学科竞赛、行业热点事件分析等深度融合。学生只掌握零散知识点碎片化知识,未能将相关知识融合互通,看问题局限在一个狭小的视界中。
4) 过程考核力度不够。实施工程教育认证,必须聚焦于以学生为中心的能力培养[4]。课程考核主要集中在对软件测试基本知识的掌握,不能有效推动和激励学生探索新知识和新领域。这些问题的存在使得学生躺在舒服区,学生的解决实际问题能力和创新能力都没有得到进一步提升。
2“ 赛证政点”融合的软件测试教学改革
2.1“ 赛证政点”教改思路
为了迎合我国IT产业需要,培养高素质软件测试创新型应用型人才,本节从“ 赛”“证”“政”“点”四个方面来浅谈软件测试课程教学改革,改革思路如图1 所示。
2.2“ 赛证政点”融于教学内容
优质教学内容是来自于国家级规划教材,确保学生掌握基本的软件测试知识和技能;测试竞赛携带测试领域前沿信息,激发学生的学习动力和热情,增加学习挑战度[5];职业技能大赛是检验学生与软件测试岗位的能力匹配度,提升学生适应岗位能力和培养职业素养的有效工具;思政元素把正确价值引领和共同理想信念塑造作为课堂鲜明底色;行业热点事件反映行业发展的当前现状,学生通过查阅资料和分析事件,提出自己的观点或者解决方案,培养其敏锐观察能力和解决复杂问题能力。
表1展示了“ 赛证政点”分别对应了缓解当前教学问题、实施方式、期望效果和课程目标。其中“ 赛”是对应课程目标1(知识),支撑毕业要求2-4 和3-1;“证”是对应课程目标2(能力)支撑工程认证毕业要求4-3和11-2;“ 政”和“点”是对应课程目标3(素养),支撑工程认证毕业要求8-1 和9-1。
2.3“ 赛证政点”融于教学内容
2.3.1 知识点群
软件测试伴随软件产品整个生命周期,其涉及的知识点非常多且分散,如数据库、计算机网络、前端设计等等。软件测试与开发模型紧密相关,如敏捷开发对应的敏捷测试。软件开发过程对应的测试有单元测试、功能测试、自动化测试等。测试方法有静态测试和动态测试,同时测试工具又多。因此,教学团队将软件测试领域的概念、技术、方法、工具等进行选择、剪裁和整合,搭建软件测试知识体系金字塔,为学生提供丰富的知识群。
表2以单元测试为例,展示其涉及程序设计、编码规范、逻辑覆盖测试方法、测试代码覆盖率、测试执行、缺陷记录等。
2.3.2 实践教学
实践教学主要有专项实验、综合实验、和分组任务。专项实验课程教学以软件测试基本方法的实践教学为主。第十四届蓝桥杯模拟题单元测试题要求学生对三点一线的逻辑关系设计测试用例,该题检验学生基本测试能力和发现缺陷的能力。图2为学生编写的测试代码。综合实验需要学生用工程思维,完成一个企业(测吧)提供的项目。这个实验要求学生熟悉待测业务流程,能综合运用软件测试知识(可能需要查阅相关资料),从一定高度来把控整个测试流程。图3为学生完成火焰杯的Web自动化竞赛试题。该题要求学生熟悉测试业务流程、元素的定位、测试环境的搭建等内容,较完整考查学生功能测试和Web自动测试。分组任务需要学生组队完成的测试任务,从工程角度让学生通过相互协作来制定测试需求和测试策略、设计测试用例、执行测试、记录测试结果和生成测试报告。这些实践可以使学生熟悉测试项目的工作流程和实施细节,掌握各种软件测试方法,使用常用的测试工具。同时,这些实践也培养了学生沟通能力、团队协作和学习能力等。
2.3.3 教学素材
针对授课教材重理论轻实践问题,教学团队与慕测平台和测吧合作,在教学素材中融入行业标准,以企业真实项目为依托,对知识点、技能点进行拆分,形成项目案例。教学素材还包括行业热点事件,如疫情期间的爱奇艺崩了、西北工业大学遭受网络攻击和拼多多优惠等。学生查阅2019年拼多多漏洞门资料,了解黑灰产团伙利用“优惠券漏洞”盗取优惠券。这有助于培养学生责任主体意识,强化其职业素养及职业道德意识,引导其遵守法律法规及各项相关行业规则。图4为性能测试的主题讨论,讨论内容是阿里如何保证双十一交易,采用哪些先进的技术。学生查阅资料,展开主题讨论,点燃学生的科技强国梦。
2.4 考核方式
考核方法及指标体系直接影响人才培养的质量。实施工程教育认证,必须聚焦于以学生为中心的能力培养。配合课程教学目标建立立体化教学考核,第一层检验学生掌握软件测试基础情况对应课程目标1;第二层检验学生创新能力和解决问题的能力对应课程教学目标2;第三层检验学生的团体协作和持续学习能力,以及遵守职业规范和爱国爱校的情况,这个对应课程教学目标3。这种立体化考核着重学生解决问题能力的考核,根据实践完成效果给予学生相应的分数,如图5所示。
2.5 评价反馈,持续优化
在每次课程结束后,教学团队根据教学评价和学生的学习效果,结合学生和同行提出的建议和意见,对教学内容、教学方法或者实践教学进行优化。如2020—2021年度采用项目驱动教学,项目包括图书管理系统、憨憨二手交易平台、全民吐槽厅等,这些项目都采用B/S架构,学生分组按照V型来完成测试计划、测试实施、测试结构记录。在课后调查问卷中,学生建议添加App和小程序驱动项目。2021—2022年度采用校园二手交易小程序和音乐播放小程序项目驱动教学,学生们积极运用测试技术完成。故整体教学效果好于2020—2021年度,学生对新事物有更大兴趣和学习能力。2022—2023年度采用竞赛驱动教学,以赛促学、赛教融合。这种教学方式深受同学们喜欢,但也有个别同学由于自身问题,在学习过程中感觉比较吃力,一直处于追赶状态。这个需要在下一年更新教学内容或者改变教学方式。课程是保证毕业要求达成的最后一关,提高课程建设质量任重道远。
3 实施效果
学生对课程的评价高、近三年学生课程评价如表3所示。在2020—2021年度,由于疫情开展线上课程教学,课程引入热点事件,如ZOOM安全性问题、微信深色模式必要性等,激发学生的学习兴趣,但线上实践教学效果一般。在2021—2022年度,线下课程引入优秀项目背景资料和软件测试竞赛,学生主动学习前沿性的知识,能团队协作完成软件测试项目,学生的参与感和获得感也较好。在2022—2023年度,实践课程直接引入竞赛试题,如蓝桥杯的单元测试和功能测试以及火焰杯的Web自动测试。个别学生对前置课程知识掌握不够,在此实践教学中感到非常吃力。
2023年学生获奖情况如下:第14届蓝桥杯省赛2 人获得一等奖和2人获得三等奖,第14届蓝桥杯国赛中2人获得三等奖;第四届火焰杯中3人获得三等奖,7人获得优秀奖;2023年IEEE软件测试大赛(开发者测试日本邀请赛)1人三等奖;2023年全国大学生软件测试大赛省赛中1人获得二等奖,1人获得三等奖,2人获得优胜奖。
4 结束语
本文探讨了一种基于“赛证政点”融合的软件测试教改方法,旨在全面提升学生的综合素质和能力水平。通过引入竞赛元素,激发学生的学习兴趣和实践能力;融入思想政治教育,培养学生的道德素养和社会责任感;注重技能培养,提高学生的实际操作能力和团队协作能力;关注热点问题,使学生紧跟时代潮流。此外,还强调了评估教改效果的重要性,通过评估手段及时发现教学中问题并进行改进。
这种融合的教改方法可以促使学生在软件测试领域取得更好的成绩,并为他们未来的工作和发展打下坚实基础。同时,它也有助于提高学生的创新意识、实践能力和社会责任感,使其具备更好的适应能力和竞争力。因此,在软件测试教育中推行这种“赛证政点”融合的教改方法是非常值得尝试和推广的。在下一步的教学中,增加线上实践教学项目,持续优化教学过程,培养高质量的软件测试创新型应用人才。