校企合作视野下软件测试课程开发与建设

2017-01-21 16:52吴伶琳
软件导刊 2016年12期
关键词:软件测试高等职业教育课程设计

吴伶琳

摘 要:随着高等职业教育改革的不断推进,“深化产教融合、校企合作”已经成为改革大方向。从软件测试课程教学中存在的问题出发,阐述了校企合作以工作过程导向进行课程设计的理念;针对高职院校软件测试课程教学过程中普遍存在的问题,通过教学内容调整、教学方法与手段改进、课程资源建设、考试方法改革等措施,对课程进行了建设和改革。实践表明,课程改革成效明显,并且课程特色鲜明、内容新颖生动,提升了软件技术人才的培养质量。

关键词:高等职业教育;课程设计;校企合作;软件测试

DOIDOI:10.11907/rjdk.162329

中图分类号:G434

文献标识码:A文章编号:1672-7800(2016)012-0197-03

0 引言

随着软件技术在社会各领域的广泛应用,人们开始越来越关注软件产品质量,软件测试作为软件质量保证的重要途径也因此受到行业领域的关注与重视,软件测试岗位的就业前景也变得越来越好。在《国务院关于加快发展现代职业教育的决定》中,提出“深化产教融合、校企合作”[1]。随着技术的发展、产业结构调整的不断加快,持久深入的校企合作已经逐渐成为高职院校课程开发质量的关键要素之一。

《软件测试基础》课程大多在高职院校的计算机类专业中开设,但是普遍存在着课程内容更新慢,教学方法、手段陈旧,课程评价考核单一的问题,导致学生学习兴趣不大,学习效果不佳。该课程在苏州健雄职业技术学院是软件技术专业的一门专业基础课,该院与上海博为峰软件技术股份有限公司、上海泽众软件科技有限公司等从事软件测试的IT企业紧密合作,对课程进行了一系列建设和改革,培养了一大批软件测试人才,受到企业的一致认可。

1 以工作过程为导向的课程设计

课程组成员结合计算机等级考试、计算机软件专业技术资格考试和国际软件测试资质认证(ISTQB)的考试大纲,以及行业、企业对软件测试员的人才需求,与企业专家共同确定本课程的目标为:使学生了解软件测试的发展前景,掌握测试的基础知识,了解测试用例的概念、意义;能够搭建测试环境,掌握常用的黑盒、白盒用例设计方法,能够进行简单的手动功能测试并撰写测试报告与缺陷报告;了解常用的自动化测试工具、性能测试工具,理解测试工具的原理,了解测试管理的概念与流程等。

本课程以软件测试工程师的工作过程为导向,按照软件技术专业培养目标与高职学生的特点,将测试基础知识、相关技术方法、测试管理贯穿在整个测试流程中,从而构建测试各阶段所需的知识与技能。在课程中以“虚拟公司”作为组织形式,在运作过程中充分体现职业教育行为导向和职业性原则。行为导向,即创造师生互动的仿真情境,使学生通过自主协作式学习方式,反复操练,从而形成符合企业要求的行为方式和职业能力。职业性原则,即要求实训目标和就业目标高度一致[2]。学院与企业共建实训平台,通过具体工程项目及案例素材,使用测试管理工具从测试需求建起,测试模块划分、测试用例设计、测试用例执行、缺陷管理,加强学生对测试管理工具的使用。

2 以工作项目为载体的学习情境创设

《软件测试基础》课程最好在第三学期开设,因为这时学生对软件行业已有一定了解,并已具备初步的编程经验,课程共计64学时。依据软件测试的工作过程可以将课程划分为6个学习情境,共15个工作任务,具体如表 1所示。

学习情境1中主要让学生认识缺陷并知道缺陷产生的原因,掌握软件测试的定义、目的、分类和原则,熟悉V模型、W模型、H模型等软件测试的常见模型;熟练掌握软件质量模型的分类和各个评价指标,并明确软件质量与软件测试之间的关系;会查询互联网中的招聘信息,分析软件测试工程师的岗位职责及发展路径,并尽早做好职业生涯规划。

