以赛促学软件测试课程项目式教学改革的探索

》首页 》 科技论文 》以赛促学软件测试课程项目式教学改革的探索
作者:无, 字数:12787

  摘要:高职教学中项目是课程知识点的载体,针对我校软件技术专业学生的实际情况,在软件测试课程教学中以技能大赛的项目为教学项目,通过总结职业技能大赛软件测试赛项的经验以赛促学,结合软件测试行业对人才的需求,进行项目式教学改革和探讨。
  关键词:软件测试;技能大赛;项目式教学;合作学习
  中图分类号:G642 文献标识码:A
  文章编号:1009-3044(2020)27-0070-02
  开放科学(资源服务)标识码(OSID):
  1 引言
  随着中国IT行业的发展和软件市场的成熟,对用户而言,产品交付标准变得更加严格。软件产品的质量管理已成为企业生存与发展的核心,几乎每个中大型IT企业的产品在发布前都需要进行大量的质量控制、测试和文档工作,软件测试的工作量在软件开发成本中高达40%。调查数据表明,国内120万软件从业者中,软件测试职位从业者不超过5万,人才缺口达30万。但是2019年在北京举行的软件测试培训现场调查,很多高职院校并没有开设软件测试专业,甚至有的学院没有软件测试课程,软件测试理论是作为软件工程课程的一部分内容。这显然不能满足软件测试行业专业人才人数的需求。从我校历年软件技术专业毕业生就业数据来看,每年约有5%的学生从事软件测试工作,2019年呈显著现上升为10%。这个改变一是通过专业老师的介绍,二是通过培训机构的推介。由此可见软件测试课程存在开设的必要性,存在教学内容贴近行业需要改革的必要性,使得更多学生毕业后就能就业。
  2 软件测试课程教学现状分析
  2.1 基于知识的教学
  为了教学质量的提高,我分析过十几本不同出版社关于软件测试的教材,发现多数教材注重基础理论知识,不同的知识点用不同的案例,案例之间没有相关性,缺少以一个实际的工程项目贯穿测试整个过程的教材,而且多数教材仅仅提供测试内容空模板,没有测试的真实文档参考。使用知识体系的教材教学,学生在实际测试一个真实的项目时候不能把零碎的知识点整合起来学以致用,就不能习得完整的测试过程总结出高质量的文档。
  2.2 教师缺乏真实项目实践经验
  高职学院教师的组成主要以硕博毕业生为主,多数教师是从学校到学校,缺乏软件测试和项目开发经验;然而基于软件测试行业人才的需要开设软件测试课程,教师对软件测试的了解是基于自学或者通过培训后把知识传递给学生。在教学上过多地依赖对知识的解读,教师在测试真实项目的时候实践操作能力较差,测试用例的设计和结论也没有教科书式的标准答案,测试速度和测试质量有待提升。
  2.3 软件测试实训环境
  软件测试是非常重视实践的,需要一定的软件测试环境。全国职业院校技能大赛从2017年起增设了“软件测试”赛项,该赛项围绕行业企业软件测试岗位真实工作过程和典型工作任务设计竞赛内容,已经举行了三年。在2019年行业软件测试培训的现场调查得知大部分高职院校在大赛引领下陆续配置了软件测试实训软件环境,软件本身模拟了企业真实环境且具备服务于教学的功能,软件提供了WEB端和App端两种测试环境,模块和BUG可以设置开放和关闭,每次测试时BUG可能出现也可能不出现并不相同,所以测试相关文档会每次都有区别。可以说竞赛促进了教学条件的改善,通过企业培训也提升了教师的水平,提供了新的教学思路,解决了以前教师上课时单纯讲理论与文档分析缺少实践环境的问题。
  3 软件测试课程项目化教学化改革
  3.1 以大赛项目进行项目式教学改革
  全国职业院校技能大赛“软件测试”赛项基于B/S的“资产管理系统”,内容涵盖:
  1)功能测试:不考虑内部结构,根据输入数据和输出的数据的对应联系对系统内部结构进行猜测和判断系统结构出现某种问题和缺陷,进而判断该系统的功能是否满足最终用户的需求。
  2)性能测试:通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
  3)自动化测试:基于python的selenium自动化测试工具,根据学生掌握程度,选取用户登录、资产入库等若干模块,设计自动化测试脚本。
  4)白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。
  由上可知,国赛软件测试赛项提供的竞赛内容基本涵盖软件测试的各个方面,贴近行业需求、突出实战过程,既满足产业对高素质技术技能人才的需求特点,又符合高等职业院校基于工作过程的课程教学模式,因此可以作为教学项目应用于教学过程,同时也为大赛选拔合适的学生提供可能。该课程建议学时不低于64学时,建议在没有开设软件测试专业的其他计算机类相关专业的大三第一学期作为选修课程开设。1)是因为大三的学生前面软件工程、数据库、相关语言课程都已经学过,学生已经有了专业基础再去学习软件测试比较容易;2)是大三学生面临毕业实习,为学生提供一个就業导向,使得一部分善于写文档有耐心没有信心编码的同学有走向软件测试岗位的可能。
  3.2 分解项目知识点,循序渐进推进项目教学
  全国职业院校技能大赛“软件测试”赛项内容“基于B/S的资产管理系统”,系统具有系统登录、个人信息、资产类别、品牌维护、报废方式、供应商、存放地点、部门管理、资产入库、资产借还、资产报废等二十几个模块。省赛需求说明书WEB端就90多页。竞赛和教学有很大的区别,虽然比赛项目可以用于教学,但是比赛的项目工作量大,需要要把一个大的项目按模块进行分析,分解成若干个子项目,循序渐进推进给学生。第二点软件测试的完整过程是分析需求、制定测试方案、写测试用例、执行测试用例查找BUG、汇总BUG、写测试总结报告,大多数学生对系统的功能不熟悉,也从来没有写过测试用例,自然也无从完成这个过程,所以在教学时,要让学生先了解测试的总体过程,再把功能测试的方法、必需的知识、测试的流程融人教学中,逐步培养学生测试的能力。   3.3 重在方法、思维先行
  测试重要的是掌握测试方法,俗话说“授人以鱼,不若授人以渔”。等价类划分法是功能测试中经常用到的方法,等价类又分为弱一般、强一般、弱健壮、强健壮等价类,如“手机号码”测试,手机号码的规范是以1开头的数字11位组成,通过“手机号码”测试训练重要的是让学生掌握设计测试用例的设计方法,不能只会测试手机号码。学生掌握方法后,在其他模块中涉及等价类划分的测试用例学生自己能够按照需要进行不同级别等价来用例的设计,为了达到这个目的,就要让学生根据教师授课的讲解反复练习,自行总结,理清思路。
  思维导图先行。所有写出来的文档,进行的测试都是脑海中思维的体现。还是以测试用例为例,“资产管理系统”测试用例多达几百上千条,测试用例要保证数量不遗漏,质量要过关,在设计的时候就要有规律要遵循规范。这个规范都是老师们自己总结的,各有各的写法。在教学过程中我们是要求学生先画思维导图,使用思维导图用来梳理思路,根据思维导图来写测试用例,学生写测试用例的过程就是复现自己画的思维导图的过程。
  通过思维导图对整个系统的模块的测试点做分析,有助于学生理清模块的功能和模块之间的业务上的关系。如“资产管理系统”有三种类型的用户,资产管理员、资产领导与系统管理员,根据这三种用户的权限画出思维导图,让学生从不同类型的用户的角度去分析系统,查找相似点,有助于学生分工协作,如资产类别、品牌、存放地点三个模块作为资产的属性存在,在写测试用例的时候学生会写任意一个模块,其他两个模块的测试用例也就会写了,那么这三个模块就交给一个学生去写。教学中切忌急功近利求速度,只为比赛项目而教学,而要为未来工作岗位中学生可能面临的各种项目去教学。
  3.4 分组合作,充分交流
  软件测试课程适合采用分组合作方式,软件测试如果要对整个项目进行测试,让学生了解整个项目的完整测试过程就需要分工合作。软件测试大赛中也是三人作为一个测试小组,其中一人是测试组长,一个团队的成绩是由三个同学的成绩决定的,这就决定三人必须都要提高。教学过程中可以仿照竞赛的模式使用小组合作式学习方法,每组由3至4名学生组成,老师最初可能也并不了解每一个同学在任务之中适合做什么,小组组长在训练过程之中可以慢慢地推选出来或者让学生自荐。
  充分的交流有利于提升速度和保证质量,小组成员之间需要经常做交流。以测试用例为例,小组中每名同学都会写几个模块的测试用例,但是测试用例是否遗漏,测试用例描述是否精准专业,测试用例的描述小组之间是否体现出来一致性,测试用例在设计的时候是否体现规律让教师容易检查,这些问题要求同学之间先自行对照思维导图检查,再在小组成员之间充分交流互看文档最后教师再总结。学生对照思维导图自查,可以防止下次再次遗漏,自查完修改后重传文档再互查;互查是因为学生总认为自己做的是正确的不容易发现错误,但是其他同学检查则容易发现错误;强调自查和互查是因为教师检查出的遗漏和学生在设计中出现的问题,学生往往印象不深,下次可能还多次犯同样的错误;再者经过学生自己交流得出来的甚至激烈讨论得出来的结论,学生印象深容易记住,也能锻炼学生独立思考解决问题的能力。类似在执行查找缺陷提交缺陷汇总报告时更需要小组成员之间多做交流。
  4 结束语
  目前,我国正处于经济转型升级的关键时期,急需培养大批技术技能型人才。技能竞赛对指导和推进职业教育教学改革,促进高职院校技术人才的培养具有重要的指导作用。将技能大赛的内容及竞赛模式应用到软件测试课程中,采用项目化教学、思维先行、小组讨论的方式,实现了以赛促学、以赛促教和以赛促改的目标,提高了教学质量,培养了学生对软件测试的认识,为就业时选择人才缺口极大的软件测试行业成为可能。
  参考文献:
  [1]郝艳荣,石彦芳.以竞赛为驱动的《软件测试技术》课程教学改革与探索[J].轻纺工业与技术,2019,48(11):159-160,188.
  [2]赵一丁,缑西梅,底恒,项目驱动教学法在软件測试课程中的过程控制[J].计算机工程与科学,2016,38(S1):112-116.
  [3]马敏,王敏,贾露,技能大赛赛项资源转化的实践研究——以软件测试赛项为例[J].湖北广播电视大学学报,2019,39(6):20-24.
  [4]段珊珊.OBE理念和项目式教学在《小型局域网组建》课程中的实践探索[J].电脑知识与技术,2018,14(30):16-17.
  [5]余久久,张佑生,傅廷亮.软件测试课程教学思考[J].安庆师范 学院学报(自然科学版),2013,19(4):121-126.
  【通联编辑:王力】
  作者简介:段珊珊(1975-),女,江苏徐州人,讲师,硕士,主要研究方向为导航与信息安全。

相关

相关

相关

  • 小学语文教学中如何激发学生的情感

  • 让信息技术在历史课中彰显魅力

  • 小学语文课堂教学氛围营造漫谈

  • 浅议抓好农村小学生综合素质评价工作的方法

  • 浅谈多种评价方式提高小学生的综合素质

  • “喂”羊与“牧”羊的启示

No comments found.

相关