Files
STM32F4-Base/docs/测试说明/README.md
T
wandering1 f81bb38b64
CI / 静态门禁 (pre-commit) (push) Failing after 5m21s
CI / 主机侧单测 (MSVC) (push) Successful in 29s
docs(测试说明): 录波远程半轮收尾回写并新增到场执行手册
- 故障录波设计说明 §10 新增「板级远程半轮记录」:真 FAT 落盘、触发
  时序三样本、冷却恢复、轮转同号覆盖、PC 侧坏段拒收、104 并发
  (参考主站 16/18 绿,两条 COV = 标定闭锁腿物理预期)六项 PASS;
  drop 400–640 点/窗入账为纯观察项(丢样本不丢采集实测面)。
- 新缺陷「回放页段表枚举恒空(板级)」登记登记簿 §2:五面判别钉死
  唯 ui_task_wave_scan() 在 uiTask 拿不到目录条目;伴生纪律缺陷
  f_opendir 失败仍钉 s_wave_scanned=1(修复方向同记录)。
- 新增 docs/测试说明/专项验证/故障录波板级到场轮执行手册.md:剩余
  人到场判据拆成四幕,逐步写清谁出手/做什么/会看到什么,含到场
  检查清单、现场记录表、两个用户决定点、收工还原清单与分诊;
  索引挂行 docs/README.md 与 测试说明/README.md(专项 5→6 篇)。
- scripts/board_ui_nav.py 文件头补三条 7003 驱动纪律(ACK 与推流
  同 TCP 须 drain 静默、home 首 e 是重开最近页捷径、级联光标记忆)。
- 自我更正入档:起草台架计划时带入的「≤15 s 判据」全仓无属主,
  已溯源改指 WAVE_SEAL_TIMEOUT_MS 2 s 封存窗(真锚);「§1.2 两个
  待台架核数值」为错引,改指 §4.2 兜底行与 wave_ring.h 冷却时长。

bench 锁已 release、设备未改烧;证据包在 ci-artifacts/wavebench/。

gate: doc-links --all --sections-strict rc=0(218 篇 3103 处 无法判定
0);mermaid 预检新发 0;py_compile 过;七文件 BOM/CR/U+FFFD 全零。
2026-11-01 14:10:53 +08:00

6.1 KiB
Raw Blame History

测试说明目录导航

本目录放测试文档与测试采集数据,2026-10-30 起按用途分六个子目录(原先 25 篇文档 与 3 个数据目录平铺在一层,找文档靠记忆、命名靠约定)。 全量索引与每篇文档的内容说明在 docs/README.md §6(同一事实只在一处详述, 本文件不重复那些描述),这里只回答两件事:东西该放哪一层、每层现在有什么。

1. 结构与职责

docs/测试说明/
├── 流程与规范/   测试开发的标准动作、门禁决策表、测试文档模板(3 篇)
├── 单元测试/     主机侧纯逻辑单测的说明 + 跨全部套件的覆盖率口径(9 篇)
├── 板级测试/     上板测试:芯片/模块测试指南 + 实机测试实施流程(5 篇)
├── 专项验证/     针对一个问题或一次复验的台架专项流程、存储恢复操作(6 篇)
├── 测试工具/     PC 侧工具用法:串口助手、ST-LINK_CLI 烧录与复位(3 篇)
└── 测试数据/     测试跑出来的原始证据:boot_log_data/ m2_data/ m3_data/

归层的分界线是"这份文档随什么一起演进":跟着测试方法走 → 流程与规范;跟着主机侧 单测代码走 → 单元测试;跟着真机套件与硬件走 → 板级测试;跟着一次结论走(写完即定稿 的专项)→ 专项验证;跟着一个工具走 → 测试工具;不是文档而是证据 → 测试数据。

2. 归层判据(新文档该放哪)

