52 lines
1.9 KiB
Markdown
52 lines
1.9 KiB
Markdown
# 测试方案 - 2026-05-07-17-28-34
|
||
|
||
## 静态检查
|
||
|
||
1. `git status --short --branch`
|
||
2. `cd WebSite && npm run build`
|
||
3. `cd WebSite && npm run lint`
|
||
|
||
## 单元或集成测试
|
||
|
||
当前项目没有独立单元测试体系,本次采用构建、类型检查、API 冒烟和页面运行时验证。
|
||
|
||
## 关键业务场景验证
|
||
|
||
1. 打开 `http://192.168.3.11:4000/`。
|
||
2. 进入 `逆向工作区`。
|
||
3. 验证 `影像与模型融合视角` 出现三维融合场景。
|
||
4. 验证 DICOM 体是黑色长方体,体表面显示当前范围最后一张切片。
|
||
5. 调整切片起点/终点:
|
||
- 显示范围变化。
|
||
- 范围文本同步变化。
|
||
- 场景重新加载后仍可交互。
|
||
6. 验证 STL 模型叠加在 CT 体上。
|
||
7. 鼠标拖拽整体场景:
|
||
- DICOM 体和 STL 模型一起旋转。
|
||
8. 调整模型位姿:
|
||
- 只有 STL 模型相对 DICOM 体移动或旋转。
|
||
9. 验证 `开始自动配准`、`导出 NII.GZ` 按钮仍可操作。
|
||
|
||
## 医学影像数据相关边界验证
|
||
|
||
- 融合接口最多返回 64 张切片,避免过量纹理。
|
||
- 切片起止范围需要 clamp 到 `[0, dicomCount - 1]`。
|
||
- DICOM spacing 与 physicalSize 需要从现有体数据缓存中输出。
|
||
|
||
## 回归风险
|
||
|
||
- Three.js 纹理和 STL 共同渲染会增加 GPU 压力。
|
||
- 逆向工作区布局变更可能影响 Mask 选择和导出信息。
|
||
- 当前融合为归一化同场景叠加,不是最终医学空间刚性配准矩阵。
|
||
|
||
## 人工审核状态
|
||
|
||
- 本次免二次确认。
|
||
|
||
## 执行记录
|
||
|
||
- `npm run lint`:通过,实际执行 `tsc --noEmit`。
|
||
- `npm run build`:通过。
|
||
- 重新部署后 `curl -I http://127.0.0.1:4000/`:返回 `HTTP/1.1 200 OK`。
|
||
- 重新部署后请求 `GET /api/projects/head-ct-demo/dicom-fusion-volume?start=0&end=49&mode=soft`:返回 `width=256`、`height=256`、`start=0`、`end=49`、`total=300`、50 个切片索引、spacing 和 physicalSize。
|