☰
方案测试不是一上手改代码:先把现象写成别人能复现的句子
2026/10/15 21:34:28 网站建设 项目流程

副标题:环境表、一次一个变量、缺陷单从今天练到能交
专栏:《嵌入式学生的方案测试课》第 1 篇
前置:第 0 篇四层模型和自评表
标签:嵌入式、软件测试、WiFi、物联网、C语言
读者:已经抄过四层模型,桌上有或即将有一块会联网的板
学完交什么:一份环境表、10 组合格现象、3 张缺陷单、一张标注过的桌面照片
本篇仍几乎不接协议栈。你要练的是记录。记录不会,后面的抓包只是壁纸。


0. 这篇结束你能干什么

勾这 3 条。勾不完不要跳到 AT 和 Wireshark。

  1. 会填环境表:板号、固件文件名、AP、信道、加密、距离、天线、供电、串口、时间。缺一项就知道这份记录作废。
  2. 能把「有时候连不上」改写成别人按纸就能做的步骤,并写清期望、实际、概率。
  3. 知道一次只改一个变量;能指出同时换固件、换路由、拔天线为什么不算测试。

第 0 篇解决「测什么」。本篇解决「怎么写,别人才信」。原厂和客户吵架,输的一方通常不是技术浅,而是拿不出可复现记录。


1. 为什么方案测试要先当现场记录员

你修过自己的课设,习惯是:出问题,改一行,再烧,灯亮了就当修好。这个闭环在一个人的桌子上成立,在方案测试岗上会把团队拖死。

现场真实对话更像这样:

  • 客户:你们模组不行,配网经常失败。
  • 开发:我们这边都是好的。
  • 测试:……双方都没有同一份环境表。

没有环境、没有步骤、没有版本,就没有缺陷,只有情绪。情绪不能回归,不能进周报,也不能让硬件去查天线。

校园网工单其实已经教过这件事:先问「哪栋楼、哪个端口、什么时候开始、电脑换过没、网线动过没」,再决定是不是去机房改配置。50 张工单的价值不在 VLAN,在你有没有养成先问清楚再动手。本篇把这个习惯搬到无线板上。

公开文档里同样是纪律,不是鸡汤。泰芯 AH 方案 FAQ 写过:改 SSID 或密码前先把接口 down 再 up,否则可能停在半连接;软件版本号不要擅自改,后面的 SVN 段是用来追溯的。TXW82x 公开 ReleaseNote 把交付固件统一叫APP.bin。这些句子翻译成测试语言就是:

你当时烧的是哪一份、改了什么参数、改的时候链路处于什么状态,必须能写下来。


2. 最小原理:三块积木

2.1 现象不是结论

现象:你看见、听见、读到的原始事实。
结论:你猜它属于哪一层、谁的锅、该怎么修。

可以同时写,但必须分开。混在一句里,别人无法复现,也无法反驳。

混写(不合格)拆开(合格)
Wi-Fi 芯片不行现象:STA 关联成功后 60s 内无 IP。结论(未证实):怀疑 DHCP。
天线质量差现象:IPEX 未锁紧时扫网列表为空;锁紧后 RSSI 打印 -48。结论:先查天线接触。
MQTT 协议有 bug现象:串口显示 GOT IP,云端无设备上线。尚未抓包。结论:分层未定。

测试岗允许你猜,不允许你把猜测写成已经发生的事实。缺陷单里「初步分层」就是专门放猜测的格子,后面可以改。

2.2 最小复现

复现步骤要短到:一个没做过这个项目的同事,只拿你的纸和同一份固件,能做出同一现象。

检验方法很狠:把步骤念给旁边同学听,他每问一个「然后呢」「用的哪份 bin」「密码是对的还是错的」,就说明你的步骤还夹带了脑子里的默认值。那些默认值必须写到纸上。

最小复现不是步骤越少越好。少到关键条件丢了,也不算。该写的条件包括:上电顺序、是否恢复出厂、是否已经有旧 SSID、改参前链路是连着还是断着。

2.3 一次只改一个变量

