项目测试规范流程
-
软件项目测试规范流程
奥尊公司测试部
< br>2012
年
9
月
修订历史记录
日期
2012/9/13
变更版本
新增
变更描述
作者
王志芳
目录
1
.
概述
.
..
..................................................
..................................................
....................................
4
1
.
1
软件测试的目的
.
< br>............................................... .................................................. ...........
4
1
.
2
软件测试的原则
.
< br>............................................... .................................................. ...........
4
1
.
3
对软件测试的错误认识
.
............................................ .................................................. ..
4
2
.
软件测试过程
.
................................................ .................................................. ........................
6
2
.
1
测试过程
.
..................................................
..................................................
....................
6
2
.
2
角色与职责
.
.................................................
..................................................
.................
9
3
.
关键活动定义
.
................................................ .................................................. ......................
11
3
.
1
测试准备
.
..................................................
..................................................
..................
11
3
.
2
测试方法设计
.
................................................ .................................................. ............
11
3
.
3
测试计划
.
..................................................
..................................................
..................
11
3
.
4
计划评审
.
..................................................
..................................................
..................
1
2
3
.
5
文档评审
.
..................................................
..................................................
..................
1
2
3
.
6
测试用例及评审
.
< br>............................................... .................................................. .........
1
2
3
.
7
环境准备
.
..................................................
..................................................
..................
1
2
3
.
8
测试执行
.
..................................................
..................................................
..................
1
3
3
.
9
缺陷
汇报
/
分析
.
......................................
..................................................
.....................
1
3
3
.
10
回归测试
.
..................................................
..................................................
................
1
3
3
.
11
随
机
/
异常测试
.
.....................................
..................................................
....................
1
4
3
.
12
阶段报告
.
..................................................
..................................................
................
1
4
3
.
13
测试报告
.
..................................................
..................................................
................
1
4
4
.
测试文档简述
.
................................................ .................................................. ......................
1
4
4
.
1
开发转测试确认表
.
..............................................
..................................................
......
1
5
4
.
2
需求变更控制文档
.
..............................................
..................................................
......
1
5
4
.
3
问题修复清单
.
................................................ .................................................. ............
1
6
4
.
4
测试计划
.
..................................................
..................................................
..................
1
6
4
.
5
测试脚本(用例)
.
..............................................
..................................................
......
1
6
4
.
6
问题报告
.
..................................................
..................................................
..................
1
6
4
.
7
缺陷分析文档
.
................................................ .................................................. ............
1
6
4
.
8
测试报告文档
.
................................................ .................................................. ............
1
6
1
.
概述
1
.
1
软件测试的目的
●
软件测试是为了发现错误而执行程序的过程
●
测试是为了证明程序有错误,而不是证明程序无错误
●
一个好的测试用例是在于它能发现至今未发现的错误
●
一个成功的测试是发现了至今未发现的错误的测试
1
.
2
软件测试的原则
●
软件测试的原则之一:
Good Enough
这
是
一
种
< br>权
衡
投入
/
产
出
比
的
原
则
,
测
试<
/p>
既
不
要
不
充
分
,
也
不
要
过
分
。
不
充
分
和
过
分
都
是
一
种
不
负<
/p>
责
任
的
表
现
。
Z
e
r
o
-
b
u
g
是
一
种
理
想
,
G
o
o
d<
/p>
-
e
n
o
u
g
h
是
我
们
的
原
则
。
●
软件测试的原则之二:
Early Best
越
早
发
现
错
误
,
因
错
误
而
导
致<
/p>
的
损
失
就
越
小
;
所
以
测
试
工
作
必
须
贯
穿
软
件
开
发
的
整
个
生<
/p>
命
周
期
,
以
期
尽
早
发
现
软
件
中
的
错
误
。
那
些
认
为
只
需
在
软<
/p>
件
开
发
完
成
后
再
进
行
系
统
测
试
的
观
点
是
错
误
的
。
●
软件测试的原则之三:
bug
的
p>
80%
原则
一般
情况下,
在分析、
设计、
实验阶段的复
审和测试工作能够发现和避免
80%
的
bug
,
而系统的软件测试能够找出其余
bug
中的
80%
。
最后约
5%
的
bug
只有在用户大范围、
长时间的使用后才会暴露出来。
因
此
测
试
只能
保
证
尽
可
能
多
地
p>
发
现
错
误
,
不
能
保
证
发
现
所
< br>有
的
错
误
。
1
.
3
对软件测试的错误认识
●
对测试的错误认识(一)
:完整的测试是可能的
——在实际操作中,完整的测试是不可能的。
——从理论上说,完整的测试也是不可能的。
●
对测试的错误认识(二)
:存在一个可以定义的测试终结点
——测试通常是在时间用完时结束
——测试是一份令人厌倦的工作
●
对测试的错误认识(三)
:测试和调试没有什么区别,除了支持调试外,测试没有别
的目的
——测试是查找潜在的错误,调试是定位已知的错误
——测试贯穿于整个软件生存期,调试主要是在软件开发过程中
——测试是发现问题,调试解决问题
——测试与调试不能相互替代,但可相互支持,相辅相成
●
对测试
的错误认识(四)
:测试是件很简单的工作,无需设计
——测试是一项具有很大创造性的工作,其工作量一点也不比代码设计小
——测试是需要设计的,一个好的测试计划或方案往往能达到事半功倍的效果
——测试设计可以是自动的,半自动的或手工编
写
2
.
软件测试过程
2
.
1
测试过程
对需要测试的任何产品,
都需要有一个测试的进入标准、
测试执
行的开始标准、
测试执
行的结束标准以及测试执行好坏的评价标
准。
本文所定义的测试流程,
也遵循这么一条基本
主线,其过程主要包括测试的进入、执行、报告、分析、结束。测试的进入往往是在需求分
析即将结束时进行的,
这样测试过程与开发过程基本同步,
有助于尽早发现系统设计的问题;
这样做的另一好处还在于测试准备充分,
p>
开发结束可立即进入测试阶段,
有助于缩短项目进
< br>度。
测试执行前的准备工作对于测试来说是至关重要的,
这些准备工作主要包括从系统需求
分析报告和概要设计文档里面获取产品信息及产品功能
特点,
并对此进行相关的分析、
总结,
然后进行测试设计:包括选择测试方法,确定测试内容、测试工具,结合产品特点确定是否
进行性能、负载、压力、安全等方面内容的测试;制定测试计划;制定详细测试执行计划及
设计测试案例。
下图是测试过
程的结构层次图,
通过这个图,
我们可以看到整个产品从需求到
产品交付
的过程中,测试和开发之间的关系以及对应的测试过程。
开发过程
需求分析
系统设计
编码
单元测试
集成测试
产品转测试
/
新版产品
修复
……
修复
/
发布产品
p>
需
求
分
析
报告
测试过程
p>
系
统
设
计
说明
测试准备
测试方法设计
单
元
测
试
报告
集
成
测
试
报告
文档评审
测试计划
计划评审
测试计划
测试用例
测试用例及评审
环境准备
文
档
评
审
记录
问题报告
测试执行
缺陷汇报
< br>/
分析
问
题
修
复
清单
回归测试
随机
< br>/
异常测试
缺陷汇报
/
分析
问题报告
阶
段
测
试
阶段报告
报告
……
缺陷分析
测试报告
测试报告
产品验收测试
产品发布
从上图我们可以看出测试任务的具体工作流程:
1
、
系统设计阶段
测试经理开始确认测试
项目,熟悉和了解用户需求,配合开发做相关资源准备。
2
、
编码、单元测试和集成测试阶段
根据
系统设计,制定和设计大体的测试框架,包括可能用到的测试方法,测试工具,确
定测试
人员,
熟悉测试产品的功能设计,
储备对应的测试需求的技术知
识,
进行必要的
测前技术培训,对测试任务进行大致的时间计划
和人员安排。
在完成上述相关准备之后,
开始进行详细的测试设计,
编写测试计划和测试用例,
并对
此进行评审。对有性能需求测试的进行性能测试设计。
即:
组建测试项目组,确定测试项目经理和组员
熟悉产品功能设计
分析可能实施的测试方法
考虑可能需要的测试工具支持
分析测试人员具备的技术需求
完成初步的产品测试进度分析
按照功能模块进行人员分工
进行必要的测前技术培训
编写测试计划,并进行项目内评审
编写测试脚本(用例)
,并进行开发参与的项目评审。
对有性能测试、负载测试及安全测
试需求的,设计专门的测试方法和用例。
3
、
新版本转测试阶段
检测开发转测试的
版本附属的文档是否全面,
如果开发转测试文档齐全,
组织测试
项目
组的成员遵照评审后的测试计划,
开始测试执行;
对发现的问题进行记录汇报;
对每个
版本发现的
问题进行分析。即:
检测转测试文档是否全面,并填写验收证明文档,其中应该包
括:
☉
系统设计(用户需求说明书)
☉
需求分析报告
☉
产品基线及说明文档
☉
产品安装文件包
☉
客户端、服务器、数据库安装、配置说明文件
☉
单元测试报告及记录
☉
集成测试报告及记录
注
:以上非黑色字体文件为必须提供的文档,文档提供不全或开发拒绝协商,测试有权拒
绝该产品的测试。
严格遵照测试计划和测试用例的测试执行
问题记录和
BUG
报告