3.5 KiB
3.5 KiB
测试方案
时间戳:2026-05-04-04-12-34
测试目标
验证项目库导入按钮语义、DICOM 三方向切片、STL 颜色透明度控制、项目创建弹窗、编辑自动保存和删除确认能力。
静态检查
- 检查
ProjectLibrary.tsx:- DICOM/3D 顶部第二按钮为“导入”。
- 分割结果页无顶部第二按钮。
- 创建项目通过弹窗触发。
- 删除项目通过确认弹窗触发。
- 编辑项目名称无保存按钮,失焦自动保存。
- STL 模块包含颜色输入和透明度滑块。
- 删除无意义状态点。
- 检查
server.ts:- DICOM preview 支持
plane。 - 项目支持
DELETE。
- DICOM preview 支持
构建与类型检查
cd WebSite
npm run lint
npm run build
预期:
- TypeScript 检查通过。
- Vite 构建通过。
API 验证
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: axialwidth: 512height: 512total: 300
GET /api/projects/head-ct-demo/dicom-preview?plane=sagittal&slice=0返回:plane: sagittalwidth: 300height: 512total: 512
GET /api/projects/head-ct-demo/dicom-preview?plane=coronal&slice=0返回:plane: coronalwidth: 300height: 512total: 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 可见性。