浅谈软件测试计划的制定

2009-10-11 07:28:24夏雪刚
电脑知识与技术 2009年14期
关键词:测试计划软件测试

摘要:讨论了软件测试过程中编写测试计划这一环节,指出了测试计划的任务和作用,并通过图书管理系统这一项目,说明了测试计划包含的内容,并总结出测试计划制定时的关注点。

关键词:测试计划;软件测试;计划制定

中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)14-3719-02

Discusses the Software Testing Plan Shallowly the Formulation

XIA Xue-Gang

(Electrical and Mechanical Engineering, Shaanxi Railway Institute, Weinan 714000, China)

Abstract: Discusses the software testing process of the preparation of this aspect of the test plan, pointing out that the test plan and the role of the task, and through library management system, describes the testing plan content, and summed up at the time of the test plan concerns.

Key words: test plan; software testing; plan formulation

1 引言

在国内,很多中小型软件公司,软件测试过程不规范,很多软件测试人员没意识到测试计划的重要性,对软件测试工作缺乏整体的规划安排,有很多软件测试项目在没有制定充分的测试计划或者没有制定测试计划情况下,就匆忙展开测试工作,这样导致了测试工作大打折扣,甚至使测试计划成为一纸空文,不能指导测试过程。几乎可以肯定的是,没有计划地消耗测试所需的资源,必然会导致资源的浪费,并且无法对安装前进行的修正状态进行评估,甚至造成很多软件不能投入使用。

2 测试计划的任务和作用

2.1 测试计划的任务

软件测试是有计划、有组织和有系统的软件质量保证活动,而不是随意地、松散地、杂乱地实施过程。测试计划是软件测试中最重要的步骤之一,测试计划的任务是为了尽早明确测试工作的内容范围、测试工作的方法以及测试工作所需要的各种资源, 并把这些信息发布给所有涉及到测试工作的测试人员, 尽快将下一步测试工作需要考虑的问题和准备的条件落实下来。也就是说测试计划工作的重点在于对测试工作任务的准备和规划以及信息的交流。在对软件进行测试之前,必须认真制定测试计划。

2.2 测试计划的作用

测试计划的作用主要体现在下面三个方面:

1) 领导能够根据测试计划做宏观调控,进行相应资源配置等。

2) 测试人员能够了解整个项目测试情况以及项目测试不同阶段所要进行的工作等。

3) 便于其他人员了解测试人员的工作内容,进行有关配合工作。

4) 对开发人员的开发工作,整个项目的规划,项目经理的审查都有辅助性作用。

3 测试计划的定义和内容

3.1 测试计划的定义

《IEEE软件测试文档标准829-1998》将测试计划定义为:“一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。它确认了测试项、被测特征、测试任务、人员时间安排以及与计划相关的风险。”[1]。

软件测试计划是指导测试过程的纲领性文件,其中必不可少的三个要素是时间、资源、范围。时间就是什么时候做以及要花多久做;资源就是你要调用的人力、机器等资源;范围是你要测试的东西以及测试重点。除以上提到的3项外,还有比较重要的部分有策略(具体就是怎么测)、风险控制(一旦有问题采取什么应急措施)等部分。

3.2 测试计划的内容

下面结合图书管理系统的测试计划的制定,来讨论测试计划一般应该包括的内容:

1) 测试概要:摘要说明所需测试的软件(系统基本功能和特征等)、测试背景、名词解释、以及列出所参考的相关文档。如图书管理系统的功能简介,特征是基于B/S的Web软件等;相关的参考文档有:图书管理系统的需求说明书、总体设计说明书、数据库设计说明书、详细设计说明书等。

2) 测试目标:对测试目标进行简要的描述。制定被测软件的产品质量目标和软件测试目标。如图书馆管理系统测试目标是各项功能可靠实现,在系统的安全性方面和性能方面满足用户需求等。

3) 测试范围和优先级:指出需要测试的范围,哪些需要重点测试、哪些无需测试、无法测试或推迟测试。测试的范围包括文档和软件系统,如文档有图书管理系统需求说明书、总体设计说明书、数据库设计说明书、详细设计说明书;软件各功能模块,重点需要测试的是系统需求说明书、图书管理模块、读者管理模块、借还书模块。

