一、测试过程模型
测试过程模型将系统与软件生存周期中可能执行的测试活动分为组织级测试过程、测试管理过程、静态测试过程3个过程组。
二、组织级测试过程
1. 组织级测试过程用于开发和管理组织级测试规格说明。这些规格说明通常不面向具体项目,而是适用于整个组织的测试,常见的组织级测试规格说明包括组织级测试方针和组织级测试策略。
2. 组织级测试方针是一个执行级文档,描述组织内的测试目的、目标和总体范围。它还建立了组织级测试实践,并为建立、评审和持续改进组织级测试方针、测试策略和项目测试管理方法提供了一个框架。
3. 组织级测试策略是一个详细的技术性文档,它定义了如何在组织内执行测试。它不是针对特定的项目,而是一个通用文档,为组织中的许多项目提供指导。
4. 组织级测试(Organizational Test, OT)过程包含了组织级测试规格说明的建立、评审和维护活动,还涵盖了对组织依从性的监测。
5. 组织级测试过程的目的是制定、监测符合性并维护组织级测试规格说明,例如组织级测试方针和组织级测试策略。
组织级测试过程的输入可包括:
(1) 主要利益相关方的观点。
(2) 组织内当前测试实践和知识体系。
(3) 组织使命宣言。
(4) IT 方针,及IT 项目管理方针。
(5) 质量方针。
(6) 组织级测试方针。
(7) 组织级测试策略。
(8) 对测试规格说明的反馈。
(9) 组织机构的典型测试计划。
(10) 产业和/或政府标准。
组织级测试过程的活动和任务:
1. 建立组织级测试规格说明 (OT1)
2. 监测和控制组织级测试规格说明的使用 (OT2)
3. 更新组织级测试规格说明 (OT3)
组织级测试过程实施的结果包括:
(1) 确定组织级测试规格说明的需求。
(2) 制定组织级测试规格说明。
(3) 利益相关方同意组织级测试规格说明。
(4) 可以获取组织级测试规格说明。
(5) 监督组织级测试规格说明的符合性。
(6) 利益相关方同意组织级测试规格说明的更新。
(7) 更新组织级测试规格说明。
通过执行该过程,将产生以下信息项:组织级测试规格说明,如组织级测试方针、组织级测试策略。
三、测试管理过程
通常动态测试的管理过程可包括:
(1) 测试策划过程。
(2) 测试设计和实现过程。
(3) 测试环境构建和维护过程。
(4) 测试执行过程。
(5) 测试事件报告过程。
(6) 测试监测和控制过程。
(7) 测试完成过程。
测试管理过程可应用于整个项目的测试管理,也可用于各测试阶段(例如系统测试、验收测试)的测试管理,以及各种测试类型(例如性能测试、易用性测试)的管理。
测试策划过程(TP):
• 测试策划(Test Planning, TP)过程用于制订测试计划。根据该过程在项目中的实施时机,可以是项目测试计划或特定阶段的测试计划(例如系统测试计划)或特定测试类型的测试计划(例如性能测试计划)。
• 测试策划过程的目的是确定测试范围和方法,并与利益相关方达成共识,以便及早识别测试资源、测试环境以及其他要求。
测试策划过程的输入可包括:
(1) 组织级测试方针。
(2) 组织级测试策略。
(3) 监管标准。
(4) 项目测试计划(如果计划对项目中的特定阶段或类型进行测试)。
(5) 事件报告。
(6) 项目管理计划。
(7) 适用的产品文档(例如系统需求,测试项规格说明)。
(8) 软件开发计划。
(9) 项目及产品风险。
(10) 测试计划更新。
测试策划过程的活动和任务:
1. 理解上下文(TP1)
2. 组织测试计划开发(TP2)
3. 识别和分析风险(TP3)
4. 确定风险缓解方法(TP4)
5. 设计测试策略(TP5)
6. 确定人员配置和调度(TP6)
7. 编写测试计划(TP7)
8. 获得一致性测试计划(TP8)
9. 沟通并提供测试计划(TP9)
测试策划过程实施的结果包括:
(1) 分析并理解测试的工作范围。
(2) 确定并通知参与测试计划的利益相关方。
(3) 按照规定的风险暴露水平, 可以通过测试对风险进行识别、分析和分类。
(4) 确定测试策略、测试环境、测试工具以及测试数据需求。
(5) 确定人员配置和培训需求。
(6) 安排每项活动。
(7) 计算估计数,并记录证明估计数的证据。
(8) 测试计划达成一致,并分发给利益相关方。
通过执行该过程,将产生以下信息项:测试计划。
测试设计和实现过程(TD)
• 测试设计和实现(Test Design and Implementation, TD)过程用于获取测试用例和测试规程,通常记录在测试规格说明中,但可能会立即执行。
• 测试设计和实现过程的目的是导出将在测试执行过程中所执行的测试规程。在该过程中,分析测试依据,组合生成特征集,导出测试条件、测试覆盖项、测试用例、测试规程,并汇集测试集。
测试设计和实现过程的输入可包括:
(1) 测试依据。
(2) 测试计划。
(3) 测试策略。
(4) 测试项。
(5) 测试设计技术。
测试设计和实现过程的活动和任务:
1. 识别特征集(TD1)
2. 导出测试条件(TD2)
3. 导出测试覆盖项(TD3)
4. 导出测试用例(TD4)
5. 形成测试集(TD5)
6. 导出测试规程(TD6)
测试设计和实现过程实施的结果包括:
(1) 分析每个测试项的测试依据。
(2) 将待测特征组合成特征集。
(3) 导出测试条件。
(4) 导出测试覆盖项。
(5) 导出测试用例。
(6) 汇集测试集。
(7) 导出测试规程。
通过执行该过程,将产生以下信息项:
(1) 测试规格说明(测试设计规格说明、测试用例规格说明和测试规程规格说明)和相关可追溯信息。
(2) 测试数据需求。
(3) 测试环境需求。
测试环境构建和维护过程(ES)
• 测试环境构建和维护(Test Environment Set-up and Maintenance, ES)过程用于建立和维护测试执行的环境。维护测试环境可能根据先前测试结果进行变更。在存在变更和配置管理过程的情况下,可以使用这些过程来管理对测试环境的变更。
• 测试环境构建和维护过程的目的是建立和维护所需的测试环境,并将其状态传达给所有利益相关方。
测试环境构建和维护过程的输入可包括:
(1) 测试计划。
(2) 测试环境需求。
(3) 期望/运行环境。
(4) 测试依据。
(5) 测试规程。
(6) 测试结果(如适用)。
测试环境构建和维护过程中实施以下活动和任务:
1. 创建测试环境(ES1)
2. 维护测试环境(ES2)
测试环境构建和维护过程实施的结果包括:
(1) 测试环境处于可测试的就绪状态。
(2) 将测试环境的状态传达给所有利益相关方。
(3) 维护测试环境。
通过执行该过程,将产生以下信息项:
(1) 测试环境。
(2) 测试数据。
(3) 测试环境准备报告。
(4) 测试数据准备报告。
(5) 测试环境变更(适用时)。
测试执行过程(TE)
• 测试执行过程是在测试环境构建和维护过程所建立的测试环境上运行测试设计和实现过程产生的测试规程。
• 测试执行过程的目的是在准备好的测试环境中执行测试设计和实现过程中创建的测试规程,并记录结果。
测试执行过程的输入可包括:
(1) 测试计划。
(2) 测试规程。
(3) 测试项。
(4) 测试依据。
(5) 测试环境准备报告(如适用)。
(6) 测试环境变更(如适用)。
在测试执行过程中实施以下活动和任务:
1. 执行测试规程(TE1)
2. 比较测试结果(TE2)
3. 记录测试执行(TE3)
测试执行过程成功实施的结果包括:
(1) 执行测试规程。
(2) 记录实测结果。
(3) 比较实测和预期结果。
(4) 确定测试结果。
通过执行该过程,将产生以下信息项:
(1) 实测结果。
(2) 测试结果。
(3) 测试执行日志。
测试事件报告过程(IR)
• 测试事件报告(Test Incident Reporting, IR)过程用于报告测试事件。该过程将识别测试不通过、测试执行期间发生异常或意外事件,或复测通过的情况。
• 测试事件报告过程的目的是向利益相关方报告需要通过测试执行确定进一步操作的事件。对于新的测试,这将需要创建一个事件报告。在复测的情况下,这将需要更新以前提交的事件报告的状态,但也可能需要在确定了进一步的事件后,提出新的事件报告。
测试事件报告过程的输入可包括:
(1) 测试结果。
(2) 测试规程。
(3) 测试用例。
(4) 测试项。
(5) 测试依据。
(6) 测试执行日志(如适用)。
测试事件报告过程实施以下活动和任务:
1. 分析测试结果(IR1)
2. 创建/更新事件报告(IR2)
测试事件报告过程成功实施的结果包括:
(1) 分析测试结果。
(2) 确认新的事件。
(3) 创建新的事件报告细节。
(4) 确定以前发生的事件的状态和细节。
(5) 适当地更新以前提交的事件报告细节。
(6) 向利益相关方传达新的和/或更新的事件报告。
通过执行该过程,将产生以下信息项:事件报告。
测试监测和控制过程(TMC)
• 测试监测和控制(Test Monitoring and Control, TMC)过程检查测试是否按照测试计划以及组织级测试规格说明(例如组织级测试方针、组织级测试策略)进行。
• 测试监测和控制过程的目的是确定测试进度能否按照测试计划以及组织级测试规格说明(例如组织级测试方针、组织级测试策略)进行。它还根据需要启动控制操作,并确定测试计划的必要更新。
测试监测和控制过程的输入可包括:
(1) 测试计划。
(2) 适用的产品文档,例如系统需求, 合同等。
(3) 组织级测试方针。
(4) 组织级测试策略。
(5) 控制指令(更高层次的测试监测和控制过程)。
(6) 测度(来自正在被管理的测试过程)。
测试监测及控制执行下列活动和任务:
1. 准备(TMC1)
2. 监测(TMC2)
3. 控制(TMC3)
4. 报告(TMC4)
测试监测和控制过程实施的结果包括:
(1) 建立监测测试进度和风险变化的适当测度的收集方法。
(2) 监测测试计划进度。
(3) 识别、分析与测试相关的新风险和变更风险,并采取必要措施。
(4) 确定必要的控制措施。
(5) 向利益相关方传达必要的控制措施。
(6) 批准停止测试的决定。
(7) 向利益相关方报告测试进度和风险变化。
通过执行该过程,将产生以下信息项:
(1) 测试状态报告。
(2) 测试计划变更。
(3) 控制指令(例如测试、测试计划、测试数据、测试环境和人员的变化)。
(4) 项目和产品风险信息:风险信息可以保存在项目风险登记册中,也可以保存在测试计划中。
测试完成过程(TC)
• 测试完成过程是在测试活动完成后执行的。它用于对特定测试阶段(例如系统测试)或测试类型(例如性能测试),以及完整项目的测试的总结。
• 测试完成过程的目的是提供有用的测试资产供以后使用,使测试环境保持在令人满意的状态,记录测试结果并将其传达给利益相关方。测试资产包括测试计划、测试用例说明、测试脚本、测试工具、测试数据和测试环境基础设施。
测试完成过程的输入可包括:
(1) 项目测试计划。
(2) 阶段测试计划。
(3) 事件报告。
(4) 项目测试状态报告。
(5) 阶段/类型测试完成报告。
(6) 组织级测试策略(如相关)。
测试完成过程的活动和任务:
1. 存档测试资产(TC1)
2. 清理测试环境(TC2)
3. 识别经验教训(TC3)
4. 总结测试完成情况(TC4)
测试完成过程成功实施的结果包括:
(1) 测试资产存档或直接传递给利益相关方。
(2) 测试环境处于约定状态(例如, 使其可用于下一个测试项目)。
(3) 满足并验证所有的测试要求。
(4) 编写测试完成报告。
(5) 批准测试完成报告。
(6) 将测试完成报告发送给利益相关方。
通过执行该过程,将产生以下信息项:测试完成报告。
四、静态测试过程
• 静态测试是在不运行代码的情况下,通过一组质量准则或其他准则对测试项进行检查的测试,也常称为审查、走查或检查。静态测试既包括人工进行代码审查,也包括使用静态分析工具在不运行代码的前提下发现代码和文档中的缺陷(例如编译器、圈复杂度分析器,或代码的安全分析器)。
• 目的:通过人工或工具进行代码走查、技术评审等活动,发现软件需求规格说明、软件设计说明、概要设计、详细设计、变更、软件用户手册等文档和源代码等工作产品中存在的问题。
静态测试的输入可包括:
(1) 包含需求规格说明、软件设计说明在内的产品说明文档。
(2) 包含用户使用手册、使用帮助在内的用户文档集。
(3) 软件源代码。
静态测试活动分为计划、启动评审、个人评审、问题交流与分析、修正和报告。
静态测试的结果可包括:
(1) 确定工作产品中的缺陷或问题。
(2) 工作产品评估的质量特征。
(3) 评审结论。
(4) 达成的一致意见。
(5) 工作产品需要进行的更新。
执行该过程,将产生以下信息项:
(1) 问题日志。
(2) 事件报告。
(3) 评审报告。
夜雨聆风