实验里的变量,是你主动改变的那一个条件。其它条件必须写进环境表并冻结。

常见变量:

  • 固件文件
  • AP 型号 / SSID / 密码 / 加密 / 信道 / 带宽
  • 距离、遮挡、天线是否接好
  • 供电方式
  • 是否恢复出厂、是否在连接中途改参
  • 传感器是否插着(对上云项目)

错误实验:上午换了固件,下午换了路由器,傍晚发现「好像好了」。你无法回答是哪一步修好的,回归时也不知道该保留哪一项。

正确实验:环境表其余字段不动,只把天线从「未接」改成「外置天线锁紧」,其它照旧再走同一组步骤。


3. 环境表:每一格写什么、不写什么

第 0 篇给过最小字段。本篇把每一格写到能填。复制到labs/env.md,一块板一份,以后只追加,不覆盖。

# 环境表 记录编号:ENV-2026-10-13-01 日期时间:2026-10-13 21:05 GMT+8 测试人: ## 被测物 板号/模组丝印: 芯片/模组型号(学生板写 ESP-12F / Hi3861): 固件文件名(含日期,禁止 final.bin): 固件如何确认(串口 AT+GMR / AT+VERSION / 启动横幅): 是否恢复出厂:是 / 否 配置区是否可能有旧 SSID:未知 / 已清除 / 仍保留 ## 串口 USB 转串口芯片:CH340 / CP2102 / 其它 COM 口: 波特率 / 数据位 / 校验 / 停止位:115200 8N1 新行模式:已开 / 未开 TX-RX 是否交叉:是 GND 是否共地:是 ## 射频与供电 天线:未接 / 板载 PCB / 外置ipex已锁紧 / 外置未锁紧 供电:电脑 USB / 5V 适配器(写电流) / 移动电源 上电时电压是否用表量过:否(学生可先写否,第 15 篇再补) ## 网络环境 AP 型号: SSID: 加密:OPEN / WPA2-PSK / WPA3 / 混合 密码长度:不写明文密码到公开仓库,写「8 位数字」或「实验室密码A」 信道 / 频段:2.4G ch6 / 未知 带宽:20M / 40M / 未知 距离:约 _ 米,是否隔墙: 同时在线的其它 2.4G 设备:手机热点 / 无 ## 本次实验 本次只改的变量: 对照基线(上一份成功记录编号):

3.1 固件文件名

final.bin、new.bin、能用的.bin都作废。最低要求:

esp8266_at_ai_thinker_2026-10-13.bin hi3861_agric_keepalive60_2026-06-02.bin

原厂公开版本类似v2.4.1.3-34690。你没有 SVN,就用日期和用途。关键是:报告里的名字和磁盘上的文件必须能对上,串口打印出来的版本也必须抄下来。打印和文件名不一致,先当烧错了,不要当「打印无所谓」。

3.2 不要把密码明文同步到公开地方

缺陷单内部可以写「密码错误:少一位」或「正确密码对照」。CSDN 作业截图要打码 SSID 和密码。本专栏示例一律用假 SSID:lab-ap-01。

3.3 信道「未知」可以暂时写,不能不写这一格

家用路由管理页能看到信道。看不到就写未知,并在步骤里加一句「未锁定信道」。未知和没这格是两回事。未知提醒你:这次数字不能和别人的 ch1 结果比。

3.4 时间

统一用本地时间加时区,例如2026-10-13 21:05 GMT+8。拷机和抓包以后要对齐,时钟乱写等于废。电脑时间错了,先改系统时间再测。


4. 现象怎么写:从文学到记录

先看 10 条不合格,再看改写。不要跳着看。左边这些句子,客户、同学、过去的你都说过。

4.1 十句不合格

  1. 有时候连不上。
  2. Wi-Fi 很差。
  3. 芯片不行。
  4. 信号不好。
  5. 配网很随机。
  6. 烧了新固件还是不行。
  7. 应该是路由器兼容性问题。
  8. MQTT 老掉。
  9. 跟昨天一样的问题。
  10. 我这边是好的。

