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

74 lines
3.3 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-41-22
## 静态检查
- 执行 `npm run lint`,确认 TypeScript 类型检查通过。
- 执行 `npm run build`,确认生产构建通过。
## 集成测试
- 调用 STL preview API
- `limit=6000`
- `limit=16000`
- `limit=36000`
- 确认返回顶点数量随实体化程度增加,且响应不报错。
- 调用 DICOM preview API确认连续请求不同 slice 时均可返回合理 `slice/total/width/height`
## 关键业务场景验证
### 3D 模型页
- 默认进入后模型可见。
- 实体化程度从“预览”切换到“标准/精细”后,模型表面更连续,而不是纯点云感。
- 开启“整体白色实体”后,显示效果接近参考图的灰白实体模型。
- 调整旋转 X/Y/Z、平移 X/Y/Z、缩放后模型位姿即时变化。
- 点击重置后,位姿恢复默认。
- 隐藏/显示单个 STL、调整颜色、透明度仍正常。
- WebGL 不可用时二维兜底仍可见,不出现空白画布。
### DICOM 切片页
- 长按上箭头时,切片编号连续增加,图像连续变化。
- 长按下箭头时,切片编号连续减少,图像连续变化。
- 快速连续切换时,不出现旧请求覆盖新切片的错帧。
- 到达首帧/末帧时不越界。
### 逆向工作区
- 顶部全局 header 仍显示“逆向工作区”。
- 页面内容区不再重复显示第二个“逆向工作区”。
- 页面内容区不再出现上方重复“当前项目xxx”副标题。
- 项目标签行字号变大且显示当前项目、DICOM 数量、STL 数量。
## 医学影像数据相关边界验证
- DICOM 连续切片时保留当前 plane、mode、rotation 状态。
- STL 实体化程度不改变各构件的原始相对空间关系,只改变抽样密度和显示材质。
- 位姿控制作用于整体模型 group不改变单个 STL 的相对拼装位置。
## 回归风险
- 高实体化程度可能提升渲染压力,需要在 UI 中保留“预览”档位。
- DICOM 连续请求可能造成响应乱序,需要请求序号保护。
- 逆向工作区删除标题后仍需保证用户知道当前处于哪个页面,依赖全局 header。
## 人工审核状态
用户已回复“确认方案”,按本测试方案执行验证。
## 执行结果
- `npm run lint`:通过。
- `npm run build`通过Vite 仍提示 bundle 超过 500 kB为现有 Three.js/Recharts 依赖带来的非阻断警告。
- STL preview API 验证:
- `limit=6000`:返回 `5795` 个抽样三角面、`52155` 个顶点数值。
- `limit=16000`:返回 `8692` 个抽样三角面、`78228` 个顶点数值。
- `limit=36000`:返回 `17384` 个抽样三角面、`156456` 个顶点数值。
- DICOM 连续切片 API 验证:`slice=120~124` 均返回 `512x512``total=300`,文件名按 `121.dcm``125.dcm` 连续变化。
- 无头 Chrome 前端验证:
- 3D 模型页存在“模型显示、预览、标准、精细、白色实体、整体位姿、旋转 X、平移 Z、缩放”等控件。
- WebGL 不可用场景仍生成二维预览 canvas尺寸 `1172x567`
- 逆向工作区正文不再重复页面标题:`逆向工作区` 只出现 1 次。
- `当前项目:头部 CT 模型逆向体素化演示` 只出现 1 次,并保留 `DICOM 300``STL 9`
- 已重新部署到 `http://192.168.3.11:4000/`tmux 会话:`revoxelseg-dicom`