首页 理论教育 以能力培养为主线,改革软件测试课程教学

以能力培养为主线,改革软件测试课程教学

时间:2022-02-25 理论教育 版权反馈
【摘要】:本文对软件测试课程的教学改革进行初步的探讨,提出课程改进的具体措施。为了满足社会和行业的需求,很多高校计算机专业都开设了专门的软件测试课程。QTP是目前主流的功能测试工具,掌握后可提高学生的测试水平,提升其求职信心,提高其就业竞争力。其特点是以实践环节为主,辅助以必要的教学指导。“保温杯装满100℃的水,8小时后水温能否保持在80℃以上”,这就是针对保温杯保温性能的测试。

朱琳玲

|摘要| 软件测试在软件开发过程中的作用越来越受到重视,为了培养软件测试应用型人才,加强软件测试的课程建设已成为专业课程体系建设的重要内容之一。本文对软件测试课程的教学改革进行初步的探讨,提出课程改进的具体措施。

关键词 软件测试 职业技能 实践教学 主题教学 就业指导

随着软件测试在软件开发中的作用及重要性的凸显,其地位也得到了极大的提高,企业对软件测试人才的需求量急剧增加,软件测试人才呈紧缺状态。为了满足社会和行业的需求,很多高校计算机专业都开设了专门的软件测试课程。课程的主要任务是通过学习软件测试理论知识和业界主流及通用技术,使学生掌握软件测试的基本概念和基本理论;熟悉主流自动化测试工具,掌握基本测试技术和方法,将其应用到实践中;能按照所学技术、策略和方法进行测试工作,完成测试任务。

软件测试是一门具有很强实践性的面向实际应用的课程,如何紧密结合市场需求,培养软件测试应用型人才是衡量软件测试课程成功与否的关键。以下是笔者结合教学中的体会和实践对软件测试教学改革的初步探索。

一、与软件测试工程师所需能力相对接,改革课程教学内容

软件测试是到相应行业就业前的衔接性课程,所以课程内容应该与软件测试工程师所需要的能力相对接,增加学生的就业竞争力。软件测试工程师所需具体能力,按测试的阶段可分为:编写测试计划;编写测试用例;搭建测试环境;测试工具的使用及编写测试脚本;执行测试、进行bug验证、进行测试记录;编写测试报告并对测试结果进行分析。

笔者通过对以上能力的仔细分析后,找出软件测试课程中所需的知识和技能,对学生进行重点培养,如编写测试用例、测试工具的使用及编写测试脚本、执行测试、进行bug验证、进行测试记录等。

明确在课程中需要重点培养的知识和技能后,则需要在相关的教学模块中加强对这些知识和技能的培养。

1.加强学生设计测试用例的能力

测试工程师编写用例主要涉及的是黑盒测试方法,所以课程重点讲授了等价类划分法、边界值分析法、判定表法、因果图法、场景法、正交实验法等黑盒测试技术。并对各种方法适用的范围进行详尽的分析。在白盒测试方法中,主要讲授逻辑覆盖法和基本路径覆盖法。

2.加强学生使用主流测试工具QTP的能力

自动化测试是需要大量实践学习的测试,需要学生理解自动化测试的原理,掌握主流测试工具。QTP是目前主流的功能测试工具,掌握后可提高学生的测试水平,提升其求职信心,提高其就业竞争力。

怎样在少量的课时内带领学生掌握QTP的基本使用,需要合理的案例设计,示例程序应尽量简单、易理解,使学生的精力集中在QTP的学习上。先带领学生明确使用工具进行测试的目的,剖析为达到目的进行的测试逻辑,将测试工作分解成一项项任务。接着,讲授完成每项任务所需的操作、设置及相应的实现技术,抽丝剥茧,逐步完成。在此过程中用清晰的逻辑引导学生的学习,可帮助学生有效掌握工具的使用,理解自动化测试。

3.加强学生对测试过程的了解,对bug的处理能力

处理缺陷是测试工作的核心,也是测试岗位面试中频繁出现的问题。围绕缺陷生命周期,讲述缺陷的各项属性,缺陷的状态,各类人员(测试人员、测试审核员、开发人员、测试组长、开发组长等)在缺陷的处理中采取的相应技术及过程,可帮助学生理解开发人员与测试人员、软件开发与软件测试的合作关系。同时增强学生bug的处理能力、对整个测试过程的理解能力。

二、突出学生实践应用能力培养,改革课程教学方法

1.层次化分阶段的实践能力培养方法

实践环节的教学对软件测试课程来说是至关重要的,笔者结合所在学校及学生的特点,在实践教学的设计中,实行层次化的分阶段的实践能力培养方法,将实践教学分为三个层次来加以实施。

第一层次的实践是伴随课堂教学进行的,其特点是教学与实践相互交织、相互依托,在教学中理解,在实践中掌握运用。通常是围绕局部的、相对独立的知识点的学习,结合与之对应的基本技术和技能来加以训练。例如,在进行测试技术的教学中,对黑盒和白盒测试分别设计实验内容,确保学生对测试技术的掌握。

第二层次的实践是在课程的后期,进行测试全过程的实践。其特点是以实践环节为主,辅助以必要的教学指导。全程实践环节提供一个具体的web应用程序及其需求分析,带领学生从对需求的评审,到分析出项目的测试需求,再根据测试需求设计测试用例、测试数据,测试执行记录bug,最终提交测试报告。让学生了解测试的整个过程,使其能真正运用课堂上所学知识解决实际问题,提高学生的测试水平。