每一句都缺至少三样:环境、步骤、可观察的实际结果。第 7 句还提前判了锅。第 10 句在原厂现场几乎等于宣战,因为它没有「你的环境表」。

4.2 同一批现象的合格写法

下面默认环境已经填在 ENV 表里,现象本身还要能独立站住。

  1. 在 ENV-01 下,输入正确密码后 30s 内串口无WIFI GOT IP,模组返回FAIL。重复 5 次,5 次相同。AP 距板约 1m,天线已接。
  2. RSSI 打印 -86 dBm(串口字段名以实际固件为准),距 AP 约 8m 隔一堵墙。同固件在 1m 无墙时 RSSI -47 dBm,关联成功。
  3. 不写「芯片不行」。改为:现象如上;初步分层未定;已排除错密码(对照实验见 BUG-02)。
  4. 「信号不好」改成带数字的 RSSI,或扫网列表是否为空,或天线是否未接。三者不要混成一个词。
  5. 10 次配网:正确密码 10/10 成功;将密码最后一位改错后 10/10 失败并返回ERROR。不是随机,是对密码敏感。若 10 次里 3 次失败,写 3/10,并记下失败那几次的时间。
  6. 文件esp8266_at_2026-10-13.bin烧录后,串口横幅仍显示旧版本0018000902。怀疑未烧进去或读到了另一分区。先核对烧录日志,再谈功能。
  7. 同一固件、同一距离,AP-A(WPA2,ch6)10/10 成功;AP-B(WPA2/WPA3 混合,信道自动)4/10 失败。初步分层:兼容性,待锁定 AP-B 信道后再测。不是「应该是」。
  8. Wi-Fi 显示 GOT IP 后,MQTT CONNECT 发出,10s 内无 CONNACK。Wi-Fi 未掉(期间 ping 网关 0% 丢包)。分层偏向应用/云端,不是射频。
  9. 不写「跟昨天一样」。写:与 BUG-2026-10-12-03 步骤相同,今日 21:10 再次出现,日志logs/2026-10-13-2110.txt。
  10. 不写「我这边是好的」。写:实验室 ENV-01 下 10/10 通过;客户描述缺少固件版本和 AP 型号,已按问询清单索取。

4.3 合格现象的硬指标

自己检查,缺一条就重写:

  • 有时间点或时间段
  • 有次数或概率(1 次偶发也要写 1 次,不要写「偶尔」而不写分母)
  • 有你看见的字符串、灯、IP、RSSI,而不是形容词
  • 能指向一份环境表
  • 不把锅写进现象

形容词可以出现在「初步分层」或「备注」,不要出现在「实际结果」的主句。


5. 测试记录和缺陷单不是同一张纸

学生容易把所有失败都当成 bug。方案测试要分清三种纸。

纸干什么什么时候用
环境表冻结条件每次开测前
测试记录 / 用例结果过 / 不过 / 阻塞,附日志路径每条用例执行完
缺陷单偏离期望、需要修或需要决策确认不是操作失误之后

例如:你忘了开串口新行,AT 没反应。这是测试记录里的「环境未就绪」,不是芯片缺陷。你改好新行后再测,仍然没反应,才配得上缺陷单。

AH 公开 FAQ 里「电脑无法识别串口 → 没装 CH340」就是环境问题。写成「模组 UART 坏了」会浪费硬件一天。

缺陷单的读者可能是开发、硬件、FAE、未来的你。他们不在你桌边。所以缺陷单比实验笔记更干净:步骤里不要出现「再试一下就好了」「我感觉」。


6. 缺陷单每一栏怎么填

模板(复制到labs/bugs/):

编号:BUG-YYYYMMDD-xx 标题: 严重级别:阻塞 / 严重 / 一般 / 轻微 环境:见 ENV-____ ;此处再摘 5 个关键字段 前置条件: 步骤: 期望: 实际: 概率:N/M 附件: 初步分层:射频 / 关联 / IP / 应用 / 硬件 / 工具 / 未定 是否改过默认参数: 回归范围(先空着,修好再填):

6.1 标题

标题是检索入口,不是作文。建议:

