69 lines
3.0 KiB
Markdown
69 lines
3.0 KiB
Markdown
# 测试方案 - 2026-05-04-05-56-34
|
||
|
||
## 静态检查
|
||
|
||
- 执行 `npm run lint`,确认 TypeScript 类型检查通过。
|
||
- 执行 `npm run build`,确认生产构建通过。
|
||
|
||
## 集成测试
|
||
|
||
- DICOM preview API:
|
||
- 验证 axial/sagittal/coronal 均返回。
|
||
- 验证 sagittal/coronal 返回的 `spacing`、`physicalSize`、`width/height` 合理。
|
||
- DICOM info API:
|
||
- 验证返回 patient/study/series/image/window/spacing/sequence/source 分组。
|
||
- 验证 Pixel Spacing、Slice Spacing、Rows、Columns、文件数量等信息存在。
|
||
- STL preview API:
|
||
- 验证 `limit=6000/16000/36000/72000` 返回不报错。
|
||
|
||
## 关键业务场景验证
|
||
|
||
- DICOM 影像页:
|
||
- 矢状面/冠状面不再异常扁平。
|
||
- 点击信息按钮弹出详情面板。
|
||
- 详情面板展示像素间距、切片间距、切片厚度、矩阵、物理尺寸。
|
||
- 3D 模型页:
|
||
- 不再显示白色实体和自动旋转开关。
|
||
- 实体化档位包含“超精细”。
|
||
- 默认正向静止摆放。
|
||
- 重置位姿按钮位于“整体位姿”标题右侧。
|
||
- 左键拖拽旋转,右键/Shift 拖拽平移,滚轮缩放。
|
||
- 画布交互后右侧整体位姿滑块数值同步变化。
|
||
|
||
## 医学影像数据相关边界验证
|
||
|
||
- DICOM tag 缺失时使用 fallback,不导致接口 500。
|
||
- 切片间距优先 Image Position Patient 差值,再 fallback 到 Spacing Between Slices、Slice Thickness、1mm。
|
||
- 多平面物理比例不改变切片总数和当前切片编号逻辑。
|
||
|
||
## 回归风险
|
||
|
||
- 物理比例重采样可能增大图像尺寸,需要限制最大输出尺寸。
|
||
- 超精细 STL 预览可能变慢,需要保留低档位。
|
||
- 鼠标交互需避免页面滚动和右键菜单干扰。
|
||
|
||
## 人工审核状态
|
||
|
||
用户已明确本次无需人工二次确认,按本方案执行验证。
|
||
|
||
## 执行结果
|
||
|
||
- `npm run lint`:通过。
|
||
- `npm run build`:通过;Vite 仍提示 bundle 超过 500 kB,为现有 Three.js/Recharts 依赖导致的非阻断警告。
|
||
- DICOM preview API 验证:
|
||
- `sagittal` 返回 `384x421`,`spacing.slice=1mm`、`displayY=0.78125mm`,物理尺寸约 `300mm x 328.906mm`。
|
||
- `coronal` 返回 `384x512`,`spacing.slice=1mm`、`displayY=0.78125mm`,物理尺寸约 `300mm x 400mm`。
|
||
- DICOM info API 验证:
|
||
- 返回患者 `WANG FANG`、`CT`、文件数 `300`、矩阵 `512x512`。
|
||
- 返回 `row/column spacing=0.781mm`、`slice=1mm`,来源 `ImagePositionPatient`。
|
||
- 返回物理尺寸 `400mm x 400mm x 299mm`。
|
||
- STL preview API 验证:
|
||
- `limit=6000/16000/36000/72000` 均返回,首个 STL 在超精细档达到原始 `17384` 个三角面。
|
||
- 无头 Chrome 前端验证:
|
||
- DICOM 信息按钮存在。
|
||
- DICOM 信息弹窗存在,并展示像素行间距、切片间距、物理尺寸。
|
||
- 3D 页存在“超精细”,已移除“白色实体”和“自动旋转”。
|
||
- 默认位姿滑块为 `0,0,0 / 0,0,0 / 1`。
|
||
- 页面包含“左键旋转”和“滚轮缩放”提示。
|
||
- 已重新部署到 `http://192.168.3.11:4000/`,tmux 会话:`revoxelseg-dicom`。
|