# 01 测试功能内容 生成日期:2026-06-27 ## 1. 测试目标 按《Web RTCP 五轴联动数控系统仿真界面操作手册》验证 `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan` 的核心操作功能,并把可重复执行的测试方法写入 `/home/meswork/cnc_wams/work/working7`。 本轮测试目标包括: - 确认项目可以完成静态构建、Node runtime smoke 和浏览器 smoke。 - 将操作手册中的功能拆分为可追踪测试任务。 - 明确哪些功能已有自动化证据,哪些功能后续需要补截图、PDF 或专用脚本证据。 - 保持 Web 仿真安全边界,不把浏览器状态误认为真实 LinuxCNC 实时硬件控制。 ## 2. 输入资料 | 类型 | 路径 | | --- | --- | | 操作手册 | `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/docs/Web-RTCP五轴数控系统仿真界面操作手册.docx` | | 项目 README | `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/README.md` | | 前端 app | `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app` | | Node 测试 | `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node` | | 浏览器测试 | `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser` | | 既有 QA 证据 | `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output` | ## 3. 安全边界 本项目是 Web 侧仿真界面,不直接驱动真实机床硬件,不替代 LinuxCNC 实时内核。测试中所有 POWER、HOME、RUN、JOG、MDI、主轴和冷却行为都只验证浏览器仿真状态、Task/HAL WASM 运行时、UI 状态和诊断信息。 验收表述必须保留这些边界: - 可以说:Web UI、store、Task/HAL simulation、LinuxCNC source-derived WASM 运行链路通过测试。 - 不可以说:浏览器已具备真实机床控制能力。 - 可以说:`xyzac-trt`、`xyzbc-trt` 的 RTCP/TCP 运动学使用 LinuxCNC source-derived WASM 证据。 - 不可以说:`gmoccapy-xyzab` 的 `trivkins` reference profile 是 RTCP proof。 ## 4. 手册功能拆解 | 功能域 | 手册章节 | 测试内容 | 主要验收点 | | --- | --- | --- | --- | | F01 主界面区域 | 2 | titlebar、preview、DRO、G-code、info tabs、override、spindle/coolant、bottom controls、status sidebar | 9 个区域存在,非预览区域有可读状态,预览 canvas ready 且非空。 | | F02 开机和急停 | 3.1 | E-STOP、RESET、POWER | POWER 后 `powerOn=true`,急停会关闭 power、主轴和冷却,按钮 title 显示 gate 原因。 | | F03 回零 | 3.2 | Home | `allHomed=true`,DRO 回到 profile 参考位置,AUTO/MDI gate 解除。 | | F04 模式切换 | 3.3 | AUTO、MANUAL、JOG、MDI | AUTO 激活为绿色且 MANUAL 灰色;切回 MANUAL 时反向成立;未满足前置条件时阻止并提示原因。 | | F05 AUTO 自动运行 | 4 | LinuxCNC source、Run Ready、Run、Pause、Resume、Step、Stop | G-code 当前行绿色高亮,DRO/预览/Task/HAL feedback 同步,Stop 后 interpreter idle。 | | F06 MANUAL 点动 | 5 | X-/X+/Y-/Y+ 和 JOG 入口 | 仅在 power on、manual、idle 条件下允许;DRO 对应轴变化,Operator 信息记录点动。 | | F07 MDI | 6 | 输入并执行 MDI 命令 | `machine.mode=mdi`,执行后坐标更新,命令进入 MDI 历史。 | | F08 RTCP/TCP | 7 | IDENTITY/TCP 切换、M428/M429 switchkins | TCP profile 可切换 RTCP on/off;reference-only profile 禁用并说明原因。 | | F09 倍率和 HAL 输入 | 8 | Rapid、Feed、Limits、Block、M1 | 倍率增减/100 恢复,HAL 输入同步到 Web 状态和诊断面板。 | | F10 主轴和冷却 | 8 | Flood、Mist、FWD、STOP、REV、主轴倍率 | 未上电时阻止,上电后状态切换和倍率更新可见。 | | F11 程序来源 | 9.1 | Open、LinuxCNC 5-axis source、Stage、Reload | 本地程序或内置 LinuxCNC source 可加载,stage 状态可见,reload 重置运行状态。 | | F12 会话保存恢复 | 9.2 | Save Session、Restore Session | 保存 profile、坐标、模式、程序和 UI 状态;OPFS 不可用时降级 memory-fallback。 | | F13 诊断 | 10 | Task policy、INI、Task/HAL、Full boundary、gmoccapy/HAL | 诊断能解释 gate、INI、Task/HAL readiness、source boundary、HAL pins 和 gmoccapy native 边界。 | ## 5. 已有自动化覆盖 | 覆盖项 | 当前证据 | | --- | --- | | 构建 | `npm --prefix .../app run build` 输出 `gmoccapy_static_build=ok`。 | | Node runtime | `smoke:node` 覆盖 kinematics、interpreter、INI、run preconditions、run feedback、Task/HAL、full source、machine staging、session、RTCP、profile boundary、gmoccapy profile/icon/HAL/gate、linear unit。 | | 浏览器 DOM | `smoke` 覆盖 gmoccapy shell 和 dist 页面,验证区域、canvas、profile 切换、按钮图标、模式颜色、G-code 高亮、Task/HAL runtime readiness。 | | 历史截图/PDF | QA 目录已有 `gmoccapy-xyzab-function-report`、`button-control-evidence-report` 等 JSON/PDF/截图。 | ## 6. 成功定义 本阶段成功定义: - `work/working7` 中形成 README、测试功能内容、详细步骤、推进台账、任务矩阵、验收证据和决策记录。 - 构建、Node smoke、浏览器 smoke 均通过,并记录输出标记。 - 手册功能均有任务编号和验收口径。 - 后续如新增截图/PDF/专用脚本,可以按任务矩阵继续推进,不重复拆解同一功能。