【模块】条件 + 可观察结果

合格:

  • 【WiFi STA】正确密码、距 AP 1m,30s 内无 GOT IP,返回 FAIL(5/5)
  • 【WiFi STA】天线未接,扫网列表为空;接天线后恢复
  • 【MQTT】GOT IP 后 CONNECT 无 CONNACK,网关可 ping

不合格:

  • 连不上
  • 紧急!!!
  • WiFi 问题
  • 跟张工说的那个

前面加模块名,方便以后过滤。学生板用【WiFi STA】【MQTT】【串口】就够。

6.2 严重级别(学生先用这四档)

级别含义例子
阻塞主路径走不通,后面用例无法进行烧录后无任何串口输出;正确密码完全不能关联
严重主功能经常失败或数据错误弱网重连 2 分钟,云端命令窗口丢失
一般有绕过或仅部分场景某品牌混合加密 AP 成功率 40%
轻微体验或日志问题,功能仍可用日志没有时间戳;成功时多打一行乱码

不要把所有失败都标阻塞。阻塞一多,开发就不再看你的级别。也不要把死机标轻微。

6.3 步骤写法

用编号,一句一个动作。不要「然后把那个什么连一下」。

1. 按 ENV-01 接线,天线锁紧,5V USB 供电。 2. 串口 115200 8N1,打开新行。 3. 上电,等待启动横幅,确认版本字符串为 ____。 4. 发送扫网命令,确认列表中有 SSID lab-ap-01。 5. 使用正确密码发起连接。 6. 等待 30s,记录串口最后 20 行。

动作里的命令,到第 4 篇会换成真实 AT。本篇允许你先写「发送扫网命令」,但必须写你等什么、等多久。

6.4 期望必须可判定

「尽快连上」不可判定。「30s 内打印 GOT IP 且能 ping 网关」可判定。
「稳定」不可判定。「12 小时内 0 次复位,剩余堆波动不超过 2KB」可判定。
现在测不了 12 小时,就把期望写成当前实验能判定的那一句,不要抄大词。

6.5 附件

至少准备坑位,即使今天还没有 pcap:

  • 串口完整日志(含启动,不要从报错那一行截)
  • 接线照片(天线、供电)
  • 以后:抓包文件,并注明网口还是空口

日志从启动开始,是因为很多「连不上」的根因在启动时已经断言失败。公开 FPV 文档也强调找首个错误,不要用后面的 DHCP 超时当根因。学生现在没有那块板,这条纪律仍然适用。


7. 手把手实验

材料:第 0 篇的桌面;一块能失败的联网板最好。没有板,用纸上演练三张缺陷单,板到了再补日志路径。失败比成功更有教学价值。不要为了交作业专门挑一次成功的配网。

实验 A:把「ESP8266 连不上热点」写十次

打开编辑器,先写 10 句不合格(可以抄 4.1,再改成你自己的口吻)。
然后强制改成 10 句合格。每一句必须能指向将要填写的 ENV-01。

自检:把 10 句合格发给同学(打码 SSID),问他能不能复现。他若还要问 COM 口、密码对不对、天线在不在,你就补环境表,不要补形容词。

实验 B:一次只改一个变量的对照

目标:证明「天线未接」和「密码错误」不是同一个缺陷。

基线环境:距 AP 约 1m,天线锁紧,正确密码。先做一次成功对照,记录 GOT IP 时间。

然后做两次失败,中间必须恢复基线:

  1. 只拔天线(密码仍正确)。记录扫网是否为空、返回码、RSSI 有无。
  2. 接回天线,只改错密码。记录是否仍能扫到 SSID、连接返回什么。

禁止:拔天线的同时改密码。那样你得到一个无法分层的失败。

把两次失败写成两张缺陷单,即使你知道都是自己人为制造的。人为制造是为了练笔,不是为了骗自己有 bug。标题里可以加【教学注入】,到岗后真实缺陷不要加这四个字。

实验 C:填三张缺陷单

下面三张是范文。你必须用自己的 ENV 编号重填一遍,不要直接交范文。


