05测试过程指南
1 综述
1.1 前言 本指南的编写,是为了指导软件开发团队如何在软件过程中开展测试工作,通过测试来确认系统的要求被满足,尽可能早一些找出软件缺陷,并保证其得到修复。1.2 测试模型
测试贯穿于整个产品生命周期,与其它的活动,如需求分析、设计、编程等等交织在一起。软件项目一旦启动,测试就是构成项目的一个不可缺少的部分。对应于需求分析、系统设计、详细设计、编码、系统集成、alpha版发布等活动,有相应的需求分析测试、系统设计测试、详细设计测试、单元测试、系统测试、验收测试等阶段与之对应。对于迭代式的软件开发的过程,测试也以迭代方式与其对应。基于以上测试活动和其它开发活动的关系,可以将测试活动描述如下图所示:
图中的“其他流程”可以是开发过程中的任意活动,例如设计流程和编码流程,也可以是其他非开发的流程,例如SQA 流程,甚至是测试流程自身。向上的双线箭头表示,在某个时间点,由于“其他流程”的进展而(由于先后关系)引发或者(由于因果关系)触发了测试就绪点,这个时候,只要测试准备过程完成,测试执行过程就可以(或者说,需要)进行了。1.3 设备
l Dell 1600sc server。1.4 工具
采用TestDirectort、LoadRunner作为测试工具。TestManager用于测试管理。
LoadRunner用于性能测试。
还可以根据项目开发工具的情况可以选择其他测试工具。
1.5 角色
项目经理:负责分配资源,确定优先级,协调与客户和用户之间的沟通。开发人员:在软件开发过程中负责系统分析、设计、实现的人员。
测试人员:设计、执行测试和评估测试结果。
1.6 活动
2 过程描述 2.1 测试计划 测试人员在项目确定需求后开始制定测试计划,主要包括确定测试需求、测试策略、测试资源和创建时间表等。测试人员根据项目需求制定出相应的功能测试需求、性能测试需求和其它测试需求。
测试人员根据不同的测试需求和开发阶段制定相应的测试类型和目标,即测试策略。
测试计划的制定请参考《测试计划模板》。
测试策略的制定请参考《测试策略(测试大纲)模板》。
2.2 缺陷库管理
2.2.1 建立缺陷库 采用TestDirector作为缺陷跟踪管理工具,测试管理员根据立项的申请和测试计划,在配置服务器上建立基本的测试库。2.2.2 权限管理
测试管理员根据立项的申请和测试计划为项目组成员分配权限。2.2.3 缺陷严重级别
缺陷严重程度是指因缺陷引起的故障对软件产品的影响程度。l 严重
缺陷足以造成系统崩溃,造成文件不可靠或潜在的数据丢失
Bug造成非正常地返回操作系统(系统崩溃或显示系统错误信息)
Bug造成程序越或要求Reboot系统
造成缺乏关键的程序功能并无法逾越
功能缺乏给用户带来极大不方便
Bug可以绕过,但将会很不方便或很难实现
存在不明确或不完整的错误信息提示,极大地影响产品使用
由于Bug的存在使产品其它部分不能测试
由于计算方法问题,使数据错误
容错性方面存在不足
由于精度问题造成数据不一致
由于设计问题,使系统存在严重隐患
l 一般
这个Bug在将来是严重的,但比主要问题要轻
可以有一个比较简单的绕过Bug的解决方案
存在不明确或不完整的错误信息提示,但对产品使用影响较小
l 遗留
不可能被用户发现的Bug
尚无法满足的新需求
在当前release版本无法解决的问题,但不会影响用户的使用
2.2.4 缺陷优先级别
缺陷的优先级指缺陷必须被修复的紧急程度。l Must fix
这类bug对产品影响非常大,造成产品不能移交。
l Should fix
这类bug对产品影响比较大,如果产品带着bug发布给用户将会产生麻烦。
l Fix if time
这类bug对产品影响一般,如果bug被fix,产品会更好。
这类bug对产品影响一般,如果bug不影响交付期,一定要fix。
2.2.5 缺陷状态
缺陷状态指缺陷通过一个跟踪修复过程的进展情况。l Open
测试人员新提交的bug。
测试人员回归测试后,确认bug没有修正,重新提交bug。
l Verify
开发人员或项目经理在修改完bug后,给测试人员进行回归测试。
l Pending
程序员认为该bug需要项目经理予以确认。
l Allot
项目经理认为该bug 确是bug,重新分配给开发人员解决。
l Fixed
测试人员回归测试,确认bug已经解决。
l Closed
项目经理对bug 经过讨论,认为该bug 不是bug。
2.2.6 缺陷类型
缺陷类型是根据缺陷的自然属性划分的缺陷种类。l 初始化问题
l 编译问题
l 环境问题
l 功能问题
l 接口问题
l 设计问题
l 需求问题
l 性能问题
l 稳定性问题
l 兼容性问题
l 文档问题
2.3 测试设计
测试人员根据开发过程确定测试过程,并建立测试过程的结构。品质管理人员要对测试方案本身进行评审。
测试人员根据不同的测试策略采用不同的测试技术来设计满足测试需求的测试用例。测试用例在测试库中如下图所示:
2.4 测试实施 测试人员根据测试用例执行测试,并保留测试结果。测试执行记录如下图所示:
测试人员采用缺陷管理工具记录执行测试过程中发现的bug,并跟踪管理bug直到其修复。Bug记录如下图所示:
测试人员在测试完成后,根据测试结果提交测试报告。
测试报告的制定请参考《测试报告模板》。
缺陷管理工具的使用请参考知识库中的相关文档。
2.5 测试评估
测试人员采用软件度量方法对测试报告进行评估,主要包括测试覆盖和质量评测。测试评估的制定请参考《测试评价报告模板》。
2.6 测试库备份
测试管理员要定期对项目的测试库做完全备份和增量备份,以减小意外情况所造成的损失。