《软件测试方案资料》由会员分享,可在线阅读,更多相关《软件测试方案资料(34页珍藏版)》请在金锄头文库上搜索。
1、*科技有限公司 *技技术有限公司软件测试管理规定文件编号:生效日期:受控编号:密级: 版次:第 版修改状态总页数正文附件编制或修订人: 审核: 批准: (版权所有,翻版必究)目录第一章 引言4第一条 测试概述4第二条 测试目标4第三条 适用范围5第二章 测试职责5第三章 需求分析6第四章 测试策略7第四章 测试计划8第五章 测试用例8第一条 测试用例设计方法8第二条 测试用例操作步骤11第三条 测试用例选择准则11第四条 测试软/硬件环境12第五条 测试数据准备12第六条 测试执行过程绩效考核12第六章 测试执行12第一条 项目测试周期12第二条 项目测试启动12第三条 项目测试阶段13第四条
2、 项目测试结束13第五条 测试执行过程绩效考核13第七章 测试变更14第八章 缺陷管理14第一节 缺陷基本属性14第二节 缺陷管理流程15第三节 缺陷分类16第四节 缺陷定义18第五节 缺陷完成度19第六节 处理机制20第九章 测试结果分析20第一节 测试完成的标准20第二节 允许保留的缺陷21第十章 测试输出文档21第一章 引言第一条 目的本规定详细阐述了系统测试的类型与各类型的基本测试方法,指导项目人员进行软件系统测试。第一条 测试概述无论怎样强调软件测试的重要性和它对软件可靠性的影响都不过分。在开发大型软件系统的漫长过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与
3、工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此,在软件生命周期的每个阶段都不可避免地会产生差错。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早地发现并纠正差错;经验表明审查并不能发现所有差错,此外在编码过程中还不可避免地会引入新的错误。如果在软件投入生产性运行之前,没有发现并纠正软件中的大部分差错,则这些差错迟早会在生产过程中暴露出来,那时不仅改正这些错误的代价更高,而且往往会造成很恶劣的后果。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。软件测试在软件生命周期中横跨
4、两个阶段。通常在编写出每个模块之后就对它做必要的测试(称为单元测试),模块的编写者和测试者是同一个人,编码和单元测试属于软件生命周期的同一个阶段。在这个阶段结束之后,对软件系统还应该进行各种综合测试,这是软件生命周期中的另一个独立的阶段,通常由专门的测试人员承担这项工作。大量统计资料表明,软件测试的工作量往往占软件开发总工作量的40以上,在极端情况,测试那种关系人的生命安全的软件所花费的成本,可能相当于软件工程其他开发步骤总成本的三倍到五倍。因此,必须高度重视软件测试工作,绝不要以为写出程序之后软件开发工作就接近完成了,实际上,大约还有同样多的开发工作量需要完成。仅就测试而言,它的目标是发现软
5、件中的错误,但是,发现错误并不是我们的最终日的。软件工程的根本目标是开发出高质量的完全符合用户需要的软件。第二条 测试目标下面这些规则也可以看作是测试的目标或定义: (1)测试是为了发现程序中的错误而执行程序的过程; (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案; (3)成功的测试是发现了至今为止尚未发现的错误的测试。从上述规则可以看出,测试的正确定义是“为了发现程序中的错误而执行程序的过程”。这和某些人通常想象的“测试是为了表明程序是正确的”,“成功的测试是没有发现错误的测试”等等是完全相反的。正确认识测试的目标是十分重要的,测试目标决定了测试方案的设计。如果为了表明程序是
6、正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。因此,在综合测试阶段通常由其他人员组成测试小组来完成测试工作。此外,应该认识到测试决不能证明程序是正确的。即使经过了最严格的测试之后,仍然可能还有没被发现的错误潜藏在程序中。测试只能查找出程序中的错误,不能证明程序中没有错误。第三条 适用范围范围本规范是对项目软件测试的一份指导性文件,对软件测试过程中所涉及到的测试理论、测试类型、测试方法、测试标准、测试流程以及软件产品开发单位所
7、承担的职责进行总体规范,以有效保证软件产品的质量。 第二章 测试职责测试职责是指在项目开发过程中跟测试工作有关的角色进行任务分配的,主要包含的角色以及工作职责如下: 测试组长:由测试经理或项目经理指定项目组成员其他人员担任,测试组长负责: 分析需求并进行细化可用于执行测试的需求 制定测试计划 参与、跟踪测试过程 对测试活动和结果进行分析,撰写测试分析报告 测试人员:由项目组成员担任,负责: 根据测试计划编写测试用例 搭建测试环境,准备测试脚本 执行测试,记录测试结果和缺陷 执行回归测试 开发人员:由项目组成员担任,负责: 单元测试功能开发完毕之后,提交测试之前的确认测试第三章 需求分析测试准备
8、首先了解前期的需求调研报告、客户提出的业务需求功能点,以及本公司对需求的理解及说明,其次参加需求评审、设计评审。通过对文档分析,分解各功能模块,各功能点,为测试用例设计提供数据依据。反复检查并理解各种信息,和用户交流,理解他们的要求。可以按照以下步骤执行: 1)确定软件提供的主要商业任务 2)对每个商业任务,确定完成该任务所要进行的交易。 3)确定从数据库信息引出的计算结果。 4)对于对时间有要求的交易,确定所要的时间和条件。这些条件包括数据库大小、机器配置、交易量、以及网络拥挤情况。 5)确定会产生重大意外的压力测试,包括:内存、硬盘空间、高的交易率 6)确定应用需要处理的数据量。 7)确定
9、需要的软件和硬件配置。通常情况下,不可能对所有可能的配置都测试到,因此要选择最有可能产生问题的情况进行测试,包括:最低性能的硬件、几个有兼容性问题的软件并存、客户端机器通过最慢的LAN/WANF连接访问服务器。 8)确定其他与应用软件没有直接关系的商业交易。包括:管理功能,如启动和推出程序 配置功能,如设置打印机 操作员的爱好,如字体、颜色 应用功能,如访问email或者显示时间和日期。 9)确定安装过程,包括定置从哪安装、定制安装、升级安装。 10)确定没有隐含在功能测试中的户界面要求。大多界面都在功能测试时被测试到。还有写没有测到,如:操作与显示的一致性,如使用快捷键等;界面遵从合理标准,
10、如按钮大小,标签等。第四章 测试策略测试策略用于说明某项工作的测试方法与目标。系统测试策略主要针对系统测试需求确定测试类型及实施的测试方法与技术。测试策略一般包括下列内容:一、 要实施的测试类型与目标确定系统测试策略首先要清楚地所实施系统测试的类型和测试目标。系统测试类型一般包括:1. 功能测试2. 性能测试3. 负载测试4. 强度测试5. 容量测试6. 安全性测试7. 配置测试8. 故障恢复测试9. 安装测试10. 文档测试11. 用户界面测试其中,功能测试,配置测试,安装测试在一般情况下是必需的,其它类型的测试可根据需求进行裁剪。二、 采用的技术:系统测试主要采用黑盒测试技术来设计测试用例
11、来确定软件是否满足需求规格说明中的要求。三、 用于测试评估结果和测试是否完成的标准四、 对测试策略所述的测试工作存在影响的特殊事项第四章 测试计划根据测试的种类,测试计划分为功能测试和性能测试计划。测试计划旨在说明各测试阶段任务、人员分配、时间安排、测试要点、工作规范等。测试计划在策略和方法方面说明如何计划、组织和管理测试项目。测试计划包含足够的信息使测试人员明白项目需要做什么是如何运作的。测试计划不包括测试用例的细节和系统功能的详细信息。测试计划应附有测试功能点矩阵、测试性能点矩阵。测试计划应在项目组内进行评审。参与测试计划评审的人员包括:项目经理、测试组长、开发组长、测试组员。第五章 测试
12、用例测试用例是为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。解决要测什么、怎么测和如何衡量的问题。从测试结构上面划分分为黑盒测试、和百盒测试2种,他们各自有不同的测试方式,目前本公司只考虑黑盒测试,以下设计方法以黑盒方法为例1.1.1. 第一条 测试用例设计方法黑盒测试用例设计方法有等价类测试、边界值分析、基于因果图的测试、基于猜错的测试、基于场景的测试、基于随机的测试。其中常用的设计方法有等价类测试、边界值分析、因果图三种方法,以下分别介绍这几种方法:等价类划分 等价类划分是一种典型的黑盒测试方法。等价类是指某个输入域的集合。它表示对揭露程序中的错误
13、来说,集合中的每个输入条件是等效的。因此我们只要在一个集合中选取一个测试数据即可。等价类划分的办法是把程序的输入域划分成若干等价类,然后从每个部分中选取少数代表性数据当作测试用例。这样就可使用少数测试用例检验程序在一大类情况下的反映。 在考虑等价类时,应该注意区别以下两种不同的情况:有效等价类:有效等价类指的是对程序的规范是有意义的、合理的输入数据所构成的集合。在具体问题中,有效等价类可以是一个,也可以是多个。无效等价类:无效等价类指对程序的规范是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。确定等价类有以下几条原则:如果输入条件规定了取值范围或
14、值的个数,则可确定一个有效等价类和两个无效等价类。例如,程序的规范中提到的输入条包括“项数可以从1到999”,则可取有效等价类为“l考项数999”,无效等价类为“项数l,及“项数999”。输入条件规定了输入值的集合,或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。如某程序涉及标识符,其输入条件规定“标识符应以字母开头”则“以字母开头者”作为有效等价类,“以非字母开头”作为无效等价类。如果我们确知,已划分的等价类中各元素在程序中的处理方式是不同的,则应将此等价类进一步划分成更小等价类。输入条件有效等价类无效等价类。 根据已列出的等价类表,按以下步骤确定测试用例:为每个等价类规定一个唯一的编号;设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖;设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步,使所有无效等价类均被覆盖。这里强调每次只覆盖一个无效等价类。这是因为一个测试用例中如果含有多个缺陷,有可能在测试中只发现其中的一个,另一些被忽视。等价类划分法能够全面、系统地考虑黑盒测试的测试用例设计问题,但是没有注意选用一些“高效的”、“有针对性的”测试用例。后面介绍