51 lines
1.9 KiB
Markdown
51 lines
1.9 KiB
Markdown
# 测试方案-2026-05-25-14-00-24
|
||
|
||
## 测试方案文档路径
|
||
|
||
`工程分析/测试方案-2026-05-25-14-00-24.md`
|
||
|
||
## 静态检查
|
||
|
||
- 检查 TypeScript 类型是否通过 Vite 构建。
|
||
- 检查新增导出和 API 函数没有破坏现有 `ProjectExportTarget`、`ModelPoseValue`、`AutoMatchRequest` 使用。
|
||
- 检查 ZIP 内路径不包含项目名根目录。
|
||
|
||
## 构建检查
|
||
|
||
- 在 `WebSite/` 执行:
|
||
- `npm run build`
|
||
|
||
## 关键业务场景验证
|
||
|
||
- 请求 `/api/projects/:projectId/export-bundle` 导出分割、位姿等内容,确认响应为 `.zip`。
|
||
- 使用 `unzip -l` 查看 ZIP,确认存在 `manifest.json`、`segmentation/labels.json`,分类模式下存在 `segmentation-parts/{类别名}.nii.gz`。
|
||
- 前端导出按钮点击后确认顶部进度条出现并完成后自动消失。
|
||
- 新增 `/api/reverse-pipeline` 在默认不导出时返回 JSON;在指定导出内容时返回 ZIP。
|
||
|
||
## 医学影像数据相关边界验证
|
||
|
||
- 分割导出应继续使用当前 DICOM 体数据和当前位姿。
|
||
- 可见类别导出时仅导出可见构件;所有类别导出时导出全部构件。
|
||
- 分类导出的单构件 `.nii.gz` 文件命名可直接对应类别,类别映射 JSON 同包提供。
|
||
|
||
## 部署验证
|
||
|
||
- 重启 `tmux` 会话 `revoxelseg-dicom` 中的服务。
|
||
- 验证:
|
||
- `http://127.0.0.1:4000/api/health`
|
||
- `http://127.0.0.1:4000/`
|
||
- `https://revoxel.huijutec.cn/`
|
||
|
||
## Git/Gitea 备份验证
|
||
|
||
- `git status --short` 确认本次改动范围。
|
||
- commit message 包含 `2026-05-25-14-00-24`。
|
||
- 推送至 Gitea 后确认 `origin/main` 更新。
|
||
|
||
## 风险与回归关注点
|
||
|
||
- ZIP 下载文件名需要兼容中文项目名。
|
||
- 批处理 API 的临时项目目录需要在不入库时清理,避免磁盘堆积。
|
||
- 自动匹配失败不能导致已上传临时文件残留或项目状态异常。
|
||
- 导出进度条不能遮挡和阻塞其他功能。
|