黑盒测试方法以及测试网关步骤

一、经典黑盒测试方法(必会款)

1️⃣ 等价类划分(最基础,但很多人用错)

核心思想

把输入分组,每组里随便挑一个都"等价"。

例子

  • 年龄输入:0--120

    • 有效等价类:1--120

    • 无效等价类:≤0>120、非数字

真相

👉 你不是在省测试量,是在防止无脑穷举

2️⃣ 边界值分析(BUG 高发区)

口诀

错误,80% 在边界附近

测试点通常是:

  • min-1, min, min+1

  • max-1, max, max+1

反例吐槽

只测 max 不测 max+1 = 没测。

3️⃣ 决策表测试(规则一多就靠它)

适合场景

  • 业务规则复杂

  • 多条件组合(权限、状态机、订单流)

例子

用户是否能下单?

  • 是否登录

  • 是否实名认证

  • 是否余额充足

👉 全部组合列成表,一刀切漏测。

4️⃣ 状态迁移测试(状态型系统必备)

适合

  • 登录 / 登出

  • 设备在线 / 离线 / 升级中

  • IoT、网关、协议栈

关注点

  • 合法迁移

  • 非法迁移

  • 重复迁移

  • 异常打断后状态是否错乱

⚠️ 很多线上事故,本质是状态回不去

5️⃣ 因果图法(决策表 Pro Max)

  • 输入条件 = 原因

  • 输出结果 = 结果

👉 把逻辑关系画出来,再转成测试用例

👉 防"条件遗漏症"

6️⃣ 错误推测法(老测试最值钱的能力)

一句话

靠经验"猜"哪里会炸

常见高危点:

  • 空值 / NULL

  • 网络抖动

  • 重复提交

  • 超时重试

  • 并发 + 顺序错乱

⚠️ 这不是瞎猜,是踩坑史换来的直觉

7️⃣ 场景法 / 用例流测试(老板最爱)

不关心单点功能,只关心:

  • 用户从 A 到 Z 能不能走完

  • 中途失败后能不能恢复

例子:

登录 → 配网 → 绑定设备 → 升级 → 控制 → 断网 → 重连

8️⃣ 随机测试 / Monkey Test

  • 随机输入

  • 随机操作

  • 随机顺序

适合

  • UI

  • 移动端

  • 嵌入式交互系统

真相

👉 稳定性不靠设计,靠折磨。

9️⃣ 兼容性测试

  • 系统版本

  • 浏览器

  • 设备型号

  • 分辨率

现实世界真理

你没测到的环境,就是用户用的环境。

🔟 性能 & 压力测试(虽是黑盒,但经常被忽略)

  • 响应时间

  • 并发

  • 内存泄漏(长期跑)

对 IoT / 网关来说:

  • 设备数上来以后,才是真正的测试开始

二、网关测试用例设计

你这个不是"单一方法",而是多种黑盒方法叠加

测试点 对应黑盒方法
Web 配置页 等价类 / 边界值 / 异常输入
MQTT 连接流程 状态迁移测试
服务器 IP 配置 决策表 / 场景法
网关唯一性校验 规则校验 + 错误推测
多网关接入 并发 / 冲突测试

测试对象

  • 网关(有 Web 配置页)

  • 本地 / 私有云 MQTT 服务器

  • 网关唯一标识:Gateway No / MAC / IP


1.Web 配置页面(服务器 IP / 端口)

用例ID 测试点 输入 操作 预期结果
CFG-01 正常 IP 192.168.1.10 保存 保存成功
CFG-02 非法 IP 999.1.1.1 保存 提示格式错误
CFG-03 字符串 IP abc.def 保存 拒绝
CFG-04 空 IP 保存 不允许
CFG-05 前后空格 " 192.168.1.10 " 保存 自动 trim
CFG-06 端口 1883 1883 保存 成功
CFG-07 端口 0 0 保存 拒绝
CFG-08 端口 65536 65536 保存 拒绝
CFG-09 修改后立即生效 新 IP 保存 断旧连新
CFG-10 重启后保留 正常参数 重启 参数不丢

⚠️ 如果 CFG-09 / CFG-10 没测,等着返工


2.MQTT 连接状态迁移

