6 | 嵌入式软件测试中独立测试团队需要做哪些测试活动?
- 1 简介
- 2 计划与控制阶段
- 2.1 分配任务
- 2.2 整体评审和研究
- 2.3 建立测试基础
- 2.4 确定测试策略
- 2.5 设置组织
- 2.6 列出测试交付清单
- 2.7 指定基础设施
- 2.8 组织管理和控制
- 2.9 编制测试过程进度表
- 2.10 整理测试计划
- 2.11 维护测试计划
- 2.12 控制测试
- 2.13 报告
- 2.14 建立详细进度表
- 3 准备阶段
- 3.1 测试基础的可测性审查
- 3.2 定义测试单元
- 3.3 分配测试设计技术
- 3.4 定义基础设施
- 4 细化阶段
- 4.1 导出测试用例
- 4.2 起草测试脚本
- 4.3 建立测试方案
- 4.4 定义测试对象和基础设施的入口检查
- 5 执行阶段
- 5.1 测试对象/基础设施的入口检查
- 5.2 执行测试
- 5.3 比较并分析测试结果
- 5.4 维护测试方案
- 6 完成阶段
- 6.1 评估测试对象
- 6.2 评估测试过程
- 6.3 存档测试件
- 6.4 解散测试团队
1 简介
- 独立测试团队主要进行高层次的测试;
- 主要在开发生命周期的后期进行。
2 计划与控制阶段
项目 | 内容 |
---|---|
目标 | 把握测试质量,对测试过程进行协调、监督和控制。 |
规程 | 测试计划包含计划、资源分配和任务范围规定。 |
活动 | 分配任务、整体评审与研究、建立测试基础、确定测试策略、设置组织、列出测试交付清单、定义基础设施、组织管理和控制、制定测试过程进度表、整理测试计划、维护测试计划、控制测试、报告、建立详细进度表 |
2.1 分配任务
- 目标:确定谁是委托人,谁是承包人,测试过程的范围和目标是什么,测试过程的前提条件是什么;
- 过程:
① 委托人:测试任务的提供者;
② 承包人:负责执行测试任务的人;
③ 范围:测试对象,如被测系统的唯一标识,和相邻系统的接口;
④ 目标: 测试过程的预期结果,如交付的产品和质量特性;
- 前提条件:最后的期限、进度、分配的资源、对测试基础的支持、对测试对象的支持、测试基础的变更。
2.2 整体评审和研究
- 目标:深入把握可用系统和项目文档、功能和质量当面的系统需求、系统开发过程的组织、测试领域可用的知识和经验、验收测试涉及的用户要求。
- 规程:
① 研究可用的文档;
② 面的面对访谈。
2.3 建立测试基础
- 目标:确定测试基础是什么,以及基本的文档有哪些;
- 规程:
① 选择相关的文档,确定文档的状态和文档的交付进度;
② 了解与系统功能相关的质量要求。
2.4 确定测试策略
- 目标:决定测什么,如何测试以及测试的范围是什么;
- 规程:
① 策略开发;
② 草拟预算。
2.5 设置组织
- 目标:确定如何设立组织,包括角色、任务、权力、责任、层次、磋商结构以及报告流程等;
- 规程:
① 描述测试过程中明确的任务、权力和责任,以及如何分配给测试角色;
② 描述各种测试功能之间的关系、测试团队内部关系以及与系统开发过程中涉及的其他团队的关系;
③ 角色的知识和技能;
④ 建立培训课程;
⑤ 外部雇佣培训;
⑥ 建立报告流程。
2.6 列出测试交付清单
- 目标:指定由测试团队交付的产品;
- 规程:
① 建立测试件;
② 建立标准。
2.7 指定基础设施
- 目标:测试活动早期就确定所需的基础设施;
- 规程:
① 指定测试环境;
② 指定测试工具;
③ 建立基础设施进度表。
2.8 组织管理和控制
- 目标:描述如何对测试过程、基础设施和交付物进行管理和控制;
- 规程:
① 定义测试过程和控制;
② 定义基础设施控制;
③ 定义测试交付物控制;
④ 定义缺陷规程。
2.9 编制测试过程进度表
- 目标:描述测试活动所需的时间、资金和人力;
- 规程:
① 建立全面的进度表;
② 建立财务进度表。
2.10 整理测试计划
- 目标:记录到目前为止已经执行的活动结果,以及从委托人处获得正式的认可;
- 规程:
① 标识威胁、风险和措施;
② 建立测试计划;
③ 建立测试计划的变更规程;
④ 整理测试计划。
2.11 维护测试计划
- 目标:使测试计划和所有的进度表都是最新的;
- 规程:重新调整测试计划、维护进度表。
2.12 控制测试
- 目标:控制测试流程、基础设施、测试交付物,以便能不断的把握测试进度的进展和测试对象的质量;
- 规程:与测试计划中建立的规程相一致。
2.13 报告
- 目标:向组织提供有关测试过程的进展和待测系统质量等信息;
- 规程:
① 在测试计划中给出的测试已经完成多少;
② 还有哪些需要测试;
③ 针对测试对象的质量和发现的缺陷,能不能发现什么趋势。
2.14 建立详细进度表
- 目标:为不同阶段建立和维护详细的进度表,包括准备阶段、细化阶段、执行阶段和完成阶段;
- 规程:
① 执行的活动;
② 与其他活动的联系和依赖性;
③ 分配给每个活动的时间;
④ 整个项目所需的时间和可用的时间;
⑤ 交付的产品;
⑥ 相关人员。
3 准备阶段
项目 | 内容 |
---|---|
目标 | 确定测试基础是否能够为测试规范以及测试用例的成功执行提供足够的保证。 |
前提条件 | 测试基础可用并固定下来 |
活动 | 测试基础的可测性审查、定义测试单元、分配测试设计技术、定义基础设施 |
3.1 测试基础的可测性审查
- 目标:保证测试基础的可测性;
- 规程:
① 选择相关的文档;
② 起草审查清单;
③ 评估文档;
④ 报告。
3.2 定义测试单元
- 目标:将子系统划分为独立的可测单元;
- 规程:
① 确定测试单元;
② 实现测试单元表。
3.3 分配测试设计技术
- 目标:基于测试策略,为测试单元分配测试设计技术;
- 规程:如图:
3.4 定义基础设施
- 目标:对所需的基础设施进行详细描述;
- 规程:详细描述测试计划中的测试基础设施,有有必要时与供应商与供应商达成协议并确定交付进度表。
4 细化阶段
项目 | 内容 |
---|---|
目标 | 利用分配的测试设计技术,建立测试集 |
前提条件 | 测试基础可用并固定;测试对象和测试交付进度表满足建立测试方案的要求 |
活动 | 导出测试用例、起草测试脚本、建立测试方案、定义测试对象和基础设施的入口检查、安装基础设施 |
4.1 导出测试用例
- 目标:基础所分配的测试设计技术,为每个单元导出测试用例;
- 规程:
① 导出测试用例;
② 确定测试用例能否单独执行;
③ 用例是否会相互产生结果;
④ 按照测试计划中的标准来准备测试设计。
4.2 起草测试脚本
- 目标:将测试设计中描述的测试用例转换为可执行的、具体的测试动作;
- 规程:
① 测试动作按照正确的顺序排列;
② 测试脚本应该描述前提条件和具体动作。
4.3 建立测试方案
- 目标:在一个测试方案中记录测试脚本的执行顺序;
- 规程:
① 描述测试脚本的执行顺序和方式;
② 将不同脚本之间的相互依赖性控制到最小;
③ 测试方案必须是一份有效的、灵活的文档。
4.4 定义测试对象和基础设施的入口检查
- 目标:根据规范来安装基础设施;
- 规程:
① 解决瓶颈和问题;
② 基础设施的入口检查;
③ 安装检查;
④ 试运行。
5 执行阶段
项目 | 内容 |
---|---|
目标 | 执行指定的测试脚本,以了解测试对象的质量; |
前提条件 | 基础设施已经安装,且测试对象已经交付给测试团队 |
活动 | 测试对象/基础设施的入口检查、执行测试、比较并分析测试结果、维护测试方案。 |
5.1 测试对象/基础设施的入口检查
- 目标:判断所交付测试对象的部件和基础设施是否已经为测试做好了准备;
- 规程:
① 在细化阶段完成基础设施的入口检查;
② 通过审查清单,来检查所交付的测试对象完整性,遗漏的项目‘
③ 执行入口检查中准备准备好的测试用例。
5.2 执行测试
- 目标:得到测试结果来评估测试对象的质量;
- 规程:按照测试方案中指定的顺序来执行测试脚本。
5.3 比较并分析测试结果
- 目标:发现测试对象的意外行为,并分析产生这些行为的原因;
- 规程:
① 测试执行错误;
② 测试设计错误;
③ 编程错误;
④ 测试环境的缺陷;
⑤ 测试基础中的前后矛盾或含糊不清。
5.4 维护测试方案
- 目标:使测试方案保持最新;
- 规程:
① 缺陷的严重程度;
② 缺陷的数量;
③ 已经执行的测试脚本由于缺陷而受到的破坏程度;
④ 可用的时间;
⑤ 功能的重复性。
6 完成阶段
项目 | 内容 |
---|---|
目标 | 存档测试件;获取经验图表;完成最后的报告。 |
前提条件 | 完成全部测试过程 |
活动 | 评估测试对象、评估测试过程、存档测试件、解散测试团队。 |
6.1 评估测试对象
- 目标:评估测试对象的质量,提供最终的发布建议;
- 规程:
① 基于已完成的测试、测试报告、已登记的缺陷状态,起草最终的发布建议;
② 指出还有哪些缺陷没有解决;
③ 风险是什么。
6.2 评估测试过程
- 目标:了解测试过程的运行情况,为将来的测试过程收集测试数据;
- 规程:
① 对测试对象的评估;
② 对测试过程的评估;
③ 进度表和执行情况的比较;
④ 对资源、方法和技术的评估。
6.3 存档测试件
- 目标:选择和更新已经建好的测试件,用于以后的测试;
- 规程:收集和调整测试件,保存和备份测试件。
6.4 解散测试团队
- 目标:表明测试过程的最终完成;
- 规程:完成评估报告及移交测试件之后,委托人宣布结束测试过程,解散测试团队。