当前位置:首页 > 专题范文 > 公文范文 >

基于项目驱动的《软件测试》课程教学探讨

时间:2022-11-19 14:25:09 来源:网友投稿

摘要:当前,软件测试人才培养模式不能完全满足行业实际需求。提出一种以软件工程实践项目为驱动的软件测试人才培养方案,将软件测试方法和质量保证策略贯穿到软件项目生命周期各阶段,达到培养软件测试应用型人才,提高其综合素质的目标。

关键词:软件测试;质量保证;生命周期;应用型人才

DOIDOI:10.11907/rjdk.151372

中图分类号:G434

文献标识码:A 文章编号文章编号:16727800(2015)008021202

0 引言

计算机硬件成本不断下降,而软件应用领域越来越广,软件所要解决问题的复杂程度也越来越高。软件功能和质量不能满足实际需求,究其原因主要有:①软件开发过程中,计算机系统观和软件工程观没有得到落实,尤其是没有采用标准工程化的思想指导软件开发,软件需求随意变更,导致软件开发成本和进度难以控制和预测[1];②软件开发过程中虽然借鉴了工程领域某些原则,但大多将软件测试这一质量保证措施放在软件开发工作全部完成后进行。软件属于特殊的智力密集型产品,很难有统一的测试方法和标准保证和控制软件质量[2]。将软件测试方法和质量保证策略贯穿到软件项目生命周期各阶段,加强软件测试对提高软件质量和开发效率尤为必要。

1 软件测试现状

从我国软件行业发展历程来看,大多企业往往注重软件设计和开发,而忽视软件测试和质量保障。大多测试工作由编写该模块代码的开发工程师来完成。软件测试和质量保证部门建制缺失,普遍认为软件测试部门可有可无,而开发人员又不愿意转为专职软件测试人员,从而导致专业技术精湛的软件测试人才缺失。

在高校教学中,往往忽视软件测试的重要性。大多学校没有专门开设软件测试与质量保证的课程,只是将其作为软件工程课程中的一个章节,仅分配4课时,且教学内容偏重于理论。教学中没有向学生灌输在软件生命周期各阶段都要对软件进行测试保障质量的思想;更谈不上在实际项目训练中运用软件测试与质量保证的原理和方法解决实际问题[3]。各高校加强教学改革,培养出具有实际经验的应用型软件测试人才尤为必要[4]。

2 软件工程化生命周期与软件测试相互结合

软件工程方法使软件开发过程具有工程化特质。它将软件生命周期分为如下几个阶段:①软件定义阶段,包括软件计划、需求分析;②开发阶段,包括软件概要设计、详细设计、编码实现、测试;③软件运行维护,包括软件运行、维护和升级。将软件工程每个阶段与软件测试和质量保证有机结合起来,形成一条主线,使软件测试和质量保证贯穿于软件生命周期中,保证软件质量[5]。软件开发生命周期各阶段对应的测试内容如表1所示。

软件工程各生命周期中完成的软件文档是检验软件质量的主要对象。程序中出现的错误,并不一定都是编码引起的,很可能产生于软件设计及需求分析阶段。解决、纠正错误需追溯到前期工作。正因如此,软件测试和质量保证工作应着眼于整个软件开发生命周期,从软件开发项目生命周期第一个阶段开始,并贯穿于整个软件开发生命周期。

3 基于项目驱动的课程改革

根据软件测试工程师应用型人才培养总体目标,基于软件工程项目实践驱动的课程安排可在同一学期开设《软件工程》、《软件测试与质量保证》两门课程。以实际软件项目为驱动,使学生深入理解软件工程、软件测试与质量保证的理论体系,并在项目实践中全面理解软件项目开发生命周期各阶段的任务以及测试方法。在整个项目实践过程中,提高软件需求分析能力、软件设计能力、编程能力、软件测试和质量保证能力,达到强化技能的目的。课程课时安排可课堂理论教学课时和专业实践课时各占一半。

在理论课堂教学中,根据不同阶段,选取具有代表性的案例,理论联系实际,使学生系统掌握软件测试和质量保证的基础理论知识。重点讲解功能测试有关内容:黑盒测试用例设计;逻辑测试即白盒测试用例的设计;白盒与黑盒混合型的灰盒测试用例设计。针对黑盒测试方法,详细讲解等价类划分法、边界值分析法、因果图法及功能图法原理和用例设计方法。可列举经典案例,如三角形等价类划分判定测试;数组边界值划分判定测试;自动售货机测试用例判定等。详细对比常用黑盒测试方法的优缺点和适用场景。针对白盒测试方法,重点讲解语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、路径覆盖方法的原理和用例设计,并列举程序设计流程图,逐一讲解方法应用,对比常用白盒测试方法的优劣和适用场景。

在实践教学中,重点讲解逻辑测试和功能测试软件工具使用。对各测试软件进行详细介绍,将理论课中已讲解的测试用例进行逐一测试。以软件工程项目小组设计的软件实践项目为驱动,做好项目测试需求,设计完整的测试用例,并逐一进行测试,以便判定实践项目软件是否满足相应的逻辑和功能要求。根据项目小组所选定的开发语言和平台,选用不同的测试软件。其中,针对功能测试重点练习HP的loadrunner 性能测试工具、QTP自动回归测试工具、wiunner功能测试工具等的使用;针对逻辑测试和项目选取不同的开发语言,重点运用C++ Test,JUnit,PHPUnit等工具完成软件项目单元逻辑测试。使用TestDirector对系统中所有测试用例数据、测试缺陷及bug进行定位、管理和跟踪。

项目小组形成完整的测试报告,提出具有可操作性的软件质量改善建议。在完善、改进测试方案的基础上,对软件项目进行迭代式再测试,使项目生命周期阶段推进和软件质量保证过程交汇推进,然后在软件项目实施的过程中完成安装、验收和运维测试,最终使软件达到软件需求规格说明书中所规定的软件功能、性能和质量标准。以软件项目为驱动的测试和质量保证各阶段工作内容如表2所示。

4 结语

《软件测试》是计算机及软件工程专业的一门核心课程,是应用型软件测试人才所必须掌握的技能。本文提出以软件实践项目为驱动,在软件开发生命周期各阶段贯穿软件测试和质量保证的思维和方法。通过软件开发过程和测试过程交叉融合,使学生将计算机系统观和软件工程观运用到开发软件中,保障软件开发质量。学生往往更乐于接受实践教学,在真实环境中开发软件,并对其进行测试,可以通过加强实践教学环节,以适应行业对测试人才能力和素质的要求。

参考文献:

[1] 秦航,杨强.软件质量保证与测试[M].北京:清华大学出版社,2012.

[2] 程茂,温静,吴玉洁.软件测试的教学研究[J].河北师范大学学报,2010(12):117120.

[3] 朱志慧.基于项目驱动的软件测试课程改革探索[J].电脑知识与技术,2014,10(33): 79607961.

[4] 董瑞志.面向软件测试工程师培养的《软件测试与质量保证》实验教学改革[J].教育教学论坛,2014(51):9495.

[5] NIIT.Software testing and quality assurance[M].上海:NIIT(中国),2011.

(责任编辑:陈福时)

推荐访问:课程教学 探讨 驱动 测试 项目

相关推荐