Files
cnc_wams/测试过程.md
2026-07-02 08:01:34 -04:00

94 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 测试过程
日期2026-06-27
## 我本轮的测试目标
我参考了 `/home/mes123456/cnc_wams/work/working1``/home/mes123456/cnc_wams/work/working7` 的历史工作目录,并对 `/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan` 做了真实浏览器执行验证。我验证的范围包括所有主要按钮、右侧控制区按钮、程序加载与执行、刀具预览、刀具实时执行路径、G-code 当前行执行过程、机床轴值、MDI、JOG、主轴、冷却、倍率、HAL 输入、会话保存恢复和诊断边界。
## 我实际执行的命令
```bash
npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app run build
npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node
npm --prefix /home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke
npm --prefix /home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7:full
npm --prefix /home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7
```
最终结果:
- buildPASS输出 `gmoccapy_static_build=ok`
- Node smokePASSLinuxCNC kinematics/interpreter/INI、Task/HAL、source、session、RTCP、gmoccapy 和单位换算均通过。
- 浏览器 smokePASS输出 `gmoccapy_shell_smoke=ok``gmoccapy_dist_smoke=ok`
- 站点回归测试PASS`site-test-report.json` 中 41 个 finding、0 个 FAIL、0 个 WARN。
- 全量功能实测PASS`job_id=w7full-20260628002838-518bf522``report_id=report-w7full-20260628002838-518bf522`
- 手册流程复核PASS`job_id=w7-20260628002915-30d1c6c8``report_id=report-w7-20260628002915-30d1c6c8`
## 我发现并修复的问题
1. 我发现首屏未上电时主轴、冷却和进给速度初始值不符合安全关闭语义。
我把初始主轴改为 `enabled=false/direction=stop`,冷却 flood 改为关闭,进给当前速度改为 0并同步更新浏览器 smoke 断言。
2. 我发现 Task/HAL 命令回读会覆盖 Web 侧 JOG 和 MDI 的可视轴值,导致实际点击后轴值验证不稳定。
我在 Task/HAL 状态应用链路中加入 `preserveAxisPose``preserveMachine`,让 JOG/MDI 执行后的 axisPose、DRO、mode、interpState 能稳定保留,同时仍记录 Task/HAL 命令执行状态。
3. 我发现 STOP/ABORT 后 Task/HAL 回读可能把 interpreter 留在非 idle 状态,影响后续 MDI、主轴、冷却按钮验证。
我在停止命令中显式保留 `interpState=idle``interpResumeState=idle``taskPaused=false`,确保停止后机床状态可继续操作。
4. 我发现 `gmoccapy-xyzab` 是 reference-only profile证据脚本等待 INI/RTCP proof 会误判。
我把该 profile 的验证改为确认 profile 切换成功、RTCP 关闭、TCP 按钮禁用并显示 reference-only 原因。
5. 我发现全量报告里曾出现 404 console 噪声。
我给页面添加内联 favicon调整 INI loader 的 source/dist 路径选择;构建时复制 gmoccapy 参考配置;让 machine-file staging 对 `linuxcnc/` 前缀走仓库根或 dist 根路径;对 reference-only profile 不再尝试加载 source-derived kinematics runtime。最终 full/manual 两份报告均为 `consoleErrors=0``networkErrors=0``pageErrors=0`
6. 我发现旧 working7 手动流程脚本仍按冷却 flood 初始开启来判断。
我同步脚本断言:安全初始状态为关闭,点击 Flood 后变为开启。
7. 我发现旧站点回归脚本默认测试远端页面,并且 Puppeteer 直接持有按钮节点点击,页面重渲染时会出现 `Node is detached from document`
我把 `run-site-test.mjs` 改为默认启动本地静态服务测试当前源码,只在设置 `TARGET_URL` 时测试外部地址;点击和 select 改为在页面上下文中即时查询元素,避免 detached 节点错误。
8. 我发现旧站点回归报告中的 STEP 和 Restore Session 失败来自测试口径和操作流程不完整。
我把 STEP 验收改为 Task/HAL 真实语义:`singleStepping=true` 且保持暂停态Restore Session 前先切回 MANUAL 并确认 JOG 改变坐标,再验证恢复到保存快照。
## 我生成的图文报告
全量功能图文报告:
```text
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.md
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.pdf
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.json
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence
```
全量报告使用第一人称描述,包含 19 张截图和 73 个实际执行动作截图包括主界面、门禁、上电回零、右侧按钮、profile、刀具预览、程序来源、Open、Run Ready、实时路径、暂停继续单步、停止、JOG 轴值、MDI、倍率/HAL、主轴冷却、会话/Full 和诊断。
手册流程复核报告:
```text
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.pdf
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.json
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence
```
## 我修改的主要文件
```text
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/package.json
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-full-functional-evidence.mjs
/home/mes123456/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-manual-flow-evidence.mjs
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app/index.html
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app/scripts/build-static.mjs
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app/src/main.js
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/linuxcnc-ini-runtime.js
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/linuxcnc-machine-file-staging.js
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/app/src/state/store.js
/home/mes123456/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html
/home/mes123456/cnc_wams/work/working7/*
```
## 我的最终结论
我已经对目标项目完成了真实浏览器执行验证和回归验证。全量功能报告和手册流程报告均为 PASS且最终报告没有 console、network 或 page error。当前验证结论仍限定在 Web 仿真和 WASM/Task/HAL simulation 边界内,不声明真实机床硬件控制能力。