第4章 功能测试用例编写:核心功能点、异常路径、交互校验

4.1 适用场景

本章内容适用于以下测试阶段与场景:

  • 原型功能验证阶段:原型设备首次集成后,需验证核心控制指令、数据采集与上报是否按设计实现。
  • 异常鲁棒性评估:设备在弱网、断连、并发、非法输入等异常条件下的行为验证。
  • 人机交互验收:用户界面(APP/Web/设备本地屏)与设备之间的反馈、状态同步、操作闭环校验。
  • 回归测试:固件或应用版本迭代后,复用核心用例组快速确认关键路径无退化。

4.2 前置条件

  1. 原型硬件已装配并完成基础供电、配网(若需要),可正常连接测试环境。
  2. 测试工具链就绪:串口日志工具、MQTT/CoAP 客户端、HTTP API 调试器、信号干扰设备(如屏蔽箱、衰减器)。
  3. 功能需求文档(PRD/FS)、接口定义(API 文档 / 数据字典)已完成评审并归档。
  4. 测试环境(服务器/云端)已部署对应版本的业务服务,并开启调试日志。
  5. 测试用例管理平台(如 TestRail、Jira)中已创建本次测试周期,并关联需求基线。

4.3 操作步骤

本流程适用于单个功能点的用例编写,可按以下子步骤循环执行:

步骤1:分解核心功能点

  • 提取需求文档中的功能描述,拆解为原子操作(如:打开阀门、读取温度、上报心跳)。
  • 每个功能点抽象为 输入 → 处理 → 期望输出 的测试模型。
  • 编写正向预期用例,覆盖正常参数范围、典型时序。

步骤2:设计异常路径

  • 列出所有可能的异常输入:空值、超界、格式错误、重复请求、超时。
  • 列出环境异常:弱网(丢包率 > 20%)、断连、多客户端同时控制、电源波动。
  • 每项异常对应一条独立用例,明确预期错误码、日志、重试行为或降级状态。

步骤3:交互校验设计

  • 绘制设备与用户 / 云端的交互时序图(参见下方 SVG)。
  • 校验点包括:UI 状态与设备状态一致、操作反馈延迟 < 2 秒、异常时显示明确提示。
  • 编写双向同步用例:如 APP 下发指令后,设备执行并回传 ACK,APP 更新控制按钮状态。

步骤4:用例结构化与归档

  • 每一条用例包含:用例ID、所属功能模块、前置条件、测试步骤、输入数据、期望结果、实际结果、备注。
  • 输出至测试用例管理平台,并关联需求基线。
功能测试用例编写流程 ① 核心功能点分解 输入→处理→期望输出模型 ② 异常路径设计 弱网/断连/非法输入/超时 ③ 交互校验设计 UI同步、反馈延迟、状态一致 ④ 结构化与归档 用例ID/前置/步骤/期望结果 异常用例回归 关键提示 • 每个核心功能点至少对应1条正向用例 + 3条异常用例。 • 交互校验需覆盖:本地控制、远程控制、状态同步、异常反馈。 • 建议使用“正交实验法”设计异常组合,减少冗余用例。 • 用例归档时务必标记“自动化优先级”,为回归测试提效。

4.4 输入输出物

类别输入物输出物
文档功能需求说明书、接口文档、状态迁移图功能测试用例库(Test Cases × Excel / 平台条目)
数据设备日志、云端调用记录、信号强度记录已执行用例标记(Pass/Fail/Blocked)
脚本/工具测试框架配置、模拟器输入文件自动化测试脚本(可选)、问题追踪工单

4.5 责任边界

  • 测试工程师:负责用例编写、执行、缺陷提交、用例版本维护。
  • 开发工程师:提供核心日志、配合异常场景复现、修复缺陷后重新提测。
  • 产品经理/需求方:确认核心功能点分解的完整性,评审异常路径优先级。
  • 项目管理者:确保测试环境、设备资源到位,协调回归进度。

4.6 记录材料

  • 功能测试用例表(包含用例ID、模块、前置、步骤、数据、期望、结果)。
  • 测试环境配置快照(网络拓扑、服务版本、固件版本)。
  • 缺陷日志与截图/录屏(异常路径触发时的设备表现)。
  • 交互校验核对清单(UI状态、响应时间、提示文案)。

4.7 异常处理

常见异常及其处理策略:
  • 设备断连或无响应:先检查供电、网络媒介,再排除固件闪存。若为已知问题,标记为 Blocked 并记录环境信息。
  • 云端返回非预期错误码:对比接口文档,若为文档缺失则更新文档;若为服务 Bug,提交工单并关联用例ID。
  • UI状态与设备实际状态不一致:导出设备实时日志,核对控制命令ACK与状态上报时序,确认是延迟还是逻辑错误。
  • 弱网下指令丢失:设计重试机制验证,用例应明确“丢包率 x% 下指令重试次数及最终结果”。

4.8 验收标准

  1. 覆盖度达标:每个核心功能点至少包含 1 条正向用例 + 3 条异常用例;交互校验用例覆盖所有状态变化路径。
  2. 用例可执行性:每一步操作描述清晰,输入数据精确,前置条件已验证。
  3. 结果可判定:期望结果定义明确(可通过日志、API响应、UI截图验证),无歧义。
  4. 版本对齐:用例库与当前固件/APP版本一致,已关联需求基线。
  5. 文档合规:输出物中所有记录材料已归档至指定平台,测试周期可追溯。
经验建议:先编写核心功能用例,再逐步添加异常与交互校验。每轮评审后,优先补齐“最常见用户操作路径”的异常覆盖,避免头重脚轻。