范文 1:错密码(关联层)
编号:BUG-20261013-01 标题:【WiFi STA】【教学注入】密码少一位时 30s 内无 GOT IP,返回 FAIL(5/5) 严重级别:一般(错误密码本应失败;本单练的是「失败是否可观察、是否卡死」) 环境:ENV-01;ESP-12F;固件 esp8266_at_2026-10-13.bin;AP lab-ap-01 WPA2 ch6;天线锁紧;1m 无墙 前置条件:基线正确密码已 1/1 成功拿到 IP。不恢复出厂,仅改密码。 步骤: 1. 确认天线锁紧,串口有启动横幅。 2. 扫网,列表含 lab-ap-01。 3. 使用比正确密码少最后一位的字符串发起连接。 4. 等待 30s。 5. 重复 5 次,每次间隔 10s。 期望:每次在 30s 内返回明确失败(ERROR 或 FAIL),模组不复位,串口仍能接受下一条 AT。 实际:5/5 在约 8s 返回 FAIL;无复位。UI 若存在,应显示失败而不是转圈到死(无 UI 则只记串口)。 概率:5/5 附件:logs/wrongpass-01.txt(含启动) 初步分层:关联(密钥错误)。射频排除:扫网成功。IP 未进入。

这张单的教学点:失败也要有明确、可超时的失败。如果错密码时模组死等 60s 且不再响应 AT,级别就要改成严重,因为测试和产品都会卡死。


范文 2:拔天线(射频层)
编号:BUG-20261013-02 标题:【WiFi STA】【教学注入】外置天线松开后扫网列表为空(3/3) 严重级别:阻塞(主路径在无天线时完全不可测;真实产品若天线座虚焊也是阻塞) 环境:ENV-01,仅天线改为「ipex 未锁紧」 前置条件:同一固件、同一 AP、锁紧天线时扫网可见 lab-ap-01。 步骤: 1. 断电。 2. 松开 IPEX(或拔掉杜邦模拟的天线连接,按你的板实际情况写)。 3. 上电,打开串口。 4. 发送扫网,等待 10s。 5. 接回天线,再扫一次作为恢复对照。 期望:无天线时扫网为空或 RSSI 不可用;接回后恢复可见 SSID。 实际:无天线时列表空,3/3。接回后第 1 次扫描重新出现 lab-ap-01,RSSI -46。 概率:3/3 附件:desk-antenna-loose.jpg ;logs/no-ant.txt 初步分层:射频 / 硬件接触。不是协议栈。

到岗后若客户板「有时扫不到」,先要照片证明天线座,不要先怀疑协议。AH 公开 FAQ 写 IPEX 底下要镂空、RF 走线不要直角,那是硬件设计;测试侧对应的是:记录天线状态,并做接/不接对照。


范文 3:能连没 IP(IP 层,允许先演)

没有能力关路由器 DHCP 时,可以只写到「待注入」,但栏位必须齐。有家用路由管理权的,关掉 DHCP 再测。

编号:BUG-20261013-03 标题:【WiFi STA】AP 关闭 DHCP 时关联成功但 60s 无 GOT IP(2/2) 严重级别:严重(产品会显示已连接却上不了云) 环境:ENV-01;AP 管理页关闭 DHCP;其它字段同基线 前置条件:DHCP 开启时 1/1 GOT IP。本次只关 DHCP。 步骤: 1. 在 AP 管理页关闭 DHCP,保存。 2. 板子上电,正确密码连接。 3. 观察 60s 串口:是否有关联成功类打印,是否有 GOT IP。 4. 电脑连同一 AP,确认电脑也拿不到自动 IP(对照)。 5. 打开 DHCP,板子重启后再测恢复。 期望:无 DHCP 时应在超时后报明确错误,而不是一直显示 connected;恢复 DHCP 后 30s 内 GOT IP。 实际:(写入你的串口原文。若模组只打印 connected 再无下文,把最后 20 行贴上。) 概率:2/2 附件:logs/no-dhcp.txt ;ap-dhcp-off.png(管理页打码) 初步分层:IP / DHCP。射频和关联已过(能扫能连)。应用未开始。

