3.3 KiB
3.3 KiB
测试方案 - 2026-05-04-05-41-22
静态检查
- 执行
npm run lint,确认 TypeScript 类型检查通过。 - 执行
npm run build,确认生产构建通过。
集成测试
- 调用 STL preview API:
limit=6000limit=16000limit=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。