Files

190 lines
10 KiB
Markdown

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