第 8 篇会用网口抓 DHCP Discover。现在没有抓包,不要在单子里写「抓包显示如何如何」。没做过的证据不要提前编。


实验 D:桌面怎么摆、照片怎么拍

作业要求拍测试区。图上至少四块标注:电源、天线、串口、AP。文字说明为什么这样摆。

推荐摆法(宿舍桌也能做):

  • 电源和天线不要缠在一起。USB 线和射频线缠绕,以后排「掉线」会多一个变量。
  • 串口线固定,避免一碰就松。松了的现象很像复位。
  • AP 或手机热点放在固定位置,地上用胶带做 1m 标记。不要今天板在键盘旁、明天在床尾还对比 RSSI。
  • 金属电脑屏幕不要紧贴天线。先当干扰源记下来。
  • 一张纸或屏幕角落打开环境表,拍照时能看见板子和天线座。

照片里打码:路由器管理页、家人电脑桌面、证件。SSID 用纸挡住再拍也行。


7.5 完整演练:客户一句话,怎么问成一张单

客户微信原话(典型):

你们模组不行,配网经常失败,我们软件没问题。

你不能回「那你发个日志」。你要按第 0 篇的礼貌,把情绪翻译成栏位。一次只问一小串,问到能填 ENV 为止。

建议问询顺序(复制到聊天框,按条发,不要一次十问把人问死):

  1. 完整固件版本字符串,或 bin 文件名。有串口启动横幅就拍照。
  2. 模组丝印 / 料号 / 板号。
  3. 「经常」是 10 次里几次?今天什么时间段开始?
  4. AP 品牌型号、加密方式、手机能连上这个 AP 吗?
  5. 失败时模组离 AP 大约几米、有没有墙、天线是板载还是外置。
  6. 串口有没有日志?请从上电第一行贴到失败为止,不要只截最后一句。
  7. 失败前有没有改过 SSID、密码、信道?改的时候是连着的还是断开的?
  8. 同一块板在你们实验室连自己的手机热点,成功过吗?

把假想回答填进单:

标题:【WiFi STA】客户现场 AP-B(WPA2/WPA3 混合)配网失败 6/10,实验室 AP-A 10/10 通过 环境:客户未提供信道,已标未知;固件 v2.4.x.x-xxxxx(待客户补全横幅) 步骤:按客户描述:上电 -> 产品 APP 配网 -> 多次失败。实验室对照:同一固件连 lab-ap-01。 期望:同一固件在声明支持的加密方式下配网成功率 ≥ 90%(具体门槛以项目规格为准,没有规格就先写实测对比)。 实际:客户口述 6/10;实验室 0/10 失败。尚未拿到从启动开始的日志。 初步分层:未定。兼容性待锁信道后复测。当前阻塞项:缺少启动日志和 AP 信道。

注意:在日志到来之前,不要把标题写成「芯片射频差」。你现在只有「两环境结果不一致」和「缺证据」。方案测试的专业性,往往表现在敢把分层写成未定。

7.6 偶发缺陷怎么追,不要写成玄学

偶发不是不能提单,是必须带分母和时间。追的方法:

  1. 先固定环境,重复 20 次主路径,记下 N/20。少于 20 次就写清分母,别说「有时」。
  2. 看失败是否和温度、上电次数、是否刚改参、是否附近有微波炉/手机热点有关。每次只加一个观察项。
  3. 打开串口时间戳(终端软件或自己在日志里打)。失败那一秒前后 5 秒必须留下。
  4. 若 20 次里 0 次失败,写「实验室未复现,客户环境待补 AP 型号和距离」,而不是写「无法重现所以不是问题」。
  5. 真偶发到 1/50,仍然可以是严重(例如死机)。级别看后果,不看你烦不烦。

Hi3861 农业终端那种「弱网才慢」不是偶发玄学,是条件缺陷:把 RSSI 约 -80 dBm、断 Wi-Fi 10s 再恢复,写进前置,它就变成必现或高概率。能把偶发变成条件必现,记录员就算及格。

口述范文(条件缺陷,不是教学注入):

