190 lines
10 KiB
Markdown
190 lines
10 KiB
Markdown
# 测试执行与质量门禁
|
||
|
||
测试角色形成 Test Plan、检查提测准入、执行版本测试、管理缺陷或给出质量结论时读取。本文件规定稳定的执行规则;项目具体阈值、样本、周期、资源和 SLA 由当前已批准 Test Plan 定义。
|
||
|
||
## 三层测试契约
|
||
|
||
1. **角色契约**:规定测试的长期使命、决定权、边界、必要输入和强制质量原则。
|
||
2. **通用执行规则**:本文件规定适用性、准入、状态、统计、缺陷、证据和门禁。
|
||
3. **项目 Test Plan**:按具体产品、硬件、客户、平台和阶段确定范围、阈值、样本、时长、环境、资源、版本策略和输出节点。
|
||
|
||
测试可以提出专业阈值建议,但不得自行创造产品要求、客户承诺或验收标准。
|
||
|
||
## 前期成果与 Test Plan
|
||
|
||
项目前期按适用性形成:
|
||
|
||
- Test Plan、Test Scope、Test Case Set;
|
||
- Acceptance Criteria Matrix、Test Applicability Matrix;
|
||
- 需求—验收标准—用例追踪关系;
|
||
- 环境、设备、工具、样机、账号和数据要求;
|
||
- 专项清单、样本、周期和外部依赖;
|
||
- 测试风险、资源缺口、未决问题和输出节点。
|
||
|
||
Test Plan 至少说明:
|
||
|
||
- 目标、IN_SCOPE、OUT_OF_SCOPE;
|
||
- 输入基线和适用版本;
|
||
- 测试类型、专项和版本分级策略;
|
||
- 环境、工具、设备、样机和数据;
|
||
- 测试角色内部安排;
|
||
- 提测准入、进入和退出条件;
|
||
- Acceptance Criteria 及来源;
|
||
- 适用性和裁剪原则;
|
||
- 缺陷等级/风险矩阵引用;
|
||
- 回归、证据、进度、依赖、风险和正式输出。
|
||
|
||
Test Plan 基线、关键覆盖变化、范围缩减、专项取消/延期、严重缺陷处置和最终质量结论需要测试负责人确认,但不另建 Hub 评审角色节点。涉及客户范围或业务风险时,再由 Hub 定向交业务决定。
|
||
|
||
## 适用性
|
||
|
||
测试专项、模块和用例的计划适用性只使用:
|
||
|
||
- Required:当前产品、配置、客户、平台或阶段适用,必须执行;
|
||
- NA:经评估确认不适用,必须记录原因、依据和引用基线;
|
||
- Deferred:本应执行但获正式延期,必须记录影响、风险、责任、完成节点、关闭条件和批准。
|
||
|
||
NA 不得表示时间/人员不足、环境/样机/账号缺失、版本阻塞、数据缺失、外部依赖未满足、失败或尚未执行。适用但无法完成的项目是 BLOCKED,不是 NA。
|
||
|
||
任何产品需求、验收标准、硬件、PCB、BOM、固件、软件、配置、接口、平台标准、客户范围、试产批次或交付版本变化都触发测试影响评估。是否完整重测由影响分析决定,不能无评估沿用旧结论。
|
||
|
||
## 正式提测准入
|
||
|
||
每个正式提测版本应提供:
|
||
|
||
- 应用层输出、技术负责人确认版本矩阵的唯一统一固件,以及匹配的底层、硬件、BOM、配置、样机和批次;
|
||
- 可重复取得的安装包、固件、样机或构建物;
|
||
- 变更清单、影响范围、研发自测、已知问题和风险;
|
||
- 安装、升级、降级和恢复方式;
|
||
- 环境、网络、外设、账号和安全引用;
|
||
- 提测目标、建议重点、上一版本关系和计划节点。
|
||
|
||
输入不满足时,测试可判定提测拒绝或 BLOCKED。探索性检查必须与正式测试结果分开。
|
||
|
||
## 每版测试闭环
|
||
|
||
每版按以下顺序在测试角色内部执行:
|
||
|
||
提测准入检查 → 变更影响评估 → 本版策略 → 内部任务安排 → 环境确认 → 用例执行 → 证据归档 → 缺陷反馈 → 修复复测与回归 → 质量汇总
|
||
|
||
按版本风险选择策略:
|
||
|
||
- 普通测试版:基础冒烟、变更点验证、受影响回归;
|
||
- 缺陷修复版:原缺陷复测、关联回归、基础冒烟、副作用检查;
|
||
- 大版本或跨模块变更:完整功能回归、接口集成、受影响专项和关键稳定性;
|
||
- RC/候选定版:完整回归、全部适用专项、遗留缺陷和版本/证据完整性;
|
||
- 试产定版:候选基线一致性、抽样验证、最终门禁和 Test Evidence Package 中的交付证据。
|
||
|
||
实现角色提供变更和自测信息,但不能单方面缩减测试范围。
|
||
|
||
## 结果状态
|
||
|
||
版本整体质量结论只使用 PASS、FAIL、BLOCKED:
|
||
|
||
- PASS:全部适用门禁满足;
|
||
- FAIL:已执行并确认不满足要求,或存在高风险质量失败;
|
||
- BLOCKED:无法完成 Required 范围或形成有效结论。
|
||
|
||
专项、模块和正式用例结果只使用 PASS、FAIL、BLOCKED、NA。待执行和执行中是进度,不是正式结果。到正式汇总或报告节点,所有计划用例都必须有结果;适用但未完成的用例填 BLOCKED,不能留空或改成 NA。
|
||
|
||
BLOCKED 必须说明原因、受影响范围、证据、责任或协调角色、解除条件和补测要求。Required 中存在 BLOCKED 时,版本不能判定 PASS。
|
||
|
||
## 统计
|
||
|
||
正式报告至少统计计划、PASS、FAIL、BLOCKED、NA、适用和实际执行数量:
|
||
|
||
- 计划用例数 = PASS + FAIL + BLOCKED + NA;
|
||
- 适用用例数 = 计划用例数 - NA;
|
||
- 实际执行用例数 = PASS + FAIL;
|
||
- 执行完成率 = 实际执行用例数 ÷ 适用用例数;
|
||
- 执行通过率 = PASS ÷ 实际执行用例数;
|
||
- 阻塞率 = BLOCKED ÷ 适用用例数。
|
||
|
||
实际执行数为 0 时,通过率是“不可计算”,不是 100%。BLOCKED 保留在适用分母中;不得把 BLOCKED 改为 NA 或用总体通过率掩盖关键失败。
|
||
|
||
## 缺陷与关闭
|
||
|
||
测试创建、持续维护并最终关闭 Defect Analysis Report。每个缺陷至少记录:
|
||
|
||
- WORK_ID、缺陷 ID、关联 SUBTASK_ID;
|
||
- 被测统一固件及其匹配的底层、硬件、BOM、配置、样机和批次;
|
||
- 环境、前置条件、复现步骤、期望/实际结果和频率;
|
||
- Severity、暴露概率/范围、风险等级和处理优先级;
|
||
- 影响、原始证据、初步责任边界、回归要求和状态。
|
||
|
||
影响程度、发生概率、风险等级和处理优先级必须分开。不得通过临时降级绕过门禁。
|
||
|
||
推荐生命周期:
|
||
|
||
NEW → CONFIRMED → ASSIGNED → FIXED/PENDING_RETEST → VERIFIED → CLOSED
|
||
|
||
- 测试负责复现、观察证据、影响、回归要求、复验和测试关闭;
|
||
- 实现角色负责根因、修复、变更说明和研发自测;
|
||
- 产品负责需求含义和预期行为;
|
||
- 技术负责人负责跨层归类和架构接口裁决;
|
||
- 业务负责客户范围、交付边界和业务风险接受;
|
||
- Hub 负责向实际责任角色派发修复任务;彼此独立且依赖就绪的修复可形成任务波次。
|
||
|
||
实现角色只提交 Root Cause Analysis、Fix Plan、修复成果、版本和自测,不能替换或关闭 Defect Analysis Report。研发声明修复不能直接关闭缺陷;只有测试在目标版本组合独立复验通过后才能 VERIFIED 或 CLOSED。Duplicate、As Designed、Cannot Reproduce、Won’t Fix 和 Deferred 保留理由与证据;未关闭项进入遗留缺陷和剩余风险。
|
||
|
||
责任路由起点:
|
||
|
||
- 需求、产品行为、Acceptance Criteria 或详细客户输入:产品;
|
||
- 合同、业务范围、对外承诺或业务风险:业务;
|
||
- 总体架构、跨层接口或责任不清:技术负责人;
|
||
- 应用逻辑、状态机、配置、界面或应用协议:嵌入式应用层;
|
||
- BSP、Bootloader、RTOS、HAL、驱动、总线或底层实时行为:嵌入式底层;
|
||
- 电路、器件、GPIO、电平、PCB、BOM 或硬件时序:硬件;
|
||
- 测试环境、工具、数据或用例:测试。
|
||
|
||
这只是证据化建议,正式修复任务始终由 Hub 按实际责任和依赖创建。
|
||
|
||
## 证据、版本与追踪
|
||
|
||
证据应能回答:
|
||
|
||
- 实际被测版本、样机、批次、配置、环境和外设;
|
||
- 使用的方法、步骤和工具;
|
||
- 原始观察和数据;
|
||
- 如何对应 Acceptance Criteria;
|
||
- BLOCKED 原因和 NA 依据;
|
||
- 缺陷修复版本与独立回归;
|
||
- 测试限制、确认和剩余风险。
|
||
|
||
追踪链:
|
||
|
||
需求/客户标准 → Acceptance Criteria → Test Case → 执行结果 → Test Evidence Package → Defect Analysis Report → 修复版本 → 回归结果 → 适用测试报告 → 交付版本
|
||
|
||
测试结论只对实际被测版本、样机、配置和环境有效。无法证明平台、试产和交付版本一致时,最终结论为 BLOCKED。
|
||
|
||
普通测试成果不得保存密码、Token、私钥、证书密钥或其他敏感值;只记录提供状态、适用环境、责任和安全引用。
|
||
|
||
## 最终测试定版门禁
|
||
|
||
只有全部适用条件满足才可给出最终 PASS:
|
||
|
||
1. Required 范围执行完成率 100%,无 BLOCKED;
|
||
2. 关键门禁用例全部 PASS;
|
||
3. 所有适用 Acceptance Criteria 满足;
|
||
4. 所有适用专项有明确结论;
|
||
5. 无高风险 Open Bug;
|
||
6. 中低风险遗留已评估、披露并取得必要确认;
|
||
7. 修复已在目标版本独立回归;
|
||
8. 被测版本与平台、试产和交付候选版本一致;
|
||
9. Test Plan、用例、执行、Test Evidence Package、Defect Analysis Report、回归和适用测试报告完整;
|
||
10. 限制、依赖和剩余风险明确,测试有权人员确认最终结论。
|
||
|
||
高风险 Open Bug、关键用例失败、Acceptance Criteria 不满足或严重回归必须 FAIL。关键 Required 用例 BLOCKED、执行不足、环境/依赖不可用、版本不一致或证据不足必须 BLOCKED。
|
||
|
||
最终测试 PASS 不等于业务验收、客户风险接受、发布批准或制造良率批准。
|
||
|
||
## 正式输出深度
|
||
|
||
- 普通测试版:策略、版本、范围、状态统计、结果摘要、缺陷增量、阻塞和限制;
|
||
- 缺陷修复版:原缺陷复测、关联回归、新问题和剩余风险;
|
||
- 大版本/RC:在适用测试报告、Test Evidence Package 和 Defect Analysis Report 中完整记录覆盖、统计、缺陷、回归与质量结论;
|
||
- 平台提测版:要求映射、预检、提交版本、平台反馈、整改和重提记录;
|
||
- 试产定版:最终计划、用例、执行、兼容矩阵、缺陷、回归、证据、遗留风险和质量报告。
|
||
|
||
角色契约不固定统一小时级 SLA;响应、测试、回归和报告时限由项目计划或 Test Plan 定义。
|