副标题:把珠海泰芯「方案测试工程师」翻译成 12 周技能树
专栏:《嵌入式学生的方案测试课》第 0 篇(开栏)
标签:嵌入式、软件测试、WiFi、物联网、C语言
读者:会点灯、写过 STM32 / Hi3861 / ESP8266 课程设计,没进过原厂实验室的本科生
学完交什么:岗位边界表、四层排障草图、能力自评表、12 周日历、桌上材料清单
本篇不接仪器。下一篇才开始把「有时候连不上」写成能复现的句子。
0. 这篇结束你能干什么
勾完这 3 条,再往下翻目录。勾不完说明你还在用「开发者的脑子」读测试岗。
- 能用自己的话区分:方案测试、软件测试、芯片验证、FAE、嵌入式开发。五者边界能画表,不靠感觉。
- 能说出泰芯三条公开产品线各自「过关」长什么样:HaLow 网桥、Wi-Fi SoC 图传、Transceiver 回传。不把 HaLow 说成能连家里 TP-Link。
- 填完能力自评表,知道自己现在停在「不会 / 能讲 / 能做」哪一档,以及本专栏 12 周要把哪些格子从「能讲」推到「能做」。
本篇没有 Wireshark 截图,没有 iperf 数字。这是故意的。学生翻车通常不是少一个快捷键,而是第一天就想改驱动,却说不清测什么、交什么、什么叫过。
1. 开场:点灯会了,为什么还测不好
你大概有过这样的下午。
板子插上 USB,串口吐出一堆启动日志,GPIO 翻转,LED 亮。你很高兴,觉得「嵌入式入门了」。然后老师或面试官随口问一句:
「它连路由器要多久?弱网会不会掉?掉了多重连?重连期间云端命令丢不丢?跑一夜堆还够不够?」
你卡住了。不是 C 语法不会,是你从来没把这块板当成要交给别人的方案。
课程设计的验收标准通常是:演示一遍,功能看起来对。
原厂方案测试的验收标准是:在写得清的环境里,按写得清的步骤,得到写得清的数,并且别人拿你的记录能复现。
这两套标准差在三个字:可交付。
一块能亮灯的 Wi-Fi 板,离可交付还隔着至少这些事:
- 版本号对不对,烧录的是不是这份固件
- 天线在不在,IPEX 有没有坐实,供电会不会一发射就掉
- 扫得到吗,关联得上吗,拿得到 IP 吗
- TCP 有没有建立,MQTT/HTTP/RTSP 有没有业务
- 持续灌流量时吞吐掉不掉、会不会断
- 跑 8 小时、12 小时会不会死机、泄漏、任务卡住
- 换一台路由器、隔一堵墙、错一次密码,现象是否仍可解释
- 出问题时光写「芯片不行」还是能分层、能贴日志、能回归
珠海泰芯半导体把校招岗位写成「方案测试工程师」,官网职责只有一句:负责无线通信方案的软件/硬件测试。任职要求也不长:做事有条理、熟悉 WiFi/蓝牙基础、熟练 C、英语四级。
短,不代表浅。短的意思是:他们不找芯片设计,也不找纯 APP 点点点。他们找的是能把一块无线方案测到能交客户的人。
本专栏按这个岗位的干活方式教。主实验板用你买得起的 ESP8266 / ESP-12F,第二条线用 Hi3861 小熊派练 MQTT、任务和拷机。没有泰芯开发板,方法仍然通用;到原厂板时命令以公开手册为准,不要把 ESP 的 AT 套到 AH 模组上。
先把身份钉死:你是来学测方案的,不是来把测试写成转开发跳板的。
2. 为什么方案测试要先认岗,再摸工具
学生拿到 Wireshark 会先点鲨鱼鳍。学生拿到示波器会先乱拧。学生拿到一块联网板会先改代码。
方案测试反过来:
- 这是什么方案?测到什么程度算过?
- 现在现象落在哪一层?
- 环境固定了没有?一次只改一个变量?
- 该用串口、抓包、打流,还是先看供电和天线?
- 记录够不够让别人复现?
- 修完回归了没有?
工具是第 4 步才出场。第 1、2、3 步不会,工具只会让你更快地得出一个错的结论。
所以开栏这篇不教点击。它教一张图、五条边界、三条产品线的过关标准、一份自评表。这些是后面 20 篇的坐标系。坐标系歪了,抓包篇写得再细也会把网口说成空口。
3. 最小原理:方案不是芯片,测试不是试用
3.1 方案是一整包
把「方案」拆开,你才知道自己在测什么:
客户产品 ├── 芯片或模组(Wi-Fi SoC / HaLow / Transceiver) ├── 固件(版本号、配置、校准、授权库) ├── 天线与射频通路(IPEX、匹配、座子镂空) ├── 电源与复位(纹波、掉电、漏电) ├── 外围(Sensor、SD、屏、Codec、以太网 PHY) ├── 主机或云(MCU、APP、Broker、播放器) └── 使用环境(AP、距离、墙、干扰、温度)芯片只是其中一块。客户说「你们芯片不行」,可能是天线没接,可能是 DHCP 没拿到,可能是 MQTT KeepAlive 太长,可能是 SD 卡住编码。方案测试的第一专业技能不是会写驱动,而是把锅分到正确的那一层。
3.2 测试不是「我连上了」
试用:连上热点,APP 能看到温度,觉得可以。
测试:约定环境,执行用例,记录数字,给出通过 / 有条件通过 / 不通过,并列出剩余风险。
数字没有环境就没有意义。同一块板,贴着路由器和隔两堵墙,吞吐可以差一个数量级。报告里必须写:AP 型号、信道、加密、距离、天线、供电、固件版本、时间。缺一项,你的「18Mbps」就是文学。
3.3 黑盒、白盒、灰盒在这个岗怎么用
笔试题会考:按测试技术分,黑盒和白盒。方案测试现场三者都会碰到,但出场顺序不同。
- 黑盒:按需求看输入输出。配网成不成功、RTSP 有没有画面、拷机死不死。客户验收主要看这个。
- 白盒:看内部路径。I2C CRC 失败有没有丢弃、重连失败路径有没有 free、中断里有没有 malloc。定位死机时才下去。
- 灰盒:看不到全部源码(很多无线栈是库),但看得到日志、AT、抓包、任务状态。这是方案测试的日常。
不要在客户现场一上来就要源码。先复现,再分层,再决定要不要打开工程。
3.4 一周工作切片(公开资料上的合理画像)
原厂不会把内部排班发到网上。但把泰芯公开的 FAQ、AT、SRRC、FPV SDK 文档摊开,日常大概长这样:
| 时间 | 你实际在干什么 | 交什么 |
|---|---|---|
| 早上 | 烧录指定版本,看启动日志和版本号 | 冒烟结果:过 / 不过 |
| 上午 | AT 配网、扫网、关联、DHCP、上云 | 用例表 + 失败会话 |
| 下午 | ping / iperf 打流,隔墙、换 AP | 带环境的性能数字 |
| 下午 | 图传看 RTSP 是否卡顿 | 分层:射频 / 码率 / SD / 内存 |
| 晚上或过夜 | 拷机 | 堆、任务、重连、死机时间点 |
| 随时 | 硬件核对:供电、天线、串口电阻 | 给硬件的问题清单 |
| 随时 | 提单、回归、向客户要日志 | 可复现的缺陷单 |
综测仪、暗室、monitor 空口会在认证和射频深挖时出现。开栏就要记住:那是后面的工具,不是你第一周的身份证明。
4. 岗位边界:五张表,防止走错工位
下面五类岗位经常被学生混成一句话「做芯片的」。混了之后,简历、自我介绍、学习路径会一起歪。
4.1 方案测试工程师(你要学成的样子)
测的是芯片/模组 + 固件 + 参考设计 + 客户板能不能在约定场景里稳定工作。
典型输出:用例、日志、抓包、打流数据、缺陷单、测试报告、回归结论。
典型问题:配网失败、掉线、兼容性差、图传卡顿、拷机死机、电流进不了休眠档。
技能重心:C 能看懂现场、无线分层、串口 AT、网口抓包、打流、拷机、软硬件联测、把现象写成别人能复现的句子。
不是:从零写协议栈,不是去改 ISP 算法当主业,不是只点 APP。
4.2 嵌入式软件开发
写固件、驱动、RTOS 适配、业务。泰芯校招另有「嵌入式软件工程师」,JD 更长:蓝牙/WiFi/星闪、IoT、音视频,含驱动、移植、客户支持和 PC 小工具。
开发也要会测自己的代码,但考核的是把功能做出来、把版本归档。方案测试考核的是把方案验清楚。本专栏会读那份开发 JD,只为理解现场会碰到什么问题,不把读者导向「先测再转开发」。
4.3 软件测试(互联网/APP)
按需求点功能、写用例、提 bug、做自动化。无线方案测试看起来也像,但对象是带射频和实时系统的板,不是浏览器。你要会 C、会看堆、会看任务阻塞、会跟硬件对天线,而不是只会 Postman。
4.4 芯片验证(IC Verification)
在 RTL / 仿真 / FPGA / ATE 上证明芯片设计符合规格。SystemVerilog、UVM、时序、覆盖率。方案测试碰到的是已经流片、已经做成模组的东西,在真实天线和真实 AP 旁边工作。两者都叫验证,实验室完全不同。
4.5 FAE / 现场支持
面对客户,把方案落地,排查现场问题。方案测试经常给 FAE 提供可复现的结论和版本基线。FAE 更靠沟通和现场条件;测试更靠实验室里的可重复数据。好的方案测试会把客户那句「不行」翻译成分层证据,FAE 才带得出去。
记一句就够:
开发把板子做亮,测试把板子做可交,验证证明芯片设计对,FAE 让客户用得上。你现在走的是中间这一段。
5. 泰芯三条线:各测到什么程度算过
资料只引用官网公开产品线和文档,不编内部流程。学生没有原厂板,就把「过关标准」记成检查清单,后面用 ESP8266 / Hi3861 迁移同一类动作。
5.1 Wi-Fi HaLow:TXW8301 / TX-AH-R900
它工作在 Sub-1GHz,不是 2.4G,也不是 5G。公开 FAQ 写得很直:普通路由器是 b/g/n/ac/ax,手机搜不到 HaLow 是正常的,只能用泰芯 AH 模组互连。
过关时你至少要能回答:
- 两端是 AP 还是 STA,SSID、密钥、chan_list、bss_bw 是否完全一致(含信道顺序)
- 改 SSID / KEY 之前有没有先把接口 down 再 up,有没有在「连上的半路」改参导致假连接
- 串口能否输入 AT(新行模式、CH340 驱动、TX/RX 是否交叉)
- 打印里的 RSSI、版本号、能否 ping / iperf 互通
- 2.4 版固件带 LWIP,默认网段 192.168.123.x,可以按 IP 打流;1.6 版是透传,没有模组 IP,要靠两边电脑打流
- 多台近距离老化卡顿:AH 带宽本身不宽,公开建议测试台隔开,不少于 3 米
- 近距离 RSSI 出现正数 0 到 10:AH FAQ 说可能正常,不要拿 2.4G 的负值经验一刀切
国内读者注意:公开频点说明写明,目前国内没有 AH 的合规业余频段。本专栏不做 HaLow 发射实验。你只读文档,把测试动作迁移到 2.4G 板。
5.2 Wi-Fi SoC:TXW81x / TXW82x
面向智能家居、无线摄像机、单芯片图传。TXW82x 公开 FPV SDK 是双核:CPU0 跑应用、网络、多媒体;CPU1 跑无线 Core。启动日志里要看到 CPU1 ready,再解释业务。
过关时你至少要能回答:
- 烧录的 APP.bin 是否与板卡、Flash、PSRAM、config 匹配;是不是拿了旧 Core 去打新 App
- 先只接电源、串口、调试口点亮,再逐个加 Sensor、SD、LCD、USB,不要一次插满再排障
- STA 连上路由器:关联事件不等于 DHCP 完成,更不等于 RTSP 有画面
- 图传:电脑连设备 Wi-Fi,播放器打开 RTSP。能连无画、有画卡顿,要拆成码率、SD、内存、Socket 发送、Wi-Fi
- 打流:公开 SRRC 文档用 AT 连路由后再
AT+IPERF2=c,ip,5001,时长 - 低功耗:先问测的是哪一档休眠。电流差一个数量级,优先查根本没进休眠,而不是先怀疑芯片漏电
- 公开 ReleaseNote 修过的问题类型要认识:mjpeg 大块申请导致碎片、编码空间不足死机、SD 兼容、辅码流没编上。测试语言是「改分辨率/码率后堆和死机率」,不是「我去改 ISP」
5.3 Wi-Fi Transceiver:TXW901
面向桥接、回传、网卡、射频配套。过关时你测的是射频通路和主机侧能不能稳定收发,不是再写一套 APP 页面。对学生来说,先建立概念:有的方案里 Wi-Fi 不是「板子自己上云」,而是给主机当网卡。测试入口可能是 SDIO/USB/SPI 驱动、iperf、主机日志,而不是 MQTT 主题。
三条线共用同一句口令:
先分层,再选工具。射频、关联、IP、应用,一次只改一个变量。
6. 贯穿全书的四层模型(先画下来)
后面每一篇故障都往这张表里扔。现在先抄到笔记本上,不要优化它。
传感器 / 按键 / 摄像头 | v MCU 任务(采集、协议、控制、内存) | v Wi-Fi 驱动 / AT 模组 | +--> 空口 802.11(天线里的管理帧、射频质量) [第 1、2 层] | v AP / 路由器 | v 网口 Ethernet / IP / TCP 或 UDP [第 3、4 层] | v MQTT / HTTP / RTSP / iperf 业务四层检查单:
| 层 | 你问的问题 | 典型证据 | 常用工具 |
|---|---|---|---|
| 射频 | 有没有天线?频段对不对?RSSI 在什么量级? | 扫不到、RSSI 极差、HaLow 当 2.4G 搜 | 眼睛看天线、串口 RSSI;空口/仪表是后话 |
| 关联 | 能否扫到、能否 Auth/Assoc?密码和信道一致吗? | 能扫不能连、AH 两端 chan_list 不一致 | AT 扫描、连接返回码;空口看 Assoc |
| IP | 有没有 DHCP?网关 DNS 对不对? | 显示已连接但 ping 不通 | 串口 GOT IP;网口抓 DHCP |
| 应用 | TCP 建了吗?MQTT/HTTP/RTSP/打流有业务吗? | 有 IP 上不了云、有 RTSP 无画面 | 网口抓 TCP/MQTT;串口看鉴权 |
三句必须现在就背:
- 默认打开 Wireshark,抓的是网口(主机网络栈看到的 IP/TCP),不是空口。
- 串口 AT 文本不是网包。Wireshark 抓不到
AT+SSID。 - 设备和电脑连同一台 WPA2 家用路由时,你常常看不到设备去云端的 MQTT。要把设备连到电脑热点,让流量经过你的网卡。
这三句会在第 8、9 篇展开成点击级教程。现在只要保证你不会在自评表里给自己「精通空口抓包」打勾。
学生项目怎么套这张表(只作实验载体,不是量产经验):
- Hi3861 农业终端:I2C 读数是板内;Wi-Fi 关联和 IP 是中两层;MQTT 上华为云是应用层。弱网重连慢,要问发现断线晚在哪一层。
- ESP8266 配网:扫不到、错密码、没 IP、HTTP/JSON 卡 UI,刚好四层各一个坑。
- 校园网工单:分层习惯能迁移,不要把校园交换机故障写成射频指标。
7. 工具箱:什么时候才上仪表
按出场顺序记,不要按「看起来更高级」记。
| 优先级 | 工具 | 它能证明什么 | 它不能证明什么 |
|---|---|---|---|
| 1 | 眼睛和手 | 天线、供电线、复位键、指示灯 | 协议对不对 |
| 2 | 串口终端 | 版本、AT、RSSI、任务、堆、断言 | 云端到底收到什么 |
| 3 | 环境表和缺陷单 | 别人能否复现 | 根因(它只是容器) |
| 4 | ping | 通断和 RTT | 吞吐、图传是否卡;不算打流 |
| 5 | iperf / AT+IPERF2 | 持续灌流量下的吞吐、丢包、抖动 | 射频认证指标 |
| 6 | Wireshark 网口 | DHCP、TCP 握手、MQTT、HTTP、重传 | 802.11 管理帧、每帧 MCS |
| 7 | Python 小脚本 | 重复发 AT、统计成功率 | 替代你思考分层 |
| 8 | 电流计 | 有没有进休眠档 | 射频杂散 |
| 9 | monitor 空口 / 芯片日志 | 关联失败、空口重传 | Windows 笔记本默认做不到 |
| 10 | 综测仪、暗室、SRRC 工具 | 功率、频偏、杂散、自适应 | 学生宿舍合法可做的范围几乎为零 |
公开 SRRC 文档里有 WiFiTestTool 发包、CCA 自适应、载波频偏。那是有资质的测试环境。本专栏讲到认证时只讲认知和记录字段,不教你在宿舍连续发射。
Python 在这个岗的正当用法只有一种:替你发 AT、收日志、填表格。不写 Flask,不写爬虫,不在简历里写成「精通后端」。
8. 手把手实验(本篇不接仪器)
材料:笔记本、笔、你做过的任意联网课程设计(没有就写「打算买 ESP8266」)。
步骤 1:列桌上已有的东西
对照下面清单,在本子上打勾。缺的不要现在冲动下单超过 300 元的仪表。
必买(大约 150 到 300 元就能开练):
- Windows 电脑,能以管理员身份装 Npcap
- USB 转串口(CH340 或 CP2102)和杜邦线
- 一块会 AT 联网的板:ESP8266 / ESP-12F 最小系统或现成开发板
- 家用 2.4G 路由器,你有权改 SSID、密码、信道
- 稳定 5V 供电。不要用不明快充头给开发板供电
强烈建议:
- 手机(开热点,后面抓设备 MQTT 要用)
- iperf3 Windows 版
- Mosquitto(本机 MQTT broker)
- 若已有小熊派 Hi3861,不要再重复买第二套 2.4G 板也可以,但 AT 会话仍建议有一块 ESP8266
不强制,本专栏只讲认知:综测仪、屏蔽箱、monitor 网卡、泰芯学习板、HaLow 模组、电流钳。
步骤 2:把项目拆成「测过 / 没测过」
不要写功能列表。按测试动作拆。下面是一份填空,把你的 Hi3861、ESP8266 或别的板填进去。
| 测试动作 | 我做过吗 | 证据是什么(日志/表格/口头) | 诚实备注 |
|---|---|---|---|
| 记录固件版本和环境 | |||
| 功能:采集/配网/控制 | |||
| 异常:错密码、拔传感器、断网 | |||
| 弱网:远离 AP,记 RSSI 和重连时间 | |||
| 拷机:≥2 小时,看死机和堆 | |||
| 打流:iperf 持续灌 TCP/UDP | 没跑过就写没跑过 | ||
| 网口抓包:DHCP/TCP/MQTT | 同一 AP 下抓不到设备 MQTT 不算会 | ||
| 空口抓包:802.11 管理帧 | 没 monitor 就写不会 |
课程设计可以当实验载体。不允许写成「我在原厂用综测仪测过 HaLow」「我空口抓过 802.11」「看完就能进泰芯」。
步骤 3:抄四层模型和缺陷单空白模板
缺陷单本篇不填实例,只把栏位抄下来,第 1 篇开始用。
标题: 严重级别: 环境:板号 / 固件 / AP / 信道 / 距离 / 天线 / 供电 / 时间 前置条件: 步骤(少到别人按纸能做): 期望: 实际: 附件:串口日志路径 / 抓包文件 / 照片 初步分层:射频 / 关联 / IP / 应用 / 硬件 / 未定 是否必现:是 / 偶发(N 次里 M 次)标题禁止只写「芯片不行」「有时候连不上」。
9. 换成泰芯公开场景,方法怎么变
固定句式后面每篇都会用:
公开文档写的是……学生板上我们用 ESP8266 或 Hi3861 迁移同一测试动作……到泰芯板时命令以手册为准。
几个现在就能用的对照:
- 公开 FAQ:串口输不进 AT,先查 CH340 和新行模式。学生板同样。
- 公开 FAQ:改连接参数先 down 再 up。学生板表现为:配网过程中不要同时改 SSID 和断电。
- 公开 FAQ:版本号含 SVN,不要擅自改,否则无法追溯。学生从今天起烧录记录必须写版本,禁止用「最新的那个 bin」。
- 公开 SRRC:先 AT 连路由,再 iperf 打流。学生先在两台电脑上把 iperf 跑通,再谈板上 AT+IPERF2。
- 公开 FPV SDK:先电源和串口点亮,再外设。学生插满摄像头和屏再排障,是同一类错误。
- 公开 AH:手机搜不到 HaLow。学生用家里手机扫 ESP8266 的 2.4G SSID 可以;用手机扫 HaLow 得出「模组坏了」是概念错误。
9.1 同一句「连不上」:学生怎么干,方案测试怎么干
把这句话当成开栏的毕业小考。后面每篇都是在给这张表填工具。
现象:板子连不上家里路由器。
| 步骤 | 学生常见做法 | 方案测试做法 |
|---|---|---|
| 1 | 立刻改代码、换示例工程 | 先抄环境:固件名、AP、信道、加密、距离、天线、供电 |
| 2 | 同时换密码、换路由、拔插天线 | 一次只改一个变量 |
| 3 | 看灯不亮就重烧 | 打开串口,确认版本、波特率、有没有扫到 SSID |
| 4 | 扫不到就判芯片坏了 | 先问:是 2.4G 还是 HaLow?天线在不在?RSSI 有没有打印 |
| 5 | 能扫不能连就改驱动 | 先故意用错密码对照一次,确认模组会返回失败而不是死等 |
| 6 | 显示 connected 就宣布成功 | 问有没有 IP,能不能 ping 网关 |
| 7 | ping 通就说网络没问题 | 再问 TCP 有没有建、业务有没有包;需要时才打流 |
| 8 | 口头告诉同学「刚才好了」 | 写缺陷单或测试记录:步骤、期望、实际、日志路径 |
| 9 | 修好不回归 | 配网、回连、错密码、弱网至少各走一遍 |
| 10 | 简历写精通 Wireshark | 如实写:网口抓到了什么;空口没条件就写没条件 |
如果你第 1 到第 8 步仍偏向左列,本专栏对你有效。如果已经能稳定走右列,第 0、1 篇可以快读,从第 4 篇 AT 和第 8 篇抓包加深。
9.2 实验记录怎么归档(从今天起用这套目录)
不要把日志扔在桌面叫 新建文本文档 (3).txt。建议从第 1 周就用:
labs/ week01/ self-score.md project-split.md five-words.md desk.jpg env.md # 一块板一份环境表,后续只追加 bugs/ 2026-10-13-wifi-no-ip.md captures/ # 第 8 篇才用,pcapng 打码后的截图 scripts/ # 第 14 篇才用
env.md 最小字段:
日期: 板号/模组: 固件文件名(不要叫 final.bin): 串口 COM 与波特率: AP 型号 / SSID / 信道 / 加密: 天线:内置 / 外置 / 未接 供电:USB 口 / 适配器电压电流 距离与遮挡: 本次只改的变量:
原厂公开 FAQ 强调版本号不要擅自改,就是为了追溯。学生对应的纪律是:文件名带日期和用途,例如 esp8266_at_20261013_wrongpass.txt。
9.3 公开文档怎么读,才不会淹死
泰芯文档中心条目很多。开栏只要求你会「按测试动作去翻」,不要求读完数据手册。
读法:
- 先看标题里有没有 FAQ、AT、测试、SRRC、低功耗、视频。这些跟方案测试近。
- 数据手册先看:频段、接口列表、供电范围。电气极限以手册为准,不要用软件宏去猜。
- 遇到 AT 命令,抄「查询 / 设置 / 成功长什么样 / 失败长什么样」,不要抄全部参数表。
- 遇到认证步骤,只记:需要什么模式、要记录哪些字段、哪些事宿舍不能做。
- 读完用一句话翻译成用例。翻译不出来,等于没读懂。
例:公开 FAQ 写「多台近距离老化卡顿,测试台隔开不少于 3 米」。翻译成用例就是:两套设备间距 0.5 米打流一次,间距 3 米再打一次,只改距离,记录卡顿和吞吐。学生没有 AH 模组,就在 2.4G 上用两台手机热点互扰做思想实验,真做隔墙实验放到第 12 篇。
10. 30 秒口径(早会和面试都能用)
方案测试测的是整包无线方案,不是单测一个函数。
我按射频、关联、IP、应用分层,一次只改一个变量。
串口看版本和 AT,网口抓 TCP/MQTT,打流用 iperf 看吞吐,拷机看堆和任务。
空口、综测仪、暗室我按认知学习,没有条件就不装做过。
HaLow 不是家里那个 Wi-Fi,手机搜不到是频段问题。
说完停。不要补一句「我也想转开发」。
11. 读者公约(专栏红线)
- 不装懂。网口不是空口。ping 不是打流。MQTT 两秒一包不是性能测试。
- 不违规射频。国内不做 HaLow 发射。不做宿舍 SRRC 连续发射。
- 不抄内部文档,不写未公开校准值,不把公开 FAQ 改写成「内部培训泄露」。
- 不把课程设计写成量产原厂经验。
- 不承诺看完能进泰芯。承诺看完能按清单干活。
- 一次只改一个变量。同时换固件、换 AP、换天线,等于没测。
- 先记录后改代码。测试岗第一周不是重构工程。
违反第 1 条,后面抓包篇对你无效。违反第 2 条,不要做本专栏的实验。
12. 专栏地图:21 篇主线 + 1 篇番外
每篇独立成文,开头会用 200 字交代前置。建议按周读,不要一天扫完目录就觉得自己会了。
| 编号 | 你将练成什么 | 交作业 |
|---|---|---|
| 0 本篇 | 认岗、分层、自评 | 自评表 |
| 1 | 现场记录员 | 环境表 + 3 张合格现象 |
| 2 | C 熟到能看死机 | endian / 环形缓冲测试 |
| 3 | RTOS:任务还活着吗 | 人为制造发送堵住采集 |
| 4 | 串口 AT 日志 | 完整配网会话 |
| 5 | 四层排障用熟 | 四层各造一个故障 |
| 6 | TCP 连接-通信-断开 | SYN 截图 |
| 7 | UDP 与图传差异 | iperf UDP 丢包表 |
| 8 | 网口抓包(写得最细) | DHCP/TCP/MQTT 三图 |
| 9 | 空口边界 | 网口/空口对照表 |
| 10 | MQTT 上云清单 | KeepAlive 缺陷单 |
| 11 | 配网业务与 JSON | 错密码/坏 JSON/掉电回连 |
| 12 | 打流与性能 | 同房间 vs 隔墙报告 |
| 13 | 泄漏与拷机 | 堆曲线 |
| 14 | Python 胶水 | 50 行 AT 统计脚本 |
| 15 | 软硬件联测 | 松天线/拔传感器分层 |
| 16 | HaLow/图传/低功耗/认证认知 | 文档到用例映射表 |
| 17 | BLE 配网到够用为止 | 四条 BLE 配网用例 |
| 18 | 开箱到可交付 | 完整测试报告 |
| 19 | 版本、回归、客户 | 一周工作日记 |
| 20 | 成熟清单 | 最终打分 |
| 番外 | 面试与材料口径 | 45 秒介绍(测不是开发) |
技能树就是这个顺序。学生最缺的不是再背一遍 C 语法,而是不知道测什么、抓哪一层、数字在什么环境下才有意义。本专栏比例:70% 测试动作,30% 够用的原理。
13. 12 周日历
按每周 4 到 6 小时实验来排。课程设计和实习可以并行,但不要用「看过」代替「交过作业」。
| 周 | 读 | 实验产出 |
|---|---|---|
| 1 | 第 0、1 篇 | 环境表、3 张缺陷单、自评 |
| 2 | 第 2、3 篇 | C 手写测试、任务阻塞对照 |
| 3 | 第 4、5 篇 | AT 会话、四层故障表 |
| 4 | 第 6、7 篇 | TCP 握手图、iperf UDP 表 |
| 5 | 第 8 篇 | 电脑热点拓扑抓到 MQTT |
| 6 | 第 9、10 篇 | 空口对照表、MQTT 掉线检查单 |
| 7 | 第 11、12 篇 | 配网用例、隔墙打流报告 |
| 8 | 第 13、14 篇 | 2 小时拷机曲线、串口脚本 csv |
| 9 | 第 15、16、17 篇 | 硬件检查单、专项映射表、BLE 四用例 |
| 10 | 第 18 篇 | 全程测试报告(专栏毕业设计) |
| 11 | 第 19、20 篇 | 周报、最终打分 |
| 12 | 番外 + 补漏 | 把不会的三项补到「能做」 |
第 5 周是分水岭。抓不到 MQTT 的人,多半还在错误拓扑里抓:设备和电脑都连家用 AP。第 8 篇会把接线写成点击级。不要提前给自己贴「会抓包」。
14. 能力自评表(现在填,第 20 篇再填一次)
打分:0 不会;1 能讲、没正经做过;2 能独立做并留下记录;3 能教别人、能写缺陷单。
成熟方案测试不要求第 9、10 行一上来就是 2。要求你不要把 0 写成 3。
| 编号 | 能力 | 现在 | 12 周目标 | 证据(文件名/日期) |
|---|---|---|---|---|
| 1 | 环境表 + 可复现现象 | ≥2 | ||
| 2 | C:堆栈、指针、状态机,能看死机 | ≥2 | ||
| 3 | RTOS:区分阻塞、死循环、死机 | ≥2 | ||
| 4 | AT 配网会话(含错密码和超时) | 2 | ||
| 5 | 四层排障 | 2 | ||
| 6 | TCP 握手 / 挥手 / RST | 2 | ||
| 7 | UDP 与打流差异 | 2 | ||
| 8 | Wireshark 网口:DHCP/TCP/MQTT | 2 | ||
| 9 | 空口 802.11 / monitor | 1(诚实) | ||
| 10 | MQTT CONNECT/KeepAlive/QoS | 2 | ||
| 11 | 配网持久化与 JSON 异常 | 2 | ||
| 12 | iperf 性能报告(含环境) | 2 | ||
| 13 | 拷机看堆曲线 | 2 | ||
| 14 | Python 串口统计脚本 | 2 | ||
| 15 | 软硬件联测对话 | 2 | ||
| 16 | HaLow/图传/低功耗/认证认知 | 1→能讲 | ||
| 17 | BLE 配网分层 | 1 | ||
| 18 | 完整测试报告 | 2 | ||
| 19 | 版本纪律与客户问询清单 | 2 |
专栏结束的验收不是「关注了专栏」,而是第 1.5 节那 10 条(这里再写一遍,当作毕业条件):
- 用四层模型排障,一次只改一个变量
- 独立写并执行功能、异常、兼容、弱网、拷机、打流用例
- 分清网口和空口,能抓 TCP/MQTT/DHCP,空口诚实标注边界
- 讲清 TCP 全流程、UDP 无连接、MQTT CONNECT/KeepAlive/QoS
- 解释并检测泄漏、任务阻塞,会看剩余堆和任务状态
- 用 Python 写串口 AT + 日志统计
- 写出可复现缺陷单
- 面对「芯片不行」先要版本、复现、日志
- 了解泰芯三条线在测什么
- 没碰过的仪表会配合,不装做过
15. 作业(本周必须交齐,不要只看)
作业 1:把第 6 节四层模型抄到笔记本上,用自己的项目填一列「我当时的证据是什么」。没有项目就填「计划用 ESP8266 制造的故障」。
作业 2:给自己的项目按功能 / 异常 / 弱网 / 拷机 / 打流 / 抓包各打 0 到 2 分。0 就是 0。把「简历上写过 Wireshark、其实只是打开过软件」改成 0 或 1。
作业 3:写下五个你没做过、但这个岗位会问的词,并各用一句话解释你今天的理解。建议就用:打流、空口、iperf、泄漏曲线、任务状态。写错没关系,第 3、8、9、12、13 篇会改。
作业 4:拍一张你的桌面(没有板就拍电脑和即将放板子的位置),在图上预留电源、天线、串口、AP 四个标注位。第 1 篇会要求你标注完。
不要把作业发到评论区晒「我准备进原厂」。发给自己的文件夹即可,第 18 篇要归档进测试报告。
作业怎么算交齐:四个文件放在同一个目录,例如 labs/week01/。
- self-score.md:第 14 节自评表
- project-split.md:第 8 节步骤 2 的测过/没测过表
- ive-words.md:五个词的今天理解
- desk.jpg:桌面照片(可以先不标注完)
没有板也可以交前三份。不要等快递到了再开始认岗。
15.1 一份填好的自评示例(请对照,不要抄分数)
下面是一个「写过 Hi3861 上云课程设计、简历写了 Wireshark、其实没抓到过设备 MQTT」的学生。分数故意打得很冷。你的表可以更高或更低,但口径要一样硬。
| 能力 | 分 | 他为什么这么打 |
|---|---|---|
| 环境表 + 可复现现象 | 1 | 能讲现象,步骤里总夹杂「大概」「好像」 |
| C 看死机 | 1 | 课设能编过,中断和堆栈只停留在笔试 |
| RTOS 阻塞 vs 死机 | 1 | 用过任务和队列,没打过任务状态 |
| AT 配网会话 | 2 | ESP8266 真连过,错密码也试过 |
| 四层排障 | 1 | 能背四层,现场仍会同时改密码和换路由 |
| TCP 全流程 | 1 | 能背三次握手,没对着 Wireshark 指过 |
| UDP / 打流 | 0 | 没跑过 iperf,把 MQTT 上报当成性能 |
| 网口抓包 | 1 | 打开过 Wireshark 看过自己电脑上网 |
| 空口 | 0 | 诚实 |
| MQTT | 2 | 真上过云,KeepAlive 改过 |
| 配网持久化 | 2 | Flash 回连做过 |
| iperf 报告 | 0 | 没有 |
| 拷机看堆 | 1 | 跑过夜,但只看灯 |
| Python 串口脚本 | 0 | 会点打印,没写成可重复脚本 |
| 软硬件联测 | 1 | 拔过传感器,没系统记录 |
| HaLow/图传/认证认知 | 0 | 没读过公开 FAQ |
| BLE 配网分层 | 0 | |
| 完整测试报告 | 0 | 只有答辩 PPT |
| 版本纪律 | 0 | bin 文件名叫 inal_final2.bin |
这个学生的 12 周目标不是处处 3,而是:把 0 变成 1 或 2,把「简历上的 Wireshark」变成「热点拓扑下抓到 CONNECT 的截图」。3 分留给你真能教别人之后。
15.2 开栏自测题(先闭卷写,再翻正文)
- 方案测试、嵌入式开发、芯片验证,各用一句话,不要出现「都是做芯片的」。
- 为什么手机搜不到 HaLow 不能直接判模组坏了?
- ping 通了,能不能写进性能测试报告当打流结果?为什么?
- 默认打开 Wireshark,Protocol 列全是 TCP/MQTT,这是网口还是空口?
- 「连接事件」和「拿到 IP」是不是一回事?
- 拷机 12 小时只看灯亮,漏了哪三类观察?
- 客户说芯片不行,你开口先要哪 4 样东西?(本篇至少能说出版本、步骤、日志、环境)
- 本专栏主实验板是什么?没有泰芯板能不能练?
- 国内读者为什么不做 HaLow 发射实验?
- 你的自评表里,哪一项你最想标 2、但证据其实只有 0?把它改回来。
参考答案在附录 C。先写再看。看完立刻改自评表,不要只说「哦原来如此」。
16. 学生常见翻车(开栏先点名)
- 把本专栏当成转开发教程,看到 C 和 RTOS 就兴奋,看到缺陷单就跳过。
- 把 HaLow 当家里 Wi-Fi,用手机搜不到就判模组坏了。
- 把网口 MQTT 截图说成空口 802.11。
- 把 ping 通、MQTT 上报成功说成完成了性能测试。
- 拷机只看灯还亮,不看堆、不看任务、不看重连次数。
- 缺陷单无环境、无步骤、无期望,只剩情绪。
- 同时改三个变量,修好了也不知道为什么好。
- 没跑过 iperf,简历先写上。
这 8 条里占了 3 条以上,请从本篇作业 2 重新打分,不要直接跳到第 8 篇。
17. 下一篇预告
第 1 篇:《方案测试不是一上手改代码:先把现象写成别人能复现的句子》。
你将把「有时候连不上」改成 10 条合格现象,填 3 张缺陷单,学会一次只改一个变量。没有这个习惯,后面所有抓包截图都只是壁纸。
附录 A. 公开资料(本篇用到的)
只列官网公开入口,方便你自己点开核对。本专栏不替代数据手册,不提供内部包。
- 泰芯半导体官网与产品线:Wi-Fi HaLow、Wi-Fi SoC、Wi-Fi Transceiver
- 校招岗位:方案测试工程师(无线通信方案软硬件测试)
- 泰芯 AH 方案 FAQ、AH-SDK AT 指令、802.11AH 频点设置说明
- Wi-Fi4 SRRC 测试方法(含 AT 连路由与 iperf)
- TXW82x FPV SDK 开发文档、低功耗指南、视频应用说明
- GitHub 公开仓 taixin-semi/TXW82x_FPV 的 ReleaseNote(认识缺陷类型,不当源码课)
引用方式永远是:公开文档怎么写、学生板怎么迁移、原厂板以手册为准。
附录 B. 给已经投过这个岗的人
如果你正在准备或已经面过方案测试:用本篇第 10 节口径和第 14 节自评表即可。不要在任何对外材料里写「我按内部培训学的」。没有原厂板、没有空口、没有综测仪,不是羞耻;把它们写成做过,才是。
专栏不保证录用。它保证你以后再听到「打流、网口、空口、拷机、分层」时,知道自己该动手还是该诚实说边界。
附录 C. 开栏自测题参考答案
- 方案测试:证明整包无线方案在约定环境里可交付。嵌入式开发:把固件和功能做出来。芯片验证:在设计阶段证明芯片规格。实验室、输出物、对方说话的对象都不同。
- HaLow 在 Sub-1GHz,普通手机和家用 AP 工作在 2.4G/5G。公开 FAQ 写明搜不到是频段问题,要用 AH 模组互连。
- 不能。ping 看通断和 RTT。打流是持续灌 TCP/UDP 流量看吞吐、丢包、抖动。MQTT 两秒一包也不是打流。
- 网口。空口的 Protocol 列应是 802.11 / Radiotap,常见管理帧是 Beacon、Probe、Auth、Assoc。
- 不是。关联成功只说明 802.11 连上 AP。DHCP 完成才有 IP。没有 IP 就谈不上 MQTT/HTTP。
- 堆是否单边下降、任务是否卡住或周期抖动、重连/复位/看门狗次数和时间点。还可以加误控、采样中断。
- 固件完整版本、复现步骤和概率、环境(AP/信道/距离/天线)、完整串口日志。有抓包更好,但要注明网口还是空口。本篇先练开口要这四样。
- ESP8266 / ESP-12F。没有泰芯板可以练,方法相同,命令以公开手册为准。Hi3861 作为 MQTT/任务/拷机第二实验线。
- 公开频点说明写明目前国内没有 AH 合规业余频段。本专栏只读文档、迁移方法,不教违规发射。
- 没有标准答案。常见高估项:Wireshark、拷机、性能测试。有截图、有表格、有版本号才是 2。
附录 D. 第 1 周每天干什么(没有板也能开始)
| 天 | 用时 | 做什么 |
|---|---|---|
| 周一 | 40 分钟 | 读本篇第 1 到第 6 节,抄四层模型 |
| 周二 | 40 分钟 | 填自评表和测过/没测过表,打分宁低勿高 |
| 周三 | 30 分钟 | 写五个词的今天理解;把 inal.bin 改名为带日期和版本的文件名规则 |
| 周四 | 40 分钟 | 点开附录 A 的 AH FAQ 和 SRRC 文档目录,只看标题,列 10 个「到岗会碰到的词」 |
| 周五 | 30 分钟 | 做开栏自测题,对附录 C,改自评 |
| 周末 | 1 到 2 小时 | 确认 ESP8266 和 USB 转串口是否在路上;整理桌面四个位置;预习第 1 篇标题 |
USB 转串口没到之前,不要用电脑的随机 COM 口「模拟成功」。没有板,就老老实实把记录习惯练起来。
(第 0 篇完)