63 lines
2.4 KiB
Markdown
63 lines
2.4 KiB
Markdown
# 测试方案-2026-05-20-02-32-47
|
||
|
||
## 测试方案文档路径
|
||
|
||
`工程分析/测试方案-2026-05-20-02-32-47.md`
|
||
|
||
## 静态检查
|
||
|
||
- 在 `WebSite/` 下执行 `npm run lint`。
|
||
|
||
## 构建检查
|
||
|
||
- 在 `WebSite/` 下执行 `npm run build`。
|
||
|
||
## 关键业务场景验证
|
||
|
||
- 顶部“导出全部 NII.GZ”选择多个内容后只触发一个压缩包下载。
|
||
- 选中分割影像时,菜单显示“导出可见类别/导出所有类别”选项。
|
||
- bundle 中包含所选 DICOM NIfTI、分割 NIfTI、位姿 JSON。
|
||
- 若包含分割影像,bundle 中同时包含 `segmentation-labels.json`。
|
||
- 类别 JSON 中 label/partId/name/fileName/color/opacity/visible 与项目构件层级一致。
|
||
|
||
## 医学影像数据相关边界验证
|
||
|
||
- DICOM NIfTI 仍为真实 DICOM 体数据同维同距。
|
||
- 分割 NIfTI 仍使用当前模型位姿。
|
||
- visible scope 下隐藏构件不进入分割图和类别 JSON。
|
||
- all scope 下隐藏构件仍进入分割图和类别 JSON。
|
||
|
||
## 部署验证
|
||
|
||
- 重启 `tmux` 会话 `revoxelseg-dicom`。
|
||
- 验证:
|
||
- `curl http://127.0.0.1:4000/api/health`
|
||
- `curl -I http://127.0.0.1:4000/`
|
||
|
||
## Git/Gitea 备份验证
|
||
|
||
- 显式暂存本次相关代码和文档。
|
||
- 创建包含时间戳和描述的 commit。
|
||
- 推送到 Gitea `origin/main`。
|
||
|
||
## 实测结果
|
||
|
||
- `npm run lint`:通过。
|
||
- `npm run build`:通过;仅保留 Vite chunk size 提醒。
|
||
- 临时服务 `127.0.0.1:4100` 验证 `targets=segmentation,pose&segmentationScope=visible`:HTTP 200,返回 `.tar.gz`。
|
||
- visible bundle 包内包含:
|
||
- `head-ct-demo-segmentation-label.nii.gz`
|
||
- `head-ct-demo-segmentation-labels.json`
|
||
- `head-ct-demo-pose-data.json`
|
||
- `segmentation-labels.json` 验证包含 `segmentationScope=visible`、`label/partId/name/categoryName/className/fileName/color/opacity/visible` 字段。
|
||
- 临时服务验证 `targets=dicom,segmentation,pose&segmentationScope=all`:HTTP 200,返回约 75.90 MB `.tar.gz`。
|
||
- all bundle 包内包含 DICOM NIfTI、分割 NIfTI、分割 labels JSON、位姿 JSON。
|
||
- all labels JSON 验证包含隐藏构件,隐藏项 `visible=false` 仍保留。
|
||
- bundle 内分割 NIfTI 头验证:`512x512x300`,datatype `2`,bitpix `8`,最大标签 `9`。
|
||
|
||
## 风险与回归关注点
|
||
|
||
- 避免重新引入 `URL.createObjectURL(blob)` 下载。
|
||
- 避免提交历史工程文档删除状态。
|
||
- 大体数据打包接口要捕获异常并返回明确错误。
|