用例ID 测试点 场景 操作 预期结果
MQTT-01 初始状态 未配置 上电 显示未连接
MQTT-02 正常连接 正确 IP 上电 连接成功
MQTT-03 IP 错误 错 IP 上电 连接失败
MQTT-04 服务器断网 已连接 断网 状态变离线
MQTT-05 自动重连 断网后恢复 等待 自动恢复
MQTT-06 重连风暴 IP 错 观察 不疯狂刷日志
MQTT-07 配置变更 在线 改 IP 旧连接断开
MQTT-08 服务器重启 在线 重启服务器 网关重连

👉 状态显示 ≠ 实际连接,必须抓服务器日志验证


3.网关信息上报(注册 / 心跳)

用例ID 测试点 操作 预期
REG-01 首次上线 上电 上报 No/MAC/IP
REG-02 断线重连 拔网线 重连后重新上报
REG-03 服务器重启 重启 网关重新注册
REG-04 字段完整性 抓包 字段齐全
REG-05 固件版本 上报 正确显示
REG-06 IP 变化 DHCP 改 IP 新 IP 上报

4.唯一性校验(重点🔥)

1️⃣ Gateway No 冲突

用例ID 场景 网关 A 网关 B 预期
UNI-NO-01 No 相同 No=001 No=001 B 被拒
UNI-NO-02 A 在线 在线 上线 B 注册失败
UNI-NO-03 A 离线 掉线 上线 是否允许(需求)
UNI-NO-04 顶替场景 离线 同 No 行为明确

⚠️ 这个"是否允许顶替"必须产品拍板,不是技术自作主张


2️⃣ MAC 冲突(最高风险)

用例ID 场景 操作 预期
UNI-MAC-01 MAC 重复 两网关 MAC 相同 后者拒绝
UNI-MAC-02 伪造 MAC 手动改 服务器拒
UNI-MAC-03 已注册 MAC 再上线 不覆盖
UNI-MAC-04 MAC 冲突提示 冲突 明确错误码

👉 MAC 冲突 ≠ 静默失败,否则排障地狱


3️⃣ IP 冲突(灰色地带)

用例ID 场景 操作 预期
UNI-IP-01 DHCP 冲突 两网关同 IP 是否告警
UNI-IP-02 IP 变化 改 IP 服务器更新
UNI-IP-03 NAT 场景 同出口 IP 不误判

5.并发 & 极端场景(真实世界)

用例ID 场景 操作 预期
CON-01 同时上线 两网关同时 无异常
CON-02 同 No 并发 同时连 只允许一个
CON-03 快速重连 反复断连 不死锁
CON-04 配置中断 保存时断电 不脏数据
相关推荐
测试_AI_一辰8 小时前
Agent & RAG 测试工程05:把 RAG 的检索过程跑清楚:chunk 是什么、怎么来的、怎么被命中的
开发语言·人工智能·功能测试·自动化·ai编程
llilian_1611 小时前
信号发生器 多通道多功能脉冲信号发生器应用解决方案 多功能脉冲发生器
功能测试·单片机·嵌入式硬件·测试工具
生活很暖很治愈14 小时前
GUI自动化测试[3]——控件&数鼠标操作
windows·python·功能测试·测试工具
少云清16 小时前
【金融项目实战】3_金融项目 _发布借款业务和投资业务
功能测试·金融·核心业务
少云清16 小时前
【金融项目实战】2_金融项目 _项目介绍(重点)
功能测试·金融
uyeonashi17 小时前
Boost搜索引擎测试报告
功能测试·selenium·搜索引擎
汽车仪器仪表相关领域1 天前
MTX-A 模拟废气温度(EGT)计 核心特性与车载实操指南
网络·人工智能·功能测试·单元测试·汽车·可用性测试
汽车仪器仪表相关领域3 天前
70A大电流+三档电压可调:Midtronics MSP-070系列电源充电器汽车ECU刷新与电池维护实战全解
人工智能·功能测试·单元测试·汽车·可用性测试
汽车仪器仪表相关领域3 天前
经典指针+瞬态追踪:MTX-A模拟废气温度(EGT)计 改装/赛车/柴油车排气温度监测实战全解
大数据·功能测试·算法·机器学习·可用性测试