3.6 KiB
3.6 KiB
测试方案-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/healthhttp://127.0.0.1:4000/http://192.168.3.11:4000/api/healthhttp://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。