你手上的东西 去处 判据
任何测试都要遵守的流程、命名、门禁口径 流程与规范/ 它约束别的测试文档怎么写
test/host/<模块>/ 那套主机侧单测的说明(用例数、断言点、抓出的缺陷) 单元测试/ 跑它不需要真机;文件名用 <模块>单元测试说明.md
需要真机/台架、对应 test/board/ 套件或某颗芯片的验收步骤 板级测试/ 涉及硬件接线、烧录、板端标记;模块指南命名 <芯片>_Test_Guide.md
针对一个具体缺陷或一次复验的验证动作(非常跑套件)、或一类恢复操作 专项验证/ 有明确的"做完就结束"边界,结论沉淀进模块文档/问题记录
讲一个 PC 侧工具怎么用(命令、参数、排障) 测试工具/ 主体是工具本身,不是被测对象
测试产出的原始数据(JSON、串口片段、二进制快照) 测试数据/<采集批次目录>/ 它是一手证据,不是说明

判据冲突时按这个顺序裁决:是否需要真机执行 → 是则 板级测试/;否则是否只服务一次专项 结论 → 是则 专项验证/;否则按对象类型(单测说明 / 工具 / 流程)归层。拿不准就放 专项验证/ 并在提交说明里写明理由——专项验证/ 是唯一允许"先收下再迁移"的层。

3. 现有文件清单(按子目录)

子目录 文件
流程与规范/ 测试开发标准流程.md · 自动化测试流程.md · 测试文档模板规范.md
单元测试/ 看门狗单元测试说明.md · 系统时钟单元测试说明.md · 开机账本单元测试说明.md · 配置文件单元测试说明.md · ADC输入层单元测试说明.md · 相量层单元测试说明.md · 卷锁单元测试说明.md · 时间同步单元测试说明.md · 主机单测覆盖率口径.md
板级测试/ CH395F_Test_Guide.md · GD5F2GQ5UE_Test_Guide.md · SD2506_Test_Guide.md · FTP_Test_Guide.md · 实机测试实施指南.md
专项验证/ ADC前端注入验证流程.md · 启动日志原子性复验流程.md · 链路延迟测试说明.md · 存储维护与容量恢复.md · 模拟器差距清单.md · 故障录波板级到场轮执行手册.md
测试工具/ 串口助手使用指南.md · 串口助手设计说明.md · ST-LINK_CLI_复位使用说明.md
测试数据/ boot_log_data/(39 个文件,串口/SoE 一手证据)· m2_data/(8 个,链路时延安静档)· m3_data/(11 个,链路时延 M3 各档)

各子目录内部不再加下一层:一层子目录 + 文件名前缀(模块名 / 芯片名)已足够定位,再加层只会 让引用变长、让下面第 4 条的递归门禁 glob 更难核对。

4. 四条硬约束

  1. 测试数据/ 里的文件是一手证据:只增不改。数值被"顺手格式化"就等于基线失效;要更正 结论请改文档并另存新证据文件,不动旧文件。
  2. 两类文件名有机器面,被 scripts/check_test_traceability.py 按目录递归扫描(自本目录 根往下找 *_Test_Guide.md 与 *单元测试说明.md):模块指南落 板级测试/、单测说明落 单元测试/,换层等于让追溯门禁看不见它。
  3. 改名 / 挪目录一律走 scripts/rename_ref.py(先 dry-run 再 --apply),它会同步改写 全库引用;手工扫引用既慢又漏 → docs/文档规范.md §3.6。它搬目录时原有两个会改坏内容的坑 已修(同日加了 --selftest 回归),本目录当时的处置见下面第 5 节。
  4. 引用本目录文档时用仓库根相对路径(形如 docs/测试说明/<子目录>/<文件名>.md);只有图片用 文档所在目录相对 → docs/文档规范.md §3.1 / §3.2。

5. 本次分层的处置记录(2026-10-30)

scripts/rename_ref.py 当时搬目录有两个坑(权威记录在 docs/文档规范.md §3.6 第 4/5 条,两处已于 同日修复并加 --selftest 回归;这里只留本目录的处置):

  • 测试数据/ 下 23 个证据文件的内容曾被脚本误改 → 已用 git show HEAD:<旧路径> 的原始字节逐字节还原, 现在这三个目录是纯改名(内容与 HEAD 逐字节一致)。
  • 数据 README 指向外部的 ../ 出链未自动补层级 → 已手工核对补齐(本目录 测试数据/*/README.md 与 专项验证/链路延迟测试说明.md)。