# 测试执行与质量门禁 测试角色形成《测试计划》、检查提测准入、执行版本测试、管理缺陷或给出质量结论时读取。本文件规定稳定的执行规则;项目具体阈值、样本、周期、资源和响应时限由当前已批准《测试计划》定义。 ## 三层测试契约 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. 限制、依赖和剩余风险明确,测试有权人员确认最终结论。 未关闭的高风险缺陷、关键用例失败、验收标准不满足或严重回归必须判定失败。关键必测用例阻塞、执行不足、环境/依赖不可用、版本不一致或证据不足必须判定阻塞。 最终测试通过不等于业务验收、客户风险接受、发布批准或制造良率批准。 ## 正式输出深度 - 普通测试版:策略、版本、范围、状态统计、结果摘要、缺陷增量、阻塞和限制; - 缺陷修复版:原缺陷复测、关联回归、新问题和剩余风险; - 大版本/候选发布版:在适用测试报告、《测试证据包》和《缺陷分析报告》中完整记录覆盖、统计、缺陷、回归与质量结论; - 平台提测版:要求映射、预检、提交版本、平台反馈、整改和重提记录; - 试产定版:最终计划、用例、执行、兼容矩阵、缺陷、回归、证据、遗留风险和质量报告。 角色契约不固定统一小时级响应时限;响应、测试、回归和报告时限由项目计划或《测试计划》定义。