Files
REVOXELSEG_DICOM/工程分析/测试方案-2026-05-20-03-19-25.md

3.5 KiB
Raw Permalink Blame History

测试方案:导出 STL、保存分割结果与项目库复核

测试方案文档路径:工程分析/测试方案-2026-05-20-03-19-25.md

静态检查

  • 运行 npm run lint,确认 TypeScript 类型检查通过。
  • 运行 git diff --check,确认无空白错误。

结果:已通过。

构建检查

  • WebSite/ 执行 npm run build,确认生产构建通过。

结果已通过。Vite 仍有单 bundle 超过 500 kB 的既有提示,不影响本次功能。

关键业务场景验证

  • 调用 POST /api/projects/head-ct-demo/segmentation-results,确认返回项目包含保存记录。
  • 调用 /api/projects/head-ct-demo/export-bundle?targets=stl,确认压缩包内包含原始 STL 文件。
  • 调用 /api/projects/head-ct-demo/export-bundle?targets=segmentation,pose,stl,确认分割、位姿与 STL 可共包导出。
  • 验证项目库 分割结果 右侧导出菜单参数与逆向工作区一致。

结果:已通过。

  • 临时服务 127.0.0.1:4100 下保存接口返回 segmentationResults,并可看到默认 最佳位姿
  • targets=stl 返回 HTTP 200压缩包约 116M,目录包含 9 个原始 STL会厌、气管上段、气管狭窄段、气管下段、气管整体、声门、头部、头颅、肿瘤。
  • targets=segmentation,pose,stl 返回 HTTP 200121433464 bytes用时约 7.58s,包内包含分割 NIfTI、labels JSON、pose JSON 和 STL 原始模型。

医学影像数据相关边界验证

  • 分割导出仍保持 DICOM 同维度 NIfTI。
  • 保存的分割结果导出时使用保存时位姿。
  • visible/all 分割范围继续影响 Label Map 与 labels JSON。

结果:已覆盖导出包结构验证;分割 NIfTI 生成逻辑未改变,继续复用上一轮完整 STL 网格实体导出链路。

UI 验证

  • 逆向工作区顶部出现 保存至项目库
  • 三栏布局中左侧融合视角变窄,中部工具栏和右侧映射视图变宽。
  • 右侧图例只显示当前 slice 中有边或填充像素的构件;无构件时显示空状态。
  • 项目库分割结果区域显示保存记录和导出入口。

文档验证

  • Agent.md 存在。
  • Agent.md 包含当前系统使用方式。
  • 主要功能 说明在 500~1300 字范围内。

结果:已通过。Agent.md 总字数约 1105 字符,主要功能段落在 500~1300 字范围内。

部署验证

  • 重新部署后验证:
    • http://127.0.0.1:4000/api/health
    • http://127.0.0.1:4000/
  • 部署后验证导出包接口。

结果:已通过。

  • tmux 会话 revoxelseg-dicom 已重启,服务输出 ReVoxelSeg DICOM server ready at http://0.0.0.0:4000/
  • /api/health 返回 {"ok":true,"service":"revoxelseg-dicom"}
  • 首页 HTTP 200。
  • 部署后 targets=stl 导出返回 HTTP 200121372189 bytes压缩包内包含 9 个 STL 原始模型。

Git/Gitea 备份验证

  • 提交信息包含 2026-05-20-03-19-25 和本次修改摘要。
  • 推送到 Gitea 成功。

结果:本地 Git commit 已完成Gitea 推送重试 2 次均失败,错误为 No route to host,说明当前环境到 192.168.31.5:5002 网络不可达。待网络恢复后执行 git push origin main 即可补推。

风险与回归关注点

  • STL 原始模型打包体积较大,接口验证可先用 targets=stl 查看目录,不反复下载全量组合。
  • 临时保存接口测试会修改 WebSite/data/state.json,该运行态文件不纳入提交。
  • 旧的未暂存历史删除状态不应混入提交。