4) 重点事项:列出需要被测软件的所有主要功能和测试重点。如图书管理系统的主要功能是:管理员能够对图书信息、读者信息进行添加(单项数据和批量数据进行添加)、删除、修改,可以实现借还书的操作,添加管理员和设置管理员权限、密码等;对于读者来说可以通过校园网内任意一台客户机查询图书信息和个人借书情况。对图书信息、读者信息进行添加(单项数据和批量数据添加)、删除、修改,可以实现借还书的操作是测试的重点。

5) 资源需求:指测试所需要的软硬件、测试工具、必要的技术资源、培训和文档等。

6) 人员组织:需要多少人进行测试,各自的角色和责任,他们是否需要进行相关的学习和培训,什么时候他们需要开始,并将持续多长时间。

7) 测试策略:制定测试整体策略、所使用的测试技术和方法。本系统采用的策略是:黑盒法--白盒法--黑盒法的循环过程。对逻辑结构复杂的模块采用白盒法;对于以输入、输出为主的模块,采用黑盒法测试以提高测试效率。鉴于本系统测试为基于web的系统测试,所以需额外测试系统在不同Windows操作系统下的浏览器端的显示是否正常以及进行安全性和可用性测试。因此在功能测试中需添加Cookies测试;性能测试中添加浏览速度测试以及安全性测试。

8) 测试开始/完成/延迟/继续的标准:测试计划中每个阶段要明确表明测试开始、完成的标准,并且测试的输入、输出条件要清楚;某些时候,测试计划会因某种原因(如过多阻塞性的Bug)而导致延迟,需指出问题解决后测试继续测试的标准。

9) 测试进度、任务和人员安排:制定详细的测试进度,并将测试工作合理分配给不同的测试人员,并注意先后顺序。对于长期大型的测试计划,可以使用里程碑表示进度的变化。

10) 风险分析:需要考虑测试计划中可能的风险和解决方法。如由于系统压力测试和性能测试中只能模拟几百台计算机访问系统,对于上千人同时访问系统的情况不可知,只能在系统投入使用后,发现问题时进行完善。

11) 发布提交:在按照测试计划进行测试后,提交需要交付的软件产品、测试案例、测试数据及相关文档等。图书管理系统测试完成后,需要提交软件测试报告、软件测试计划、测试案例、测试数据等相关文档和相应的图书馆管理系统软件。

测试计划的内容会因不同的项目以及项目的大小而有所不同,可以在上面的内容中进行相应的取舍。

4 测试计划制定的关注点

制定一份切实可行的软件测试计划,需要关注以下几个方面:

4.1 计划尽早开始和测试阶段划分

就通常软件项目而言,基本上采用“瀑布型”开发方式,这种开发方式下,各个项目主要活动比较清晰,易于操作。整个软件生命周期为“需求-设计-编码-测试-发布-实施-维护”。然而,将制定测试计划和测试工作全部放入生命周期的“测试阶段”,这样造成的问题是浪费了开发阶段可以并行的项目日程。合理的测试阶段应遵循下面划分方法:在项目的需求分析阶段就开始制定测试计划,并在设计和编码阶段不断完善测试计划,而测试设计也可以结合在开发过程中实现并行,执行测试的活动贯穿整个开发过程中。

4.2 坚持“5W+H”规则[6],明确内容与过程

“5W”规则指的是“What(测试哪些方面,不同阶段的工作内容)”、“Why(为什么要进行这些测试)”、“When(测试不同阶段的起止时间)”、“Where(相应文档,缺陷的存放位置,测试环境等)”、“who(项目有关人员组成,安排哪些测试人员进行哪些测试)”、“How(如何去做,使用哪些测试工具以及测试方法进行测试)”。利用“5W+H”规则创建软件测试计划,明确测试的目标,在需要测试的内容里并突出关键部分,可以列出关键及风险内容、属性、场景或者测试技术。对测试过程的阶段划分、文档管理、缺陷管理、进度管理给出切实可行的方法。

4.3 明确标准

