71 lines
3.6 KiB
Markdown
71 lines
3.6 KiB
Markdown
# 测试方案-2026-06-23-13-38-48
|
||
|
||
## 测试方案文档路径
|
||
|
||
`工程分析/测试方案-2026-06-23-13-38-48.md`
|
||
|
||
## 静态检查
|
||
|
||
- 执行 `npm run lint`,验证 TypeScript 类型。
|
||
- 检查 `ModelPose` 前后端字段一致。
|
||
- 检查旧位姿数据默认补齐 `scaleX/scaleY/scaleZ = 1`。
|
||
|
||
## 构建检查
|
||
|
||
- 在 `WebSite/` 执行 `npm run build`。
|
||
- 确认 Vite 构建成功。
|
||
|
||
## 关键业务场景验证
|
||
|
||
- 逆向工作区仍能加载默认项目、DICOM/STL 和映射视图。
|
||
- 现有等比例 `X拉伸/Y拉伸/Z拉伸` 行为保留。
|
||
- 新增单轴拉伸在旋转 X/Y/Z 为 90 度整数倍时可用。
|
||
- 单轴拉伸某轴后,对应 `平移 X/Y/Z` 自动为 `0`。
|
||
- 调整统一 `缩放` 后,模型仍保留单轴拉伸比例。
|
||
- 点击自动微调匹配时,传入的初始位姿包含单轴拉伸字段。
|
||
|
||
## 医学影像数据相关边界验证
|
||
|
||
- 不修改 DICOM/STL 原始数据。
|
||
- 不改变 DICOM 切片索引、窗宽窗位和模型文件读取逻辑。
|
||
- 验证分割映射和导出使用同一位姿变换,避免前端显示与后端结果不一致。
|
||
|
||
## 部署验证
|
||
|
||
- 使用 `tmux` 会话 `revoxelseg-dicom` 重启服务。
|
||
- 验证:
|
||
- `http://127.0.0.1:4000/api/health`
|
||
- `http://127.0.0.1:4000/`
|
||
- `http://192.168.3.11:4000/api/health`
|
||
- `http://192.168.3.11:4000/`
|
||
|
||
## Git/Gitea 备份验证
|
||
|
||
- 暂存本次源码和工程分析文档。
|
||
- commit message 包含 `2026-06-23-13-38-48` 和 `新增逆向工作区单轴拉伸`。
|
||
- 使用 `git show --stat --oneline HEAD` 核对提交范围。
|
||
|
||
## 风险与回归关注点
|
||
|
||
- 三维模型、二维映射、导出和自动匹配必须使用同一变换顺序。
|
||
- 自动匹配候选只改统一缩放和平移时,必须保留单轴拉伸字段不丢失。
|
||
- 单轴拉伸控件不能挤压现有左侧融合视图标题栏。
|
||
- 旧项目状态文件缺少新字段时必须正常加载。
|
||
|
||
## 执行结果
|
||
|
||
- `npm run lint`:通过,`tsc --noEmit` 无错误。
|
||
- `npm run build`:通过,Vite 成功生成 `dist/`;仍有大 chunk 体积提示,不影响本次部署。
|
||
- Playwright 桌面视口 `1440x900`:已登录并进入逆向工作区,点击 `X轴` 单轴拉伸按钮;页面包含 `X轴/Y轴/Z轴` 与 `轴拉伸 X` 控件;截图 `/tmp/revoxelseg-axis-stretch-desktop.png` 非背景像素约 513328。
|
||
- Playwright 移动视口 `420x900`:已登录并进入逆向工作区,点击 `X轴` 单轴拉伸按钮;页面包含单轴拉伸控件;截图 `/tmp/revoxelseg-axis-stretch-mobile.png` 非背景像素约 263176。
|
||
- Canvas 检查:桌面/移动视口的 DICOM 与映射 2D canvas 均有非空像素;WebGL canvas 截图可见,但 `readPixels` 返回 0,判断与 Three.js 默认绘图缓冲行为有关,因此以截图像素统计作为视觉验证补充。
|
||
- 部署:已重启 `tmux` 会话 `revoxelseg-dicom`,运行 `NODE_ENV=production npm run serve -- --host 0.0.0.0 --port 4000`。
|
||
- 端口:`4000` 由当前 Node 进程监听在 `0.0.0.0:4000`。
|
||
- `http://127.0.0.1:4000/api/health`:HTTP 200,返回 `ok: true`。
|
||
- `http://127.0.0.1:4000/`:HTTP 200,返回 HTML。
|
||
- `http://192.168.3.11:4000/api/health`:HTTP 200,返回 `ok: true`。
|
||
- `http://192.168.3.11:4000/`:HTTP 200,返回 HTML。
|
||
- `http://127.0.0.1:4000/api/projects`:HTTP 200,返回项目位姿已自动补齐 `scaleX/scaleY/scaleZ`,旧项目数据兼容。
|
||
- Git 备份:本地 commit `5a9d09a` 已完成,commit message 为 `2026-06-23-13-38-48 新增逆向工作区单轴拉伸`。
|
||
- Gitea 推送:首次执行 `git push origin main` 因无法读取用户名凭据失败;用户提供 Gitea 凭据后已使用临时 `GIT_ASKPASS` 重试成功,`origin/main` 已同步到 `5a9d09a`。
|