学习情境2中让学生能够明确软件测试的依据,并阅读需求规格说明书,理解测试需求的概念,会对测试需求进行挖掘;能够理解测试计划的重要性,知道测试计划的一般组成要素。

学习情境3中让学生能够理解黑盒测试、白盒测试、灰盒测试的基本概念及它们之间的区别与联系;能够灵活地运用黑盒测试的常用方法,如等价类划分、边界值、决策表、因果图、场景法、正交表等来设计测试用例;能够灵活地运用白盒测试的常用方法,如逻辑覆盖法、基本路径法等设计测试用例。

学习情境4中让学生学会测试环境的搭建,如在虚拟机中部署PHP、JSP、.NET等应用程序;理解单元测试、集成测试、系统测试、验收测试的概念及基本流程,熟悉集成测试的策略,能够使用JUnit 等工具来开展单元测试;能够掌握缺陷的概念,会正确记录缺陷,掌握缺陷报告的基本格式与内容。

学习情境5中要让学生理解测试总结的意义和重要性,并了解测试总结报告的格式与内容。

学习情境6中能让学生掌握手动测试与自动化测试的区别,了解自动化测试、性能测试等工具的原理,初步掌握脚本的录制和参数的设定,为后续课程的学习奠定基础。

3 “互联网+教育”方式的课程改革深化

3.1 利用雨课堂平台实施线上线下混合教学

合理运用互联网新技术,由传统教学向线上线下混合式教学方式转变,打破以往学生学习时空的限制,按需学习,让教育教学资源得到最大化共享。由于本课程概念较多,课程学习后还需通过工信部的考证,线上教学教师通过清华大学研制的雨课堂平台将PPT课件、微课、测试等资料上传至云空间,并推送到学生的移动终端上,督促学生做好预习、复习工作,学生所有的学习行为数据均被自动完整采集,有助于量化了解学生学习效果并把握学生学习轨迹[3];传统的线下面授,则重点解决学生的疑难困惑问题,提高教学效率。

3.2 改进教学方法提高学生学习兴趣

3.2.1 案例教学法

由于软件测试的理论相对枯燥,在课堂教学中应根据情况选取具有代表性的工程案例,理论联系实际,使学生系统地掌握软件测试和质量保证的相关知识。如讲解软件测试的原则和阶段时,可以引入如下工程案例:“某公司在研发一个工程项目管理系统时,测试工作在系统开发初步完成之后,开始并直接进行系统测试。测试工程师针对界面进行了功能测试。测试工程师和开发工程师交互进行测试与缺陷修复工作。”通过带领学生进行分析,熟练运用测试原则,并加深学生对软件测试概念的理解与记忆。

3.2.2 比较学习法

该课程的概念非常多,对于初次接触的学生很容易混淆,也不容易记忆。可以通过图示、表格等方式对重点的概念进行比较,从而让学生深入理解。比如在讲解黑盒与白盒概念的时候,学生会感觉很抽象,此时可以通过图示比较的方式向学生形象地展示两者的不同,如图 1所示。从图中不难看出两种测试方法中系统都会有输入和输出,但是黑盒的内部是不可见的,就像一个黑匣子,而白盒的内部可以清晰地看到程序,因此对测试人员是透明的。

此外,为了较好地归纳出两者的区别,也可以采用表格的方式将两者的不同之处梳理出来,如表2所示。

3.2.3 行动教学法

为了避免高职学生面对概念而产生厌学心理,在教学过程中要设计各种活动让概念尽量变得生动鲜活。比如在介绍各类软件测试模型时,如果仅仅是依照教材中的图示为学生阐释各种模型,学生会感觉非常枯燥,因而不容易记住。根据高职学生的特点,合理设计任务,如先让学生利用网络检索并自主学习各类软件测试模型,而后用Visio工具绘制模型,学生就会乐于接受,并且在动手绘制模型的实践活动中,自然而然地将各种模型的内容、特点等牢牢记住。

