第六部分:测试文档

6.1 测试计划

6.1.1 测试范围与策略

  • 单元测试:软件各模块方法级测试,覆盖率≥80%
  • 集成测试:模块间接口、软硬件协同通信
  • 系统测试:端到端功能、性能、安全性、兼容性
  • 硬件测试:传感器精度、通信距离、功耗、环境适应性

6.1.2 测试环境

  • 软件:测试服务器(4C8G)、MySQL、Redis、Kafka、EMQX、Chrome 浏览器
  • 硬件:温湿度传感器5,控制终端3,通信模组*3,可调温湿箱,直流电源

6.1.3 测试里程碑

阶段时间输出物
单元测试第9-10周单元测试报告
集成测试第11周集成测试报告
系统测试第12周系统测试报告、缺陷清单
硬件测试并行硬件测试报告
验收测试第13周验收测试报告

6.2 测试用例

6.2.1 功能测试用例(部分)

用例ID模块测试项前置条件输入/操作预期结果优先级
TC-SW-001设备接入MQTT设备正常接入平台已部署,MQTT Broker运行设备使用正确ID/Secret连接连接成功,设备状态变更为“在线”P0
TC-SW-002设备接入错误密钥拒绝同上使用错误Secret连接连接拒绝,日志记录失败P1
TC-SW-003数据采集接收并存储温湿度设备已在线设备经 EMQX→Kafka 上报温湿度数据数据在 MySQL 可查,前端显示正确P0
TC-SW-004数据采集异常数据告警设备上报温度>80℃同上系统产生告警记录,前端提示P1
TC-SW-005远程控制下发开关指令控制终端在线点击“关闭”按钮设备执行关闭,指令状态成功P0
TC-SW-006远程控制离线设备控制设备离线下发指令提示设备离线,指令状态失败P1
TC-SW-007权限管理普通用户访问其他设备用户A只绑定设备1用户A尝试查看设备2数据返回403或无权限提示P0
TC-SW-008数据分析历史数据曲线已有24小时数据选择设备、时间范围展示正确的折线图P1

6.2.2 性能测试用例

用例ID测试项负载条件指标预期结果
TC-PERF-001并发设备接入1000个MQTT设备同时连接连接成功率≥99.5%成功率达标,CPU≤70%
TC-PERF-002数据上报吞吐500设备同时每秒上报1条消息处理延迟≤500ms无积压,延迟达标
TC-PERF-003控制指令并发100个并发指令响应时间≤1s95%指令在1s内返回

6.2.3 硬件测试用例

用例ID测试项方法判定标准
TC-HW-001温度精度与标准温度计对比(0℃,25℃,50℃)误差≤±0.5℃
TC-HW-002湿度精度与标准湿度计对比(30%,60%,90%RH)误差≤±5%RH
TC-HW-003功耗测试电池供电,每小时上报一次续航≥6个月(实测计算)
TC-HW-004通信距离开阔场地测试Wi-Fi连接距离≥50米稳定连接
TC-HW-005高低温工作-20℃~60℃恒温箱运行2小时设备不宕机,数据正常

6.2.4 安全测试用例

用例ID测试项操作预期结果
TC-SEC-001未授权访问不带Token访问API返回401
TC-SEC-002SQL注入在设备ID参数中输入 ' OR '1'='1查询失败或转义,不泄露数据
TC-SEC-003通信加密抓包MQTT数据应看到TLS加密,不能明文看到密码

6.3 测试报告字段

每次发布记录版本/提交、环境、起止时间、用例总数、通过/失败/阻塞、缺陷列表、已知问题、测试负责人和结论。模板不预填虚构通过数量,实际结果写入 交付记录/VERIFICATION.txt。

6.4 当前 MVP 自动验证补充(2026-09-12)

当前结果只以 Maven、Vue 构建的实际输出及 交付记录/VERIFICATION.txt 为准。

6.4.1 自动场景

场景断言
健康检查服务为 up、结构版本正确
管理认证错误密码 401;正确密码取得令牌和管理员角色
角色授权运维读取审计日志返回 403
产品/设备产品列表可读;注册设备持久化且序列号唯一
设备遥测Kafka TelemetryUp 幂等保存并更新设备属性/在线态
设备事件Kafka EventUp 转换为待处理告警
小程序登录取得 user 令牌
绑定有效绑定码绑定成功;列表仅返回本人设备
越权用户不能读取未归属设备
控制本人设备控制创建指令并进入 Kafka SENT,越权设备拒绝
前端构建Vue TypeScript 类型检查和 Vite 生产构建通过

6.4.2 执行

cd .\物联网项目文档\iot-platform-mvp\backend
.\mvnw.cmd test

cd ..\admin-web
npm ci
npm run build

后端测试 profile 使用 H2、内存 SessionStore 和 Noop Kafka Publisher,不访问真实 MySQL/Redis/Kafka/EMQX。Spring Boot 集成测试覆盖 API、RBAC、设备归属、Kafka 消息处理和 JPA 持久化;任何断言或 TypeScript 检查失败时命令返回非零状态。

6.4.3 仍需在生产一期执行

真实微信登录、EMQX TLS/ACL、MQTT 断线重连、指令 ACK/超时/重试、乱序和重复消息、数据库故障、备份恢复、1,000 设备并发、弱网真机、固件/硬件精度、电气安全和租户隔离测试。