# 测试方案 - 2026-05-07-17-28-34 ## 静态检查 1. `git status --short --branch` 2. `cd WebSite && npm run build` 3. `cd WebSite && npm run lint` ## 单元或集成测试 当前项目没有独立单元测试体系,本次采用构建、类型检查、API 冒烟和页面运行时验证。 ## 关键业务场景验证 1. 打开 `http://192.168.3.11:4000/`。 2. 进入 `逆向工作区`。 3. 验证 `影像与模型融合视角` 出现三维融合场景。 4. 验证 DICOM 体是黑色长方体,体表面显示当前范围最后一张切片。 5. 调整切片起点/终点: - 显示范围变化。 - 范围文本同步变化。 - 场景重新加载后仍可交互。 6. 验证 STL 模型叠加在 CT 体上。 7. 鼠标拖拽整体场景: - DICOM 体和 STL 模型一起旋转。 8. 调整模型位姿: - 只有 STL 模型相对 DICOM 体移动或旋转。 9. 验证 `开始自动配准`、`导出 NII.GZ` 按钮仍可操作。 ## 医学影像数据相关边界验证 - 融合接口最多返回 64 张切片,避免过量纹理。 - 切片起止范围需要 clamp 到 `[0, dicomCount - 1]`。 - DICOM spacing 与 physicalSize 需要从现有体数据缓存中输出。 ## 回归风险 - Three.js 纹理和 STL 共同渲染会增加 GPU 压力。 - 逆向工作区布局变更可能影响 Mask 选择和导出信息。 - 当前融合为归一化同场景叠加,不是最终医学空间刚性配准矩阵。 ## 人工审核状态 - 本次免二次确认。 ## 执行记录 - `npm run lint`:通过,实际执行 `tsc --noEmit`。 - `npm run build`:通过。 - 重新部署后 `curl -I http://127.0.0.1:4000/`:返回 `HTTP/1.1 200 OK`。 - 重新部署后请求 `GET /api/projects/head-ct-demo/dicom-fusion-volume?start=0&end=49&mode=soft`:返回 `width=256`、`height=256`、`start=0`、`end=49`、`total=300`、50 个切片索引、spacing 和 physicalSize。