3.2.4 项目教学法

通过企业真实的工程项目作为载体,能够使学生深入地理解软件测试在软件整个生命周期中的作用,逐渐培养具备系统分析、系统设计和软件编程等方面的能力。由于软件测试人员的工作是找出软件中的错误,并经常同系统设计者和编程人员交流,因此严谨的工作习惯、良好的沟通能力和团队合作精神也是软件测试人员所必需的[4]。项目教学中以小组为单位,学生分配不同的角色,如测试组长、软件测试员、开发人员、项目经理等。学生在完成项目任务的过程中既能独立思考,也可以进行小组讨论,提出自己的见解和意见,这些都有利于培养学生的沟通能力和合作精神。

3.3 建立多元的过程化考核评价指标

课程组成员参考企业员工的评价方式,建立了基于工作过程的多元化过程考核指标,并增大学生实践能力考核比例,引入第三方认证,注重学生职业素养等能力的养成。具体考核方式如表 3所示。

过程考核含有职业素养、作业、项目、技能和第三方认证。其中,职业素养主要考核学生时间管理、合作精神、学习主动性、积极性、创新能力等;作业主要考核学生课后完成报告、实训的情况;项目考核主要考核学生各类测试文档撰写、测试工具的使用情况,采用学生自评、小组互评和教师评价表,并分别占20%、50%和30%的权重;技能考核主要考察学生在规定时间内完成测试任务的能力,标准由企业专家与职业院校教师共同制订,企业工程师也会担任考官;第三方认证是在学期末进行的针对课程基础理论、技能的综合考试,主要考查学生对软件测试基础知识、理论的掌握能力,如工信部的软件测试工程师中级考证。多元化的考核避免了传统考核的单一性、偶然性,改变了重点以期末考试分数作为学生成绩评价标准的过于呆板的教学评价制度[5]。

4 结语

校企合作开展课程开发和建设,学校与企业工程师共同制定课程标准,使该课程内容更符合行业、企业的需求;进行教学方法和教学手段改革,改变了以往学生被动的学习状态,提高了学生的学习兴趣。而线上线下的混合教学模式,确立了学生的主体地位,拓展了学生学习的时间和空间。尤其改革中以软件项目为载体让学生掌握软件测试的基本概念、工具、方法和流程,为学生建立起了软件测试的系统观。在今后的改革中,要进一步加强测试类课程与开发类课程的融合,增强学生的软件开发能力,以适应行业对测试人才能力和素质提出的更高要求。

参考文献:

[1] 李志宏.产教融合阶梯式课程的开发与实施——以电子商务专业“网店客服”课程为例[J].中国职业技术教育,2015(8):88-92.

[2] 刘潇潇.基于模拟公司工作情境的高职《物流综合实训》课程设计[J].职业技术教育,2013,34(20):16-18.

[3] 臧晶晶,郭丽文.滴水成雨——走进雨课堂[J].信息与电脑,2016(8):235-236.

[4] 王帅,朱彬,李丽萍.软件测试课程建设的几点措施[J].计算机教育,2010(16):66-68.

[5] 翟秀军.高职专业课程“多元化”过程考核评价改革实践——以汽车专业课程为例[J].职业技术教育,2016,37(2):57-59.

(责任编辑:孙 娟)

猜你喜欢
软件测试高等职业教育课程设计
基于OBE的软件测试课程教学改革探索
龙凤元素系列课程设计
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
纺织行业职业结构变迁对高职现代纺织专业人才培养的启示
软件测试工程化模型及应用研究
基于Articulate Storyline的微课程设计与开发
基于自动化系统的PLC课程设计
开放大学课程设计与资源开发