Files
REVOXELSEG_DICOM/工程分析/测试方案-2026-05-20-02-32-47.md

2.4 KiB
Raw Blame History

测试方案-2026-05-20-02-32-47

测试方案文档路径

工程分析/测试方案-2026-05-20-02-32-47.md

静态检查

  • WebSite/ 下执行 npm run lint

构建检查

  • WebSite/ 下执行 npm run build

关键业务场景验证

  • 顶部“导出全部 NII.GZ”选择多个内容后只触发一个压缩包下载。
  • 选中分割影像时,菜单显示“导出可见类别/导出所有类别”选项。
  • bundle 中包含所选 DICOM NIfTI、分割 NIfTI、位姿 JSON。
  • 若包含分割影像bundle 中同时包含 segmentation-labels.json
  • 类别 JSON 中 label/partId/name/fileName/color/opacity/visible 与项目构件层级一致。

医学影像数据相关边界验证

  • DICOM NIfTI 仍为真实 DICOM 体数据同维同距。
  • 分割 NIfTI 仍使用当前模型位姿。
  • visible scope 下隐藏构件不进入分割图和类别 JSON。
  • all scope 下隐藏构件仍进入分割图和类别 JSON。

部署验证

  • 重启 tmux 会话 revoxelseg-dicom
  • 验证:
    • curl http://127.0.0.1:4000/api/health
    • curl -I http://127.0.0.1:4000/

Git/Gitea 备份验证

  • 显式暂存本次相关代码和文档。
  • 创建包含时间戳和描述的 commit。
  • 推送到 Gitea origin/main

实测结果

  • npm run lint:通过。
  • npm run build:通过;仅保留 Vite chunk size 提醒。
  • 临时服务 127.0.0.1:4100 验证 targets=segmentation,pose&segmentationScope=visibleHTTP 200返回 .tar.gz
  • visible bundle 包内包含:
    • head-ct-demo-segmentation-label.nii.gz
    • head-ct-demo-segmentation-labels.json
    • head-ct-demo-pose-data.json
  • segmentation-labels.json 验证包含 segmentationScope=visiblelabel/partId/name/categoryName/className/fileName/color/opacity/visible 字段。
  • 临时服务验证 targets=dicom,segmentation,pose&segmentationScope=allHTTP 200返回约 75.90 MB .tar.gz
  • all bundle 包内包含 DICOM NIfTI、分割 NIfTI、分割 labels JSON、位姿 JSON。
  • all labels JSON 验证包含隐藏构件,隐藏项 visible=false 仍保留。
  • bundle 内分割 NIfTI 头验证:512x512x300datatype 2bitpix 8,最大标签 9

风险与回归关注点

  • 避免重新引入 URL.createObjectURL(blob) 下载。
  • 避免提交历史工程文档删除状态。
  • 大体数据打包接口要捕获异常并返回明确错误。