2.9 KiB
2.9 KiB
测试方案 - 2026-05-04-05-20-16
静态检查
- 执行
npm run lint,确认 TypeScript 类型检查通过。 - 执行
npm run build,确认生产构建通过。
集成验证
- 调用
/api/projects/head-ct-demo/dicom-preview验证:plane=axialplane=sagittalplane=coronalmode=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。