APP下载

竞赛训练法的研究与实践
——以软件测试课程为例

2020-12-09伍晓圆

科技视界 2020年34期
关键词:软件测试文档竞赛

伍晓圆

(宁夏职业技术学院,宁夏 银川 750001)

【关键字】竞赛训练;软件测试;技能大赛

0 引言

技能大赛作为职业教育活动的重要载体之一,其技能、素质要求代表了职业教育人才培养的方向[1]。全国职业院校技能大赛“软件测试”赛项按照行业企业软件测试岗位真实工作过程设计,注重学生实践技能创新能力培养,提升学生职业素养和就业能力。 然而如果竞赛的准备没有体现在课堂环节当中,影响学生面就仅限于参赛的学生。 为了使更多学生从中受益,利用竞赛提高整体教学质量,对参赛经验、赛项资源进行分析转化,运用到实践教学中变得迫在眉睫。

1 竞赛考查核心技能及要素构成

全国职业院校技能大赛软件测试赛项采用实操形式,完成软件测试工作。竞赛突出实战过程,考核点符合高职基于工作过程的课程教学特点,并且满足软件产业对软件测试技能人才的需求特点,大赛考察要素构成如图1[2]。

2 竞赛训练法的设计

依据大赛考察核心技能及要素设计竞赛训练法,将软件测试大赛参赛经验以竞赛训练法的形式融入到课堂教学环节中,使更多学生受益,利用竞赛提高整体教学质量。

图1 大赛考察核心技能及要素

2.1 训练内容设计

训练内容包含功能测试、性能测试、自动化测试和白盒测试。

功能测试的主要任务是系统测试设计与测试执行。该阶段测试人员根据软件需求规格说明书进行测试用例的设计与执行。要求测试人员熟练运用如等价类法、边界法、错误推测法和场景法等经典黑盒测试方法设计用例数据,并记录测试用例的执行结果形成缺陷清单。

性能测试考察学生对性能测试工具LoadRunner的使用,它是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,发现系统瓶颈,从而针对性获得性能调优方案。该阶段要求学生根据需求文档分析性能测试的压力点, 使用LoadRunner 设置场景,录制和调试脚本,执行性能测试。

自动化测试阶段需要学生使用Python 语言编写测试脚本,实现浏览器基本操作、页面元素进行识别并定位等, 使用Web 应用程序测试工具Selenium 完成自动化测试,这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上,测试系统功能——创建回归测试检验软件功能和用户需求。

白盒测试部分要求学生根据要求编写代码,执行代码走查。 在静态测试中,将对代码执行编程规则检查。该项测试向学生们展示了程序语法之外的规则问题,编程语法是学习语言的基础,在集成开发环境中也能够被自动检测,而编程规则是常被忽略又不该忽略的部分, 只有符合规范的代码才能称为质量级的,才能减少潜在的错误。

训练项目依据全国职业院校技能大赛软件测试赛项题目的特点设计,选择基于B/S 架构软件系统作为被测系统,参考竞赛题目资产管理系统,搭配网上书城、办公自动化系统、电子商务管理系统等,保证教学的实用性和前沿性。

2.2 训练环节设计

根据教学时间和要求,可将训练内容分项目或综合项目进行,这里可以采用角色扮演的方法,学生们就是一个个测试小组,教师就是测试经理,给学生创造一个在公司从事测试工作环境。 训练环节分测试计划、测试实施和测试总结。

教师布置测试任务后,进入测试计划阶段,每个小组的组长和组员展开讨论, 根据需求文档进行需求理解和分析,通过任务分解,对测试难度、工作量和进度进行预估后分配每人具体工作,形成测试方案文档。

在测试实施阶段,根据具体测试任务按模块或按整个系统开展功能测试、性能测试、自动化测试和白盒测试, 这个阶段涉及的过程文档包括测试用例、缺陷清单、性能测试脚本及执行截图、自动化测试脚本及执行截图、白盒测试代码等。

