91 lines
5.3 KiB
Markdown
91 lines
5.3 KiB
Markdown
# 测试方案 — 2026-04-16-18-51-06
|
||
|
||
## 测试目标
|
||
|
||
验证在 `/report-editor` 页面离开并重新返回后,**视频分析相关的所有图片数据(自动关键帧、手动截图、拖拽到 placeholder 的截图)能够正确恢复**,且不影响报告基本信息和其他页面功能。
|
||
|
||
## 测试环境
|
||
|
||
- 浏览器:Chrome / Edge(推荐)
|
||
- 前置条件:已登录系统,localStorage 中有当前用户信息
|
||
- 测试文件:准备一个时长超过 30 秒的 MP4 视频文件(用于自动关键帧摘取)
|
||
|
||
## 测试用例设计
|
||
|
||
### 用例 1:新建报告 — 自动关键帧摘取后路由切换
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 1.1 | 进入 `/report-editor`(不带 `?id`) | 页面正常加载,显示默认模板内容 |
|
||
| 1.2 | 填写患者姓名、住院号等基本信息 | 基本信息输入正常 |
|
||
| 1.3 | 切换到「视频分析」页签,上传测试视频 | 视频上传成功,视频列表中显示文件名 |
|
||
| 1.4 | 点击「自动关键帧摘取」 | 右侧生成多张自动关键帧缩略图 |
|
||
| 1.5 | 点击浏览器地址栏,手动跳转至 `/report-manage` | 页面跳转成功 |
|
||
| 1.6 | 再次在地址栏输入 `/report-editor` 返回 | **右侧「视频分析」中自动关键帧缩略图全部保留** |
|
||
| 1.7 | 点击「保存草稿」,再跳转离开并返回 | 自动关键帧缩略图仍然保留 |
|
||
|
||
### 用例 2:新建报告 — 手动截图后路由切换
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 2.1 | 在新建报告页面上传视频并播放 | 视频正常播放 |
|
||
| 2.2 | 拖动进度条到某一时刻,点击「手动截图」 | 右侧生成一张手动截图缩略图 |
|
||
| 2.3 | 再次截取 2-3 张不同时间点的截图 | 所有手动截图均显示在右侧列表 |
|
||
| 2.4 | 跳转至 `/report-manage`,再返回 `/report-editor` | **所有手动截图缩略图全部保留** |
|
||
| 2.5 | 点击「保存草稿」后再次离开并返回 | 手动截图仍然保留 |
|
||
|
||
### 用例 3:新建/编辑报告 — 拖拽截图到 image-placeholder 后路由切换
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 3.1 | 在编辑器中插入一个 `image-placeholder` | placeholder 正常显示在编辑器中 |
|
||
| 3.2 | 从右侧「视频分析」中拖拽一张自动关键帧到 placeholder | placeholder 中显示该图片,且带有删除按钮 |
|
||
| 3.3 | 再插入一个 placeholder,拖拽一张手动截图到其中 | 第二张 placeholder 也正确显示图片 |
|
||
| 3.4 | 跳转至 `/report-manage`,再返回 `/report-editor` | **编辑器中两个 placeholder 内的图片均保留可见** |
|
||
| 3.5 | 查看右侧「视频分析」面板 | 被拖拽的原始帧/截图缩略图也仍然保留在列表中 |
|
||
| 3.6 | 点击「保存草稿」后再次离开并返回 | 编辑器和右侧面板的图片均保留 |
|
||
|
||
### 用例 4:编辑已有报告 — 保存后数据完整恢复
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 4.1 | 对任意一份已有报告点击「编辑」,进入 `/report-editor?id=xxx` | 报告内容和基本信息正常加载 |
|
||
| 4.2 | 上传视频、自动摘取关键帧、手动截图、拖拽一张到 placeholder | 所有操作正常生效 |
|
||
| 4.3 | 点击「保存草稿」 | 提示保存成功 |
|
||
| 4.4 | 跳转至 `/report-manage`,找到该报告,再次点击「编辑」 | 进入 `/report-editor?id=xxx` |
|
||
| 4.5 | 检查编辑器、基本信息、视频分析面板 | **所有数据和图片完整恢复,无丢失** |
|
||
|
||
### 用例 5:边界场景 — 多次快速路由切换
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 5.1 | 在 `/report-editor` 中完成视频上传、截图、拖拽 | 数据正常 |
|
||
| 5.2 | 快速连续切换:/report-editor → /report-manage → /report-editor → /report-manage → /report-editor | **最终返回时,所有视频分析数据仍然完整保留** |
|
||
| 5.3 | 检查 localStorage 中 `reportEditorDraft_{username}` | draft 中 `videos` 和 `capturedFrames` 均非空数组 |
|
||
|
||
### 用例 6:回归测试 — 模板切换不污染数据
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 6.1 | 在 `/report-editor` 中上传视频并截取若干帧 | 数据正常 |
|
||
| 6.2 | 切换模板(顶部模板选择下拉框) | 编辑器内容按模板重置,报告基本信息清空 |
|
||
| 6.3 | 检查视频分析面板 | 根据现有逻辑,模板切换会清空 videos 和 capturedFrames,此行为保持不变 |
|
||
| 6.4 | 若切换模板后不希望丢失视频数据,可后续作为优化项提出 | — |
|
||
|
||
## 验收标准
|
||
|
||
- [ ] 用例 1:自动关键帧在路由切换后 100% 保留;
|
||
- [ ] 用例 2:手动截图在路由切换后 100% 保留;
|
||
- [ ] 用例 3:拖拽到 placeholder 的图片在路由切换后 100% 保留;
|
||
- [ ] 用例 4:编辑已有报告保存后,再次编辑数据完整无丢失;
|
||
- [ ] 用例 5:多次快速切换路由后,数据不丢失、不异常;
|
||
- [ ] 用例 6:模板切换的现有行为未被意外改变。
|
||
|
||
## 测试方式
|
||
|
||
由于本项目目前无自动化测试框架,所有测试用例均通过 **手工浏览器验证** 执行。测试人员按上表逐步操作,观察实际结果是否与预期一致。
|
||
|
||
---
|
||
|
||
**⚠️ 请审核以上测试方案,确认无误后回复「确认」或提出修改意见,我将进入最终执行阶段(修改代码 + 更新经验记录 + Gitea 备份)。**
|