4. 功能测试清单建立
4.1 适用场景
本章内容适用于EVT(工程验证测试)后期至DVT(设计验证测试)前期的原型交付阶段。当产品原型已经完成基本硬件调试、各子系统功能可独立运行,且项目团队需要从“功能验证”转向“系统级测试”时,必须建立一份完整、可追溯、可执行的功能测试清单。典型触发场景包括:
- EVT首批原型完成组装,准备进入系统级功能测试
- 产品需求规格(PRD)发生变更,需要补充测试覆盖
- 跨部门(硬件、软件、测试、质量)对齐测试范围与判据
- 为DVT阶段的自动化测试与回归测试奠定基线
要点提示:功能测试清单不仅是测试团队的执行文件,更是硬件设计团队与项目管理团队之间对“功能完成度”的契约。建议在EVT中期就开始起草,随设计迭代逐步细化。
4.2 前置条件
在开始建立功能测试清单之前,必须完成以下准备工作,否则清单的完整性、准确性无法保证:
| 前置条件 | 交付物/状态 | 责任方 |
|---|---|---|
| 产品需求文档(PRD)已定稿 | PRD V1.0+ 已评审 | 产品经理 |
| 硬件设计规格书(HDS)已发布 | HDS 包含电气参数、接口定义、时序要求 | 硬件设计工程师 |
| 系统架构框图已确认 | 包含子系统划分、模块间接口关系 | 系统架构师 |
| 历史缺陷库可访问 | 至少两代同类产品的缺陷记录 | 质量工程师 |
| 测试环境与工具已就绪 | 示波器、万用表、频谱仪、负载箱等 | 测试工程师 |
常见缺失项:团队在EVT阶段常因PRD未冻结就开始搭建测试清单,导致后续频繁返工。前置条件中“PRD已定稿”是硬性门槛,若PRD仍处于频繁变更状态,建议先建立“暂态测试清单”并标注变更风险。
4.3 操作步骤
功能测试清单的建立分为三个核心步骤:功能模块分解 → 测试用例来源识别 → 通过/失败判据设定。三者形成递进关系,每一步的输出是下一步的输入。
步骤一:功能模块分解
以硬件系统架构为依据,将产品划分为可独立测试的功能模块。分解粒度需满足“每个模块可分配唯一测试工位或测试工具”。推荐采用硬件子系统分解法与功能特性分解法双维度交叉验证,避免遗漏。
| 分解维度 | 模块示例 | 包含的子功能 | 测试关注点 |
|---|---|---|---|
| 硬件子系统 | 电源模块 | DC-DC转换、LDO稳压、上电时序、过流保护 | 电压精度、纹波、效率、时序偏差 |
| 硬件子系统 | 主控模块 | CPU时钟、存储读写、看门狗、复位逻辑 | 时钟频率、读写正确性、复位时序 |
| 硬件子系统 | 射频模块 | 发射链路、接收链路、天线匹配、功率控制 | 发射功率、接收灵敏度、驻波比 |
| 功能特性 | 安全功能 | 过压保护、过温保护、短路保护、ESD防护 | 保护阈值、响应时间、自恢复特性 |
| 功能特性 | 诊断功能 | 自检序列、状态上报、故障记录 | 自检覆盖率、上报准确性 |
关键原则:模块分解必须做到“正交且穷尽”——每个硬件单元只属于一个模块,所有模块合起来覆盖全部功能。建议使用MSO(Module Structure Overview)图进行可视化分解,并与系统架构图逐层核对。
步骤二:确定测试用例来源
每个功能模块的测试用例应从多个来源提取,确保覆盖正向功能、边界条件、异常场景和合规要求。主要来源包括:
| 来源类别 | 具体来源 | 覆盖类型 | 优先级 |
|---|---|---|---|
| 需求文档 | PRD、系统需求规格(SRS) | 正向功能、性能指标 | P0(必须通过) |
| 设计文档 | HDS、接口控制文档(ICD)、原理图 | 电气参数、时序、接口协议 | P0 |
| 行业标准 | IEC 60950、ISO 11452、GB/T 2423 | 安规、EMC、环境应力 | P1(强制合规) |
| 历史缺陷 | 同平台缺陷库、FMEA报告、Lesson Learned | 高频故障模式、回归场景 | P1 |
| 竞品/用户场景 | 竞品分析报告、用户使用场景列表 | 边界操作、异常交互 | P2(建议覆盖) |
常见遗漏:团队往往只从PRD提取测试用例,而忽略设计文档中的电气参数和时序要求。例如PRD只写“支持USB通信”,但HDS中定义了USB信号上升时间要求——后者才是通过/失败的具体判据。必须将设计文档作为同等重要的用例来源。
步骤三:设定通过/失败判据
每个测试用例必须关联可量化、可测量的通过/失败判据。判据分为五类,按优先级排列:
| 判据维度 | 典型指标 | 测量工具 | 判据示例 |
|---|---|---|---|
| 功能完整性 | 功能实现率、需求覆盖度 | 功能检查表 | 100% PRD功能点可通过 |
| 性能指标 | 电压精度、频率误差、灵敏度、速率 | 示波器、频谱仪、万用表 | Vout = 3.3V ± 2%;灵敏度 ≤ -95 dBm |
| 可靠性 | MTBF、应力测试时长、失效次数 | 恒温箱、振动台、老化测试系统 | 85°C/85%RH 运行1000h 无故障 |
| 兼容性 | 接口信号完整性、协议一致性 | 协议分析仪、眼图仪 | 眼图裕量 ≥ 20%;误码率 < 1e-12 |
| 安全性 | 耐压、漏电流、接地连续性 | 耐压测试仪、接地电阻测试仪 | 耐压 1500VAC 60s 无击穿;漏电流 ≤ 5mA |
判据量化技巧:在设定数值判据时,建议参考设计规格的“标称值±容差”范围,同时叠加测试仪器本身的测量不确定度。例如设计规格要求3.3V±3%,测试仪器精度为±0.5%,则判据应设为3.3V±2.5%以留出余量。
4.4 输入输出物
| 类型 | 名称 | 格式/载体 | 说明 |
|---|---|---|---|
| 输入 | 产品需求文档(PRD) | PDF / 在线文档 | 功能清单建立的需求基线 |
| 输入 | 硬件设计规格书(HDS) | PDF / 在线文档 | 电气参数与接口定义 |
| 输入 | 系统架构框图 | Visio / Drawio / SVG | 模块划分与接口关系 |
| 输入 | 历史缺陷库 | 数据库 / Excel | 同平台缺陷记录 |
| 输出 | 功能测试清单(FTL) | Excel / 测试管理平台 | 包含模块、用例、判据、优先级 |
| 输出 | 功能模块分解图 | SVG / Visio | 可视化的模块层次结构 |
4.5 责任边界
- 硬件设计工程师:提供功能模块的分解输入、电气参数判据、接口时序数据;审核测试用例的技术准确性。
- 测试工程师:主导测试清单的结构化编写,从各来源提取测试用例,设定可测量的判据,组织评审。
- 系统架构师:审核模块分解是否与架构一致,确保跨模块边界(如电源与主控的接口)被覆盖。
- 项目经理:协调资源,确保PRD冻结,推动评审会议,确认清单发布节点。
- 质量工程师:提供历史缺陷数据,监督判据的量化合理性,参与验收。
责任边界清晰化建议:建议在功能测试清单的每一行中添加“用例责任人”字段,明确谁对该用例的通过/失败负责。这可以避免DVT阶段出现“测试环境不对”或“判据理解不一致”的扯皮。
4.6 记录材料
本章涉及的记录材料包括:
- 功能测试清单(FTL):Excel或测试管理平台中的清单,包含模块名、用例ID、描述、来源、判据、优先级、责任人、状态。
- 功能模块分解确认记录:包含分解图、评审意见、修改历史。
- 测试用例来源追溯表:每个用例与PRD/HDS/标准的行号对应关系。
- 判据定义评审纪要:对争议性判据的讨论结论。
推荐使用以下JSON结构在测试管理平台中存储用例,便于自动化导入和追溯:
{
"testSuite": "EVT_DVT_功能测试清单",
"version": "1.0",
"module": "电源模块