标题:【MQTT】RSSI≈-80dBm 时断开 Wi-Fi 10s,重连超过 30s,云端命令丢失(3/3) 环境:Hi3861;固件 agric_keepalive60_日期.bin;AP 固定;板放到 RSSI 打印约 -80 的位置 步骤:云端下发灯开关;断开 AP 电源 10s;恢复;记录串口重连时间和灯是否执行。 期望:30s 内 MQTT 恢复且命令不丢或可补执行(以项目规格为准)。 实际:重连约 120s,期间命令丢失,3/3。 初步分层:应用保活/重连策略。Wi-Fi 能恢复,不是扫不到。 附件:串口日志。网口抓包待第 8 篇补,未做不写。

简历里如果写过这个项目,用这张单的结构讲,不要用「我优化了 KeepAlive」当第一句。先现象,后猜测。

8. 校园网工单怎么迁移到板上

把工单里真正可迁移的问法列出来,不要迁移网管术语。

工单会问板上对应
哪栋楼哪个房间哪份 ENV、哪块板号
什么时候开始时间戳、是否刚烧录、是否刚改 AP
电脑换过没固件换过没、模组换过没
网线动过没天线、IPEX、供电线动过没
别人同房间好不好同一 AP 下手机能否联网(对照)
重装系统了没是否恢复出厂、是否清过旧 SSID

工单里「先复现再改配置」等于缺陷单里「先最小复现再改代码」。你如果在工单里做过认真的人,本篇不是新道德,是把口头习惯写成栏位。


9. 换成泰芯公开场景会怎么变

仍然用固定句式:公开文档怎么写,学生板怎么迁移,原厂板以手册为准。

公开事实测试记录里要多写的一格
改 SSID/KEY 前先 down 再 up,否则可能假连接改参时链路状态:已连接 / 未连接 / 未知。步骤里必须有 down、改参、up 的顺序
版本号含 SVN,不要擅自改缺陷单抄完整版本字符串,不要只写「2.4」
交付固件叫 APP.bin学生对应:磁盘文件名 + 串口横幅,两份都存
修改 STA 个数后参数区错位,要 AT+LOADDEF前置条件写清是否恢复出厂;改过容量类参数必须记
多台近距离老化互扰环境表加「同时测试的套数、间距」
手机搜不到 HaLow 是频段问题现象里禁止写「搜不到就坏了」;要写用什么设备、什么频段去搜
UART TX/RX 串 1K 防漏电硬件检查:串口工具能否识别、TX 能否输入,先当工具和环境

国内读者仍然不做 HaLow 发射。这些对照是教你:原厂 FAQ 其实是缺陷单纪律和硬件检查单,不是神秘口令。

学生用 ESP8266 迁移「改参时机」:连接过程中不要同时改 SSID、断电、拔天线。要测改参,就先断开,再改,再连,写成步骤。


10. 30 秒口径

我先记环境再动手:固件、AP、信道、天线、供电、时间。
现象和结论分开写。现象要有字符串、次数、时间。
一次只改一个变量。
缺陷单必须能让别人按纸复现。
还没抓包、没打流的时候,我不把分层写成定论。


11. 作业(本周和第 0 篇作业放一起)

目录建议:

labs/week01/ env.md bad-to-good.md # 10 组不合格 → 合格 bugs/ BUG-2026xxxx-01.md # 错密码 BUG-2026xxxx-02.md # 天线 BUG-2026xxxx-03.md # DHCP 或「待注入」但栏位齐 desk.jpg # 四块标注 desk-note.md # 为什么这样摆,少于 200 字

验收标准:

  • env.md没有空白必填项。未知必须写成「未知」,不能删格。
  • 10 组合格现象都能指向这份环境表。
  • 三张缺陷单标题符合「模块 + 条件 + 可观察结果」。
  • 天线和错密码是两次独立实验,没有写在同一张单的步骤里同时发生。
  • 照片能看出电源、天线、串口、AP 四个位置。
  • 没有任何一句「芯片不行」出现在现象栏。

