1 制定主测试计划的要素
1.1 测试类型
- 测试类型是用一组相关的质量特性来评估系统的一组活动;
- 常见的测试类型如下:
测试类型 | 描述 | 质量特性 |
---|---|---|
功能 | 测试功能行为 | 功能性 |
接口 | 测试和其它系统的交互 | 连通性 |
负载和强度 | 允许大批量数据的处理 | 连续性、性能 |
(人工)支持 | 提供预期的支持(比如与用户手册规程相一致) | 适用性 |
生产 | 测试生产规程 | 可操作性、连续性 |
恢复 | 测试恢复和重启动工具 | 可恢复性 |
回归 | 测试在系统改动之后,是否所有的部件仍然能够正常工作 | 所有的 |
安全 | 测试安全性 | 安全性 |
标准 | 测试是否遵守标准 | 安全性、用户友好性 |
资源 | 度量所需的资源(内存、数据通信、电力等) | 效率 |
1.2 测试层次
- 测试层次是一组被当做一个实体来组织和管理的活动;
- 测试层次是指谁将在什么时候进行测试;
- 不同的测试层次和系统的开发生命周期相关;
- 低层次测试只测试单个部件;
- 高层次测试对集成系统或子系统进行测试;
- 常见的测试层次如下:
测试层次 | 高/低 | 环境 | 目标 | |
---|---|---|---|---|
硬件单元测试 | 低层次 | 实验室 | 测试单个硬件部件的行为 | |
硬件集成测试 | 低层次 | 实验室 | 测试硬件的连接和协议 | |
模型循环 | 高/低层次 | 仿真模型 | 概念证明,测试控制率,设计优化 | |
软件单元测试 | 低层次 | 实验室,主机 目标机处理器 | 测试单个软件部件的行为 | |
软件集成测试 | 低层次 | 实验室,主机 目标机处理器 | 测试软件部件之间的交互 | |
硬件/软件集成测试 | 高层次 | 实验室,目标机处理器 | 测试硬件和软件部件之间的交互 | |
系统测试 | 高层次 | 模拟真实情况 | 测试系统的工作是否符合规范 | |
验收测试 | 高层次 | 模拟真实情况 | 测试系统能否满足用户的需求 | |
实地测试 | 高层次 | 真实情况 | 测试在真实条件下系统是否持续工作 |
1.3 主测试计划
- 制定主测试计划的目的:为了协调以及管理整个测试过程;
- 主测试计划主要关心三个领域:
测试策略的选择:该测试什么以及如何测试; 稀缺资源的分配; 相关团队成员之间的沟通。
2 活动
- 为了指定主测试计划,需要执行以下活动:
① 规划任务分配; ② 全面调查研究; ③ 确定主测试策略; ④ 指定基础设施; ⑤ 定义组织; ⑥ 指定整体进度表。
2.1 规划任务分配
2.1.1 目的
- 确保组织中的其他成员对测试组织能够为他们做什么有正确的期望值。
2.1.2 委托人
- 即分配制定主测试计划任务的发起人;
- 这个人被看做是测试团队的客户;
- 委托人就是系统开发过程中的项目经理,由他将测试职责委托给测试经理。
2.1.2 承包人
- 负责制定主测试计划,一般为测试经理。
2.1.3 测试层次
- 在主测试计划中定义测试层次;
- 测试层次需要考虑硬件和软件的单元测试、集成测试、系统测试、功能验收测试以及产品验收测试;
- 还应考虑测试工具和基础设施。
2.1.4 范围
- 即测试过程的约束和限制;
比如: ① 被测试系统的惟一标识; ② 与相邻系统的接口; ③ 转换或端口活动。
2.1.5 目标
- 使用交付物来描述,如建议、环境、支持、产品等。
2.1.6 前提条件
- 完成测试的最终交付期限;
- 测试计划已经制定;
- 客户所要求的可用资源。
2.1.7 测试假定
- 即完成测试过程所需要的条件,比如必要的支撑、测试基础的变更。
2.2 全面调查研究
此活动的目的是了解系统开发过程的目标、系统应该满足的需求。包括以下活动:
- 研究可用的文档;
- 面对面访谈。
2.2.1 研究可用的文档
主要是对客户提供的可用文档进行研究,需要考虑:
- 系统文档;
- 项目文档;
- 组织结构和职责;
- 系统开发方法;
- 主机和目标机的描述;
- 合同相关。
2.2.2 面对面访谈
对系统开发过程中所涉及的所有人员进行面对面访谈,需考虑:
- 和市场代表:了解公司目标、产品卖点;
- 和用户代表:了解用户的痛点和爽点;
- 和实地代表:了解客户的环境;
- 和供应商:了解测试基础设施的供应。
2.3 确定主测试策略
此活动的目的是根据质量要求,对所有的因素进行利弊权衡并做出决策。
2.3.1 检查现有的质量管理措施
- 需要一定的标准和变更控制规程;
- 考虑相关的质量管理活动。
2.3.2 确定测试策略
简单描述如下:
- 确定质量特性;
- 确定质量特性的相对重要性;
- 为测试层次分配质量特性;
- 对测试层次的整体评估。
2.4 指定基础设施
此活动的目的是确定测试过程中所需要的基础设施。包括:
- 指定所需的测试环境 ;
- 指定所需的测试工具;
- 确定基础设施计划。
2.5 定义组织
此活动的目的是在整个测试过程的层面上,定义测试中的角色、权限、任务和职责。
2.5.1 确定所需的角色
- 对稀缺资源的控制:
① 全面的测试管理与协调; ② 集中式控制; ③ 集中式质量保证。
- 人员的专业要求:
① 测试策略管理; ② 测试配置管理; ③ 测试方法和技术支持; ④ 计划和监督。
2.5.2 建立培训机制
- 商业化课程培训;
- 内部开发课程培训。
2.5.3 分配任务、权限和职责
比如:
- 制定各个测试层次所交付产品的的规章制度;
- 内部审查(监督规章制度的执行);
- 协调各个测试层次之间的公共活动;
- 制定沟通与报告的指导性文件;
- 建立方法、技术和功能支持;
- 保持各测试计划的一致性。
2.6 制定整体进度表
此活动的目的是为整个测试过程设计一个整体进度表。至少应该包含:
- 描述要执行的高层次行动;
- 交付物;
- 工时-每个测试层次分配时间;
- 交付时间;
- 与其他活动的关系。