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

63 lines
2.9 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-05-20-16
## 静态检查
- 执行 `npm run lint`,确认 TypeScript 类型检查通过。
- 执行 `npm run build`,确认生产构建通过。
## 集成验证
- 调用 `/api/projects/head-ct-demo/dicom-preview` 验证:
- `plane=axial`
- `plane=sagittal`
- `plane=coronal`
- `mode=bone`
- 调用 `/api/projects/head-ct-demo/dicom-archive` 验证压缩包响应头和文件名。
- 调用 `/api/projects/head-ct-demo/models/:fileName/preview` 验证 STL 预览顶点数据非空。
## 关键业务场景验证
- 项目库 DICOM 视图:
- 长按上下箭头能连续改变切片。
- 三个面切换后图像显示完整。
- 左/右旋转 90 度后画布方向变化。
- 下载当前 PNG 命名包含项目、平面、切片、模式、旋转角度。
- 下载 DICOM 压缩包可触发。
- 项目库 3D 模型视图:
- 模型加载进度可见。
- 加载完成后模型可见,而不是空白画布。
- 颜色、透明度、显示/隐藏状态仍可影响渲染。
- 逆向工作区:
- 顶部不再显示 `Head_CT_DICOM ↔ Head_CT_ReConstruct`
- 当前项目上下文仍可见。
## 医学影像数据相关边界验证
- DICOM 序列按文件名自然排序。
- 矢状面/冠状面重建裁切保留边距,避免把真实人体区域裁掉。
- 显示模式与三平面组合时返回的 `total``slice``width``height` 合理。
## 回归风险
- DICOM 预览缓存键应包含平面、模式和切片,避免错图。
- PNG 下载应和当前旋转状态一致。
- 3D 模型抽样数量不能过高导致页面阻塞。
## 人工审核状态
用户已明确本次测试方案无需二次确认,记录后直接执行。
## 执行结果
- `npm run lint`:通过。
- `npm run build`通过Vite 提示 bundle 超过 500 kB为 Three.js/Recharts 等现有依赖带来的体积警告,不阻断构建。
- `GET /api/projects/head-ct-demo/dicom-preview?plane=axial&slice=150&mode=default`:通过,返回 `512x512``total=300`,文件名 `151.dcm`
- `GET /api/projects/head-ct-demo/dicom-preview?plane=sagittal&slice=256&mode=bone`:通过,返回 `300x421``total=512`
- `GET /api/projects/head-ct-demo/dicom-preview?plane=coronal&slice=256&mode=soft`:通过,返回 `300x512``total=512`
- `HEAD /api/projects/head-ct-demo/dicom-archive`:通过,返回 `Content-Type: application/gzip`,文件名 `head-ct-demo-Head_CT_DICOM-300-files.tar.gz`
- `GET /api/projects/head-ct-demo/models/会厌.stl/preview?limit=1200`:通过,返回 `1159` 个抽样三角面、`10431` 个顶点数值。
- 无头 Chrome 前端验证:登录后进入项目库 3D 模型页,在 WebGL 不可用场景自动生成二维兜底预览canvas 尺寸 `1236x567`,像素采样 `nonBackground=67`,确认不是空白画布。
- 已重启部署到 `http://192.168.3.11:4000/`tmux 会话:`revoxelseg-dicom`