没有板:前两项和缺陷单栏位仍要交。步骤写成「板到达后的注入计划」,级别和分层可以预填,实际和附件写「待补」。板到货 24 小时内把实际和附件补上,不要等第 4 篇。


12. 自测题(先闭卷)

  1. 为什么「我这边是好的」不能当作测试结论?
  2. RSSI 写成「信号一般」有什么问题?
  3. 同时换固件和路由器,成功了为什么不能写进报告当对比数据?
  4. 错密码失败,什么情况下仍要提缺陷单?
  5. 日志为什么要从启动截,而不是从报错那一行?
  6. 缺陷单里「初步分层」和「实际」哪一个允许写猜测?
  7. 公开 FAQ 说改 SSID 前先 down 再 up,环境表哪一格对应这件事?
  8. 偶发问题最少应该怎么写概率?
  9. 测试记录和缺陷单的差别是什么?
  10. 你第 0 篇自评里「环境表」如果打了 2,本篇作业交不出env.md该改成几分?

参考答案见附录。


13. 学生常见翻车

  1. 缺陷单标题党:紧急、芯片不行、随机。
  2. 用感觉代替 RSSI、时间、次数。
  3. 把操作失误(波特率、没开新行、天线没接)直接提成芯片缺陷。
  4. 三张单其实是同一次失败复制粘贴,没有一次一个变量。
  5. 照片拍了桌面全景,看不清天线座。
  6. 把本篇当成写作课交差,第二天测 AT 时又回到口头「有时候」。
  7. 在公开博客贴真实 Wi-Fi 密码和客户 SSID。

14. 下一篇预告

第 2 篇:《方案测试的 C 不是刷题:指针、堆栈、volatile 和你能看懂的死机现场》。

记录习惯有了,才能谈固件死机。下一篇把笔试题里的堆和栈、野指针、环形缓冲,收成测试能用的边界用例。仍不是算法竞赛。

抓包仍在第 8 篇。本篇作业没交,第 8 篇的截图没有环境可挂,等于废图。


附录 A. 自测题参考答案

  1. 它没有环境表,也没有和客户同一份固件/AP/步骤。只能当「另一环境未复现」,不能当否决。
  2. 无法对比、无法设弱网门槛。要写 dBm 或至少写扫网是否为空、距离和遮挡。
  3. 两个变量一起变,因果无法归属,也无法回归。
  4. 失败不可观察(死等、死机、不再响应 AT)、失败后状态机乱、或错误密码居然关联成功。单纯「错密码连不上」且返回明确 ERROR,通常是符合期望,记测试记录即可;范文 1 是教学注入,到岗后按期望是否偏离来决定。
  5. 根因可能在启动断言、版本错误、校准缺失。从报错截会丢掉首个错误。
  6. 只有「初步分层」允许猜测。「实际」只写观察到的事实。
  7. 「本次只改的变量」以及前置里的链路状态:改参前是否已连接。步骤必须写出 down / 改 / up。
  8. 写 N/M,例如 3/10,并附失败那几次的时间。不要只写「偶发」。分母太小要注明,3 次里 1 次不能外推。
  9. 测试记录是用例执行结果;缺陷单是偏离期望、需要别人处理的条目。环境未就绪不属于缺陷。
  10. 改成 0 或 1。2 分必须有文件证据。

附录 B. 给开发看的最短转述(以后贴聊天框)

不要贴情绪。复制并填空:

环境:固件 ____,AP ____,信道 ____,天线 ____,距离 ____。 步骤:____。 期望:____。 实际:____(N/M)。 日志:____。 我只改了:____。 初步分层(猜测):____,待你看日志后纠正。

这 7 行就是方案测试的礼貌。比「帮我看一下」有用。

附录 C. 公开资料

  • 泰芯 AH 方案 FAQ:改参时机、版本追溯、串口工具、IPEX、近距离老化
  • TXW82x FPV 公开开发文档:先找首个错误;先电源串口再外设
  • TXW82x FPV ReleaseNote:交付物APP.bin;若干死机与碎片问题类型(第 2、13 篇再用)

(第 1 篇完)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询