Files
REVOXELSEG_DICOM/工程分析/测试方案-2026-05-04-04-12-34.md

109 lines
3.5 KiB
Markdown
Raw 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.
# 测试方案
时间戳2026-05-04-04-12-34
## 测试目标
验证项目库导入按钮语义、DICOM 三方向切片、STL 颜色透明度控制、项目创建弹窗、编辑自动保存和删除确认能力。
## 静态检查
- 检查 `ProjectLibrary.tsx`
- DICOM/3D 顶部第二按钮为“导入”。
- 分割结果页无顶部第二按钮。
- 创建项目通过弹窗触发。
- 删除项目通过确认弹窗触发。
- 编辑项目名称无保存按钮,失焦自动保存。
- STL 模块包含颜色输入和透明度滑块。
- 删除无意义状态点。
- 检查 `server.ts`
- DICOM preview 支持 `plane`
- 项目支持 `DELETE`
## 构建与类型检查
```bash
cd WebSite
npm run lint
npm run build
```
预期:
- TypeScript 检查通过。
- Vite 构建通过。
## API 验证
```bash
curl -s 'http://127.0.0.1:4000/api/projects/head-ct-demo/dicom-preview?plane=axial&slice=0'
curl -s 'http://127.0.0.1:4000/api/projects/head-ct-demo/dicom-preview?plane=sagittal&slice=256'
curl -s 'http://127.0.0.1:4000/api/projects/head-ct-demo/dicom-preview?plane=coronal&slice=256'
curl -s -X POST http://127.0.0.1:4000/api/projects -H 'Content-Type: application/json' -d '{"name":"删除测试项目"}'
curl -s -X DELETE http://127.0.0.1:4000/api/projects/<id>'
```
预期:
- 三方向 DICOM preview 均返回 `width``height``pixels``plane`
- 创建项目成功。
- 删除项目成功。
## 页面验证
- DICOM 页右侧控制条圆点与轨道对齐。
- DICOM 页显示 `第 n / 总数`
- 可切换横断面、矢状面、冠状面。
- 3D 页整体眼睛可控制所有 STL 显示/隐藏。
- 单个 STL 的颜色和透明度控制影响模型渲染。
- 项目创建由弹窗完成。
- 项目编辑失焦自动保存。
- 项目删除需要二次确认。
## 回归风险
- 矢状面/冠状面每次请求会读取多张 DICOM可能有延迟。
- 多 STL 同时显示时首屏加载可能较慢。
## 人工审核状态
本次用户明确要求无需人工二次确认。
状态:自动确认,继续执行。
## 执行结果
- `npm run lint` 执行成功。
- `npm run build` 执行成功。
- Vite 仍有大 chunk 警告,当前不影响本次功能。
- `GET /api/projects/head-ct-demo/dicom-preview?plane=axial&slice=0` 返回:
- `plane: axial`
- `width: 512`
- `height: 512`
- `total: 300`
- `GET /api/projects/head-ct-demo/dicom-preview?plane=sagittal&slice=0` 返回:
- `plane: sagittal`
- `width: 300`
- `height: 512`
- `total: 512`
- `GET /api/projects/head-ct-demo/dicom-preview?plane=coronal&slice=0` 返回:
- `plane: coronal`
- `width: 300`
- `height: 512`
- `total: 512`
- `POST /api/projects` 创建删除测试项目成功。
- `DELETE /api/projects/:id` 删除测试项目成功。
- `POST /api/demo/reset` 执行成功,演示环境已恢复默认项目。
- headless Chrome 打开页面后未捕获 Recharts 宽高警告、`Uncaught` 或页面错误。
- `http://192.168.3.11:4000/` 返回 `HTTP/1.1 200 OK`
- 当前服务由 `tmux` 会话 `revoxelseg-dicom` 托管。
## 页面侧验证点
- 顶部第二按钮在 `DICOM 影像``3D 模型` 视图显示为“导入”。
- `分割结果` 视图顶部不显示额外导出按钮,只保留下方 NII/NII.GZ 下载按钮。
- 项目创建入口改为点击 `+` 后弹窗。
- 项目删除通过确认弹窗执行。
- 项目编辑输入框失焦或回车自动保存。
- 3D 模型侧栏每个 STL 提供颜色和透明度控制,整体眼睛控制所有 STL 可见性。