测试总结阶段需要学生将测试实施的成果形成测试总结报告, 这一部分考察学生的分析总结能力,比如功能测试部分需包含用例分析统计、Bug 汇总分析统计等,性能测试需要通过测试脚本的执行,进行性能监测,分析执行截图,发现系统瓶颈。

以上三个环节,在教学中根据时间和需要,整体或者分步展开训练,分步训练时可以在每个环节后增加分组汇报环节,各小组挑选一名成员将小组完成的工作内容汇报,比如采用了什么方法? 发现了什么缺陷?如果复现缺陷?这样既可以帮助学生理清思路、巩固所学,又可以锻炼学生的公众表达能力,增强了学生的自信心。

3 竞赛训练法的实施要点

3.1 设置模拟竞赛条件

技能的熟练掌握需要靠反复的练习,然而日常教学中, 督促学生高质量的反复练习是教学实施的难点。在竞赛训练法的实施过程中设置近似模拟比赛的条件至关重要,这样可以使得平时普通枯燥反复的练习富有挑战性, 参考比赛的方式和规则进行反复训练,最大程度了调动了学生练习操作技能的主动性和积极性,同时还可以确保训练高质量的输出。

(1)时间与题量相匹配,要求在规定时间内进行技能训练,提交训练文档。

(2) 竞赛训练需要模拟真实比赛的紧张气氛,比如设置整点提醒,倒计时等。

(3)评分要点参考国赛规程评分细则进行。

(4)建立个人训练基本信息数据库(包含完成时间、得分排序、承担角色等重点字段)。

(5)设置一定的奖励机制,可以设置团体奖励和个人奖励,奖励与成绩挂钩的同时,把个人训练排名信息作为入选校赛、区赛和国赛的参考。

3.2 根据学生自身兴趣特长分组训练

竞赛训练通过将3~5 人分组,团队合作进行。 目前国内大多数公司测试部门分工明确,针对不同的测试类型和测试流程中的不同环节都有专人负责。 所以,在竞赛训练法中,也应该鼓励学生各施所长通力合作,根据自身兴趣特长参加测试工作,比如擅长文字的同学负责文档编写,热爱编码的同学负责白盒测试,喜欢研究软件操作的同学负责性能测试。

3.3 重视测试文档的训练

测试文档是软件项目的一部分,没有正式的测试文档的活动,就不是规范的测试。 测试文档在项目测试中占有重要的地位和非常大的工作量。然而在常规教学中,测试文档往往给理论、题海让步,学生基本没有什么机会接触文档编写。

事实上, 因为详细的文档可以节省项目的时间,提高工作效率,减少费用支出,所以测试人员的绩效挂钩于高质量的文档提交。 在竞赛训练法中,必须非常重视测试文档的编写,起初给学生提供高质量的全套文档模板至关重要,并就疑难点分享、展示、讨论,消除学生面对文档编写时的无措感,并加强对文档重要性的认识。

4 竞赛训练法的应用

传统教学采取先理论后技能的课堂模式。将竞赛训练法应用在课堂教学中, 可以颠覆传统的课堂模式,从技能训练入手,让学生在训练中发现问题,从而激发学生的理论学习兴趣。竞赛训练法匹配碎片理论知识点,相互穿插实施,由浅入深,循序渐进,帮助学生技能和理论水平交替螺旋式上升。

根据教学效果的实验研究如图2[3],课堂讲授的教学效果是最差的, 所学内容24 小时之后只剩下5%。 在竞赛训练法中,大量采用分组讨论、亲手实践和学以致用的教学方法,这三种教学方法的平均保持率均超过50%。基于这项研究成果,相对传统的教学,竞赛训练法能够达到更好的教学效果。

图2 各种教学方法的平均保持率(24 小时之后)

猜你喜欢

软件测试文档竞赛
2020丝绸之路数学竞赛
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
基于OBE的软件测试课程教学改革探索
EXCEL和VBA实现软件测试记录管理
我看竞赛
关于软件测试技术应用与发展趋势研究
基于RI码计算的Word复制文档鉴别
软件测试工程化模型及应用研究
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat