刘晓刚
摘 要:文章通过引入国家和省职业技能竞赛“软件测试”赛项建设高职计算机及相关专业的“软件测试”课程方案。课程内容与职业标准对接,分成多个项目,引入“软件测试”赛项的软件工具和赛题,模拟真实的比赛环境进行实训,考查学生的实际动手能力、规范操作水平、创新创意水平,以及综合职业能力。不仅参加比赛获得了不错的成绩,还以少带多、以点带面,提升了更多同学的学习兴趣和学习积极性,起到了“以赛代练、以赛促建”的作用,较好地提升了教学效果。
关键词:高职;“软件测试”;课程;方案
为了提高和检验高职学生在软件测试方面的职业能力,推动工学结合人才培养模式的改革与创新,教育部开始举办全国职业院校技能大赛“软件测试”赛项以及各省的选拔赛。“软件测试”赛项按照行业企业软件测试岗位的真實工作过程设计竞赛内容,通过比赛促进课程建设、教学改革,注重学生实践技能、创新能力的培养,提升了学生的职业素养和就业能力,促进了教学过程与生产过程对接、课程内容与职业标准对接,推动了相关专业人才培养模式与课程体系的改革,提高了专业建设水平。
浙江经贸职业技术学院计算机专业开设有“软件测试”课程,将软件测试技能作为学生专业拓展技能之一。为了提升教学效果,尝试“以赛促建”,引入“软件测试”比赛的软件工具和赛题,建设课程内容,设计实训案例,并通过选拔选手参加比赛等多种手段来提升学生的学习兴趣,提升教学效果。
1 软件测试竞赛内容及组织安排
高职院校职业技能大赛“软件测试”赛项基于网络的“某某管理系统”应用为考核点,竞赛内容涉及的核心技能包括:功能测试方案制定、测试用例设计、Web应用测试执行、移动APP测试执行和测试总结报告编写;自动化测试要求分析、测试工具使用、代码编写和测试执行;性能测试要求分析、测试工具使用、测试执行和测试总结报告编写、白盒测试等内容。重点考查参赛选手对实际问题的综合分析能力、文档编写能力、开发工具和开发语言的掌握程度、运用工具解决实际问题能力、测试方法的掌握程度、测试用例设计能力;考查竞赛团队内部科学规划、合理分工、高效沟通、配合完成竞赛任务的团队合作能力以及应用创新能力[1]。
“软件测试”赛项的省赛一般安排在每年3月初举行,对应的国赛安排在5月底举行。因此“软件测试”课程的授课最好安排在下半年即每学年第一学期,学完课程后在赛假中对选拔队员进行远程指导培训,第二学期开学后进行集中培训,然后参加省赛。省赛成绩较好的队伍参加国赛。
2 软件测试的课程建设
围绕软件测试工程师的岗位能力需要来进行课程设计,基于行动导向来组织教学,培养学生适应职业岗位的能力。在教学内容的设计上,按照软件测试的知识体系,组织成多个项目单元,构建教学体系。以典型的项目类型为载体,针对软件测试工程师的职业岗位需求,以真实完整的软件测试工作过程为依据来建设课程。前导课程是程序设计基础(Java或Python语言,最好两种语言都掌握)、面向对象设计、数据库技术等。后续课程有“综合实训”“顶岗实习”“毕业设计”等。
2.1 课程内容设计
根据行业企业调研分析结果、计算机专业人才培养目标以及“软件评测师”的技能证书要求,以及“软件测试”比赛的内容,确定课程的核心内容为:测试计划的编写、测试方法的选择、测试用例的设计、测试流程的掌握、测试过程的管理、测试工具的使用、测试报告的编写等。摒弃老旧的测试软件,从比赛中重点引入市场主流的LoadRunner性能测试工具以及Selenium功能测试工具,并将历年赛题作为教学案例和实训题目。课程采用基于软件测试工作过程的教学模式,将本课程的教学内容分解为6个项目单元,共60学时。
项目一是软件测试的认知和体验。要求了解软件测试的基本概念和内容,了解软件质量管理的基本概念和内容,掌握软件测试的分类、原则、策略及流程等概念,掌握场景测试法与软件测试的基线[2]。技能方面要求学会对Windows计算器进行功能测试和界面测试,学会应用场景法对QQ登录界面和功能进行测试。计划4课时。
项目二是白盒测试。要求掌握白盒测试的概念,掌握代码检查法的原理,掌握逻辑覆盖法、基本路径测试法等白盒测试方法的原理以及各自优缺点、适用面。技能方面要求学会代码检查法、逻辑覆盖法和基本路径测试法的实现方法。计划8课时。
项目三是黑盒测试。要求掌握黑盒测试的概念、等价类和边界值的概念以及决策表和因果图的设计原理。技能方面要求学会等价类的划分方法,学会边界值、决策表和因果图的设计方法。计划10课时。
项目四是测试管理。要求了解测试管理的多种工具和一般性过程,熟悉测试计划的目的、内容,掌握测试用例的属性和具体内容,掌握测试缺陷的定义、属性、优先级和严重性,掌握测试总结报告的具体内容。技能方面要求学会测试计划的制定方法,测试用例的设计方法,测试缺陷的执行方法与提交方法,以及测试总结报告的编写方法。计划10课时。
项目五是Web自动化性能测试及LoadRunner软件。要求了解性能测试的指标及方法,掌握LoadRunner的基本组成和常用术语,熟悉LoadRunner进行负载测试的流程以及LoadRunner的常用函数。技能方面要求学会HP WebTousr网站的安装、开启、使用方法,LoadRunner的基本录制方法,事务、集合点、参数化、自动关联、手动关联和检查点的设置与使用方法,学会LoadRunner的结果分析方法。计划16课时。
项目六是Web自动化功能测试及Selenium工具。要求掌握功能测试的概念及原理,掌握自动化测试的原理及优缺点,框架测试的结构及优点。技能方面要求掌握Selenium安装及环境配置方法,学会Selenium方法、事件的编写和使用,以及Selenium自动化功能测试框架的封装、设计方法和调用方法。计划12课时。
2.2 课程实施
2.2.1 教学及实训环境
课程的教学进程建议安排在比赛前的一个学期,有利于学习的连续性和选手的选拔训练。在教学实施过程中,根据课程各模块教学的实际需要安排在多媒体教室、模拟实训室或校内、外生产性实训基地来进行。实训的环境要求比较苛刻,除了较高配置的电脑,还需要纯净的操作系统、安装指定的软件及版本,并且不能安装其他的软件,否则测试功能无法正常运行。
计算机硬件要求:CPU主频大于2 GHz,内存容量大于等于1 GB,硬盘剩余空间在40 G以上,建议用SSD固态硬盘,100 M宽带局域网络;软件要求:操作系统Windows 10或Windows 7旗舰版64位系统,Office 2010,LoadRunner 12.02英文版,Anaconda 3,PyCharm 2018,Chrome 67、禅道等[3]。
2.2.2 教材及其他教学资源说明
软件测试方面的纸质教材更新较慢,市场上的现存教材内容大多偏旧。建议在选择纸质教材的同时,向学生推荐一些更新较快的网上学习资源,如51Testing软件测试网:http://www.51testing.com,中国测试员网站:http://www.cntester.com,希赛网:http://develop.csai.cn,CSDN软件测试频道:http://testing.csdn.net。
2.2.3 课程考核与评价
课程考核成绩按百分制评定,权重为平时成绩占20%,实训成绩30%,期末考核成绩占50%。平时成绩由老师根据学生平时上课的各项表现综合给分,按优秀(90—100分)、良好(80—89分)、中等(70—79分)、及格(60—69分)、不及格(59分及以下)5个等级评定,期末按20%比例折算进课程总成绩。实训成绩由老师根据每次实训课学生的任务完成情况给出成绩,具体比例为测试需求分析10%、测试方案设计(包括测试用例设计)30%、测试脚本设计10%、测试脚本编码30%、测试执行过程10%,结果报告撰写10%,在期末给出一个综合的实训成绩,按30%比例折算到课程总成绩。
期末进行整体内容的上机考核,要求在规定时间内完成指定的测试任务,将成绩按50%的比例折算到课程总成绩中。期末主要考核用例的设计,对测试工具运用的熟练程度,对实际测试项目的测试设计和分析,以及对测试完整过程的掌握能力。
3 学生选拔及赛前训练
3.1 选拔学生
由于“软件测试”职业技能竞赛是在每年的上半年举行,因此在比赛之前的上一学期就应该开展对相关班级“软件测试”方面的摸底,对有兴趣的学生进行学习态度、理论功底、动手能力、分析能力的综合评估,重点参考该学期“软件测试”课程的考核成绩,筛选出较为合适的几名学生(6名左右)作为备选选手。竞赛培训老师利用寒假对这批学生进行远程学习指导,布置任务、批改作业、观察培训效果。新学期开学后立即进行培训的成效测试,结合培训表现决定参赛学生,最终选出3名学生代表学院参加比赛。
3.2 比赛前训练
通过“软件测试”课程的学习和寒假的培训,选手们具有了测试竞赛的理论功底和技术基础,但是对于技术应用的熟练程度不够,对于比赛的过程掌控完全没有经验。建议召集往年的参赛选手来交流沟通,除了给新选手传授经验之外还要鼓舞士气。开学之后到比赛之前还有一个多月的时间,需要对选拔出来正式参赛的选手进行专门的针对性训练,重点练模拟试题和往年赛题,不仅要每一套都上机练,而且要练多遍。除了提高做题的正确性,更要提高做题的速度以及团队的配合熟练程度。训练中3个选手应该有侧重点,一个重点练用例的设计,一个重点练缺陷的寻找,一个重点练LoadRunner性能测试和Selenium功能测试。建议从3人中选出一个组长,负责竞赛的组织安排,要求反应快并处事果断,具有应急事件的处理能力,有利于处理正式赛场的突发事件。
4 结语
“软件测试”课程按照行业企业软件测试岗位真实工作过程建设,课程内容与职业标准对接,引入了国家和省职业技能竞赛中采用的“软件测试”软件工具和赛题,将教学内容整理成多个项目,辅以项目导向和任务驱动教学方法,模拟真实的比赛环境进行训练,考查学生的实际动手能力、规范操作水平、创新创意水平以及综合职业能力。不仅可以通过参加比赛获得不错的比赛成绩,还能以少帶多、以点带面,提升更多同学的学习兴趣,带动整班同学的学习积极性,较好地提升了教学效果。后续工作将继续丰富课程建设的内容,紧跟国家和省职业技能竞赛的发展,增加更加实用的案例,采用更加主流的软件工具,并在顶岗实习和毕业实习中动员学生更多地参加测试方面的工作,促进其学以致用并不断进步。
[参考文献]
[1]原创力文档.2019年全国职业院校技能大赛赛项申报方案[EB/OL].(2019-09-15)[2020-03-10].https://max.book118.com/html/2019/0915/7041040046002055.shtm.
[2]赵翀,高鹏.软件测试课程工程实践教学模式的探索与实施[J].计算机工程与科学,2014(S1):51-55.
[3]匡青,朱宜炳.高职院校软件测试课程教学改革探索[J].现代商贸工业,2010(3):237-238.
Construction of higher vocational “Software Testing” course “scheme promoted by competition”
Liu Xiaogang
(Zhejiang Institute of Economics and Trade, Hangzhou 310018, China)
Abstract:This paper introduces the “Software Testing” event of the national and provincial vocational skills competition to build a “Software Testing” course plan for higher vocational computers and related majors. The course content is connected with professional standards, divided into multiple projects, the software tools and questions of the “Software Testing” event are introduced, the actual competition environment is simulated for training, and the students actual hands-on ability, standardized operation level, and innovative level are examined, and comprehensive vocational skills. Not only did I get good results by participating in the competition, but I also brought less with more and more with points to improve the learning interest and enthusiasm of more students. It played the role of training on behalf of the competition, and promoted the construction of the competition.
Key words:higher vocational education; “Software Testing”; courses; programs