测试计划是指导测试人员进行测试的,而且测试工作往往是多人参与,因此必须指明各种标准,这些标准主要包括:

1) 接受测试标准:指开发组完成相应的文档和程序后,送测试组测试时,测试组接受的标准,如果不满足此标准则拒绝测试。

2) 测试开始/停止的标准:在制定测试策略时,对每一个测试项目要明确指出该项测试的开始和停止标准。

3) 命名标准:测试文档的命名标准,如测试用例文件名命名标准,测试用例编码标准等,如测试用例中的编号规则可以使用:功能名_界面名(每个字第一个汉语拼音大写)_编号。例如:借还书信息第一个用例,JH_TS_0001。

4.4 分别创建测试计划与测试详细规格、测试用例

编写软件测试计划要避免一种不良倾向是测试计划的“大而全”,无所不包,篇幅冗长,长篇大论,重点不突出,既浪费写作时间,也浪费测试人员的阅读时间。“大而全”的一个常见表现就是测试计划文档包含详细的测试技术指标、测试步骤和测试用例。最好的方法是把详细的测试技术指标包含到独立创建的测试详细规格文档中,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。

4.5 采用评审和更新机制,保证测试计划满足实际需求

测试计划包含多方面的内容,编写人员可能受自身测试经验和对软件需求的理解所限,而且软件开发是一个渐进的过程,所以最初创建的测试计划可能是不完善的、需要更新的。需要采取相应的评审机制对测试计划的完整性、正确性、可行性进行评估。例如,在创建完测试计划后,提交到由项目经理、开发经理、测试经理、市场经理等组成的评审委员会审阅,根据审阅意见和建议进行修正和更新。

5 结束语

好的测试计划是成功的一半,另一半是对测试计划的执行。对小项目而言,一份更易于操作的测试计划更为实用,对中型乃至大型项目来看,测试经理的测试管理能力就显得格外重要,要确保计划不折不扣的执行下去,测试经理的人际谐调能力,项目测试的操作经验、公司的质量现状都能够对项目测试产生影响。另外,计划也是“动态的”,是紧追项目的变化,实时进行思考和贯彻,根据现实修改,一份切实可行的测试计划再加上成功实施,才能实现测试计划的最终目标--保证软件项目最终产品的质量。

参考文献:

[1] Patton R.软件测试[M].张小松,译.北京:机械工业出版社,2007:177-186.

[2] 软件测试网.做好测试计划和测试用例的工作的关键是什么?[EB/OL].http://www.51testing.com/?action_viewnews_itemid_84567.html.

[3] 夏雪刚,卢顺利,支高英.图书管理系统相关文档[D].陕西:宝鸡文理学院,2003.

[4] 张靖,贲可荣,罗云锋.软件测试研究综述[J].武汉:计算机与数字工程,2008(10).

[5] Perry W E.软件测试的有效方法[M].高猛,译.北京:清华大学出版社,2008:151-207.

[6] 测试时代网.如何编写软件测试计划[EB/OL].http://www.testage.net/html/71/n-156071-2.html.

[7] 陈霖,张瑞.软件测试的风险管理[J].湖北武汉:计算机与数字工程,2008(6).

[8] 测试时代网.软件测试的计划与管[EB/OL].http://www.testage.net/TestTech/TM/200601/52.htm.

猜你喜欢
测试计划软件测试
基于改进V模型的软件测试过程研究
基于OBE的软件测试课程教学改革探索
计算机教育(2020年5期)2020-07-24 08:53:20
航天软件测试模型构建与应用
软件(2020年3期)2020-04-20 01:45:34
嵌入式软件单元测试方法研究
软件工程(2019年8期)2019-09-04 10:00:46
EXCEL和VBA实现软件测试记录管理
电子制作(2018年16期)2018-09-26 03:27:18
关于软件测试技术应用与发展趋势研究
电子测试(2017年15期)2017-12-18 07:19:20
惠普ALM工具在软件测试管理中的应用
法国增加EPR压力容器测试内容
国外核新闻(2016年5期)2016-03-17 10:08:45
大众VAS5054诊断仪操作介绍(四)
智能电能表软件测试技术概述