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

2.9 KiB
Raw Blame History

测试方案 - 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 序列按文件名自然排序。
  • 矢状面/冠状面重建裁切保留边距,避免把真实人体区域裁掉。
  • 显示模式与三平面组合时返回的 totalslicewidthheight 合理。

回归风险

  • 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:通过,返回 512x512total=300,文件名 151.dcm
  • GET /api/projects/head-ct-demo/dicom-preview?plane=sagittal&slice=256&mode=bone:通过,返回 300x421total=512
  • GET /api/projects/head-ct-demo/dicom-preview?plane=coronal&slice=256&mode=soft:通过,返回 300x512total=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