第三层次的测试实践是软件测试课程的延续。其特点是学生直接在IT企业中从事软件测试岗位进行实践,结合项目实践或毕业设计在企业内实施,突出综合技能和职业素质的训练,为本专业学生的毕业设计和工作实践提供坚实的基础。本校计算机科学与技术专业与上海浦东软件园、Infosys、文思海辉等多家IT企业有着多年的校企合作经验,并与企业签定合作协议。目前有多届毕业生进入企业的测试岗位工作,毕业设计和论文有专业的测试工程师和本校教师配合进行指导。

2.主题讨论教学法

主题教学是激发学生参与教学活动的有效方法和手段。在软件测试课程的后期可以开展各种主题测试的讨论。例如,手机测试,聊天工具软件的测试等。以聊天软件主题为例,针对聊天软件测试让学生分析具体的测试点。先从功能测试入手,可以分为:登陆界面测试、注册界面测试、主窗口的测试、聊天窗口的测试、通知模块的测试、添加联系人模块的测试、UI测试、兼容性测试、状态管理模块的测试、退出功能模块的测试等。性能方面主要运用工具来模拟虚拟用户,结合压力、负载测试,测服务器能承受多少人同时在线的操作。除此之外还需要进行安全性等各项测试。

这种主题教学是深受学生喜爱的教学方式,在加强学生对具体测试概念、理论理解的同时,可以培养学生进行严谨、全面的思考,这些都是在测试中至关重要的素质。

3.案例教学法

案例教学是计算机专业实践教学中不可或缺的环节。软件测试课程的实践需要大量鲜活有效的案例。本校和企业之间的紧密合作,通过广泛的交流研讨,为课程提供了许多真实有效的项目材料。笔者也到优秀的软件测试培训机构进行多次培训,学习企业的软件测试技术及流程,将最新的技术、信息带入课堂。这些都为课程积累了大量可供教学使用的案例资源。

在测试理论教学的实施中以案例教学为导向,可以加强学生对相关概念的直观理解,真正掌握测试知识。例如,在系统测试部分的讲课中,先让学生针对“保温杯”进行测试用例的设计。“保温杯装满100℃的水,8小时后水温能否保持在80℃以上”,这就是针对保温杯保温性能的测试。“杯子是否漏水”,这既可以作为安全测试的用例(防烫伤),也可以作为易用性测试的用例(不漏水在携带时较方便)。而测试时这杯水是处于-20℃,还是20℃的室温环境中?这就可以引出测试环境这个概念。将学生设计的实际用例一一用专业的测试概念加以比对,让学生更易于理解集中出现的大量测试术语、测试概念。

测试的实践环节更应该将案例教学渗透到各层次的实践教学中,围绕实际案例进行互动式教学,提高学生实践应用能力。例如,在全程实践中,为学生提供实际的项目,让其体验测试的全过程。使用案例进行教学能够有效提高课程的教学效果。

三、将就业指导融入教学过程,使能力培养的成果落实到提升学生的就业竞争力

培养学生成为专业能力强、有自主学习能力的软件测试人才,不仅需要进行专业知识的讲授,还需要为学生提供就业指导。让学生了解软件测试行业发展状况,对人才培养的需求,以及软件测试岗位和职业发展前景,加强学生职业道德教育和行为规范教育,提高就业竞争力。

高级测试工程师需要具备测试工程师的技能,除此之外还需具有一定的行业业务知识,能够制订测试计划。参加需求评审,分析测试需求,确定具体的测试策略。

而性能测试工程师更是需要精通计算机网络、操作系统、数据库等多个领域的知识,才能分析系统的性能指标、发现系统的性能瓶颈,并进行一系列的性能调优。

让学生了解测试行业的各项具体职业可以帮助学生正确认识测试行业,并能在这个行业中看到自己的职业发展方向。本校近几年的毕业生中,许多从事软件测试工作的学生在工作中,努力工作,刻苦钻研,运用其所掌握的专业知识,在工作岗位上取得了突出的成绩,为各自的企业作出了贡献。有的学生被评为高级软件测试师。

软件测试是计算机专业的重要课程,通过上述几个方面对软件测试课程教学进行改革,使学生对测试相关理论及技术的理解得到加强,实践应用能力、解决实际问题的能力都得到提高,极大提升了学生在软件测试行业就职的竞争力。近几年本专业毕业生中有3%~5%进入测试行业。

笔者深知必须实时关注测试行业的发展,不断更新自己的相关技术,并将这些新技术、新能力融入教学中,才能为IT企业培养出与企业需求相对接、基础扎实、有自主学习能力的测试工程师。

参考文献

[1]朱少民.软件测试方法和技术[M].北京:清华大学出版社,2005.

[2]贺平.软件测试教程(第二版).2010.

[3]51软件测试论坛.http://bbs.51testing.com.

成长历程

基本情况

朱琳玲,女,1977年11月生,合肥工业大学计算机软件与理论专业硕士研究生。

目前就职于上海杉达学院,担任计算机科学与技术专业教师,主要讲授课程有:软件测试、离散数学、数据库原理与技术等。研究领域:软件测试、数据挖掘。

2008年接受了软件测试专业培训,高级软件测评师。在2008~2010年作为负责人完成了上海市重点课程“软件测试”的建设项目。在杉达期间,获得了“优秀教学奖”及“校园新星”称号。2014年里,作为参与者获得了上海市教学成果一等奖;在上海市应用型本科高校首届青年教师教学能力大赛中讲授软件测试课程,获得了三等奖。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