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

80 lines
3.5 KiB
Markdown
Raw Permalink 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.
# 测试方案:导出 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 200`121433464` 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 200`121372189` 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`,该运行态文件不纳入提交。
- 旧的未暂存历史删除状态不应混入提交。