一:软件测试的阶段划分
可以从三个角度来将软件测试划分为多个阶段:
1. 面向软件测试操作类型的划分,如调试、集成、确认、验证、组装、验收、操作;
2. 面向软件测试对象粒度的划分,如语句、结构、单元、部件、配置项、子系统、系统、大系统;
3. 面向软件测试实施者的划分,如开发者、测试者、验收者、使用者。
二: 软件测试阶段的步骤
每个软件测试阶段都要经历以下步骤:测试需求分析、测试过程设计、测试实现、测试实施、测试评价、测试维护。
2.0 a 测试需求分析
测试需求是整个测试过程的基础;确定测试对象以及测试工作的范围和作用。用来确定整个测试工作(如安排时间表、测试设计等)并作为测试覆盖的基础。而且被确定的测试需求项必须是可核实的。即,它们必须有一个可观察、可评测的结果。无法核实的需求不是测试需求。所以我现在的理解是测试需求是一个比较大的概念,它是在整个测试计划文档中体现出来的,不是类似的一个用例或者其他.
·测试需求是制订测试计划的基本依据,确定了测试需求能够为测试计划提供客观依据;
·测试需求是设计测试用例的指导,确定了要测什么、测哪些方面后才能有针对性的设计测试用例;
·测试需求是计算测试覆盖的分母,没有测试需求就无法有效地进行测试覆盖;
b 测试过程设计:包括测试计划,测试策略制定,测试时间安排用,测试用例编写等
c 测试实现:环境配置好了,新的版本也收到了,人员也都培训好了等等
d 测试实施:已经按照测试计划进行展开了,比如手工测试,自动化测试等
e 测试评价:对版本测试覆盖率,测试质量,人员测试工作以及前期的一些工作制定情况进行评价,评估
f 测试维护:对测试用例库,测试脚本,bug库等进行维护,保证延续性等
2.1 软件测试步骤
表1给出软件测试步骤的定义。
软件测试步骤 |
输 入 |
输 出 |
测试需求分析 | 1. 软件测试的方法与规范
2. 软件需求规格说明 3. 软件设计说明(概要设计说明和详细设计说明) |
软件测试计划:
1) 软件测试的定位 2) 软件测试线索 3) 软件测试环境的定义 4) 软件需求的追踪矩阵 |
测试过程设计 |
1. 软件测试的方法与规范 2. 软件测试计划
|
软件测试说明:
1) 软件测试步骤 2) 软件测试基准 3) 测试线索的追踪矩阵 |
测试实现 |
1. 软件测试的方法与规范 2. 软件测试说明 3. 软件测试工具
|
软件测试的实现配置:
1) 软件测试环境 2) 测试步骤的计算机表示(用于回归测试的测试代码/测试数据) 3) 测试基准的计算机表示 |
测试实施 | 1. 软件测试的方法与规范
2. 软件测试说明 3. 软件测试的实现配置 |
软件测试记录:
1) 测试运行结果的计算机表示 2) 测试比较结果的计算机表示 3) 测试日志 4) 软件问题报告 |
测试评价 | 1. 软件开发文档
2. 软件测试文档 3. 软件测试配置 4. 软件测试记录 |
软件测试报告:
1) 测试结果的统计信息 2) 测试结果的分析/评判 |
测试配置管理 | 测试配置管理项:
1) 软件测试的描述性表示(测试文档/文件) 2) 软件测试的计算机表示(测试代码/数据/结果) |
1. 软件测试配置管理项的标识管理
2. 软件测试配置管理项的存储管理 3. 软件测试配置管理项的引用控制 4. 软件测试配置管理项的版本控制 5. 软件测试配置管理项的更动控制 |
测试维护 |
测试配置管理项
|
1. 测试配置管理项的使用报告
2. 测试配置管理项的软件问题报告 3. 测试配置管理项的更动控制文件 |
2.2 软件系统的测试流程
显示了大型复杂软件系统的测试流程。
可以看到,结合测试操作类型和测试对象粒度的划分角度,软件测试阶段可分为:单元测试、部件集成、部件确认、配置项组装、配置项确认、系统综合和系统验收等。每个阶段都要经历测试需求分析、测试过程设计、测试实现、测试实施、测试评价、测试维护的六个步骤。
表2说明各测试阶段的定义。
阶 段 |
标识 |
被测对象 | 目 的 |
完成后产品状态 |
单元测试 |
UT |
单元 |
获得可组装的单元 |
可执行的单元 |
部件集成测试 | CI | 单元、
三级部件、 二级部件 |
集成单元成部件 | 二级部件环境中可执行的部件 |
部件确认测试 | CV | 三级部件、
二级部件 |
确认将被组装的部件 |
二级部件环境中满足文档要求的部件 |
配置项组装测试 | II | 二级部件、
一级部件、 配置项 |
组装部件成配置项 | 二级部件环境中满足文档要求的部件 |
配置项确认测试 | IV | 配置项、
子系统 |
确认配置项的功能和性能 |
模拟环境中满足软件需求的配置项 |
系统综合测试 | SI | 子系统
系统 |
动态协调开发环境下的各子系统 |
仿实际运行环境中满足用户需求的子系统 |
系统验收测试 |
SA |
子系统
系统 关键配置项 关键部件 |
确认系统的功能和性能 |
仿实际运行环境中满足用户需求的系统 |