90 lines
5.5 KiB
Markdown
90 lines
5.5 KiB
Markdown
# 测试方案 — 2026-04-16-19-06-18
|
||
|
||
## 测试目标
|
||
|
||
1. 验证路由切换后,报告编辑器内容、基本信息、视频分析数据(自动关键帧、手动截图、拖拽图片)均**完整保留不丢失**。
|
||
2. 验证开启「自动帧插入」后,关键帧在自动摘取过程中能够**实时逐张显示**,并在达到延迟时间后**逐张插入**到 `image-placeholder` 中,而不是全部处理完成后一次性批量出现。
|
||
|
||
## 测试环境
|
||
|
||
- 浏览器:Chrome / Edge(推荐)
|
||
- 前置条件:已登录系统,localStorage 中有当前用户信息
|
||
- 测试文件:准备一个时长超过 60 秒的 MP4 视频文件
|
||
- 系统设置:在「系统设置」中开启「自动帧插入」,配置插入延迟为 1~2 秒,并勾选若干自动插入的帧索引(如第 0、3、5 帧)
|
||
|
||
## 测试用例设计
|
||
|
||
### 用例 1:新建报告 — 路由切换后数据完整保留
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 1.1 | 进入 `/report-editor`(不带 `?id`) | 页面正常加载默认模板 |
|
||
| 1.2 | 填写患者姓名、住院号、科室等基本信息 | 输入内容正常保留在表单中 |
|
||
| 1.3 | 在编辑器中输入一段自定义文字 | 编辑器内容正常显示 |
|
||
| 1.4 | 切换到「视频分析」页签,上传测试视频 | 视频出现在右侧列表 |
|
||
| 1.5 | 点击「自动关键帧摘取」 | 右侧出现多张自动关键帧缩略图 |
|
||
| 1.6 | 手动截取 2 张截图 | 手动截图出现在右侧列表 |
|
||
| 1.7 | 拖拽 1 张自动关键帧到编辑器的 `image-placeholder` | placeholder 正确显示图片 |
|
||
| 1.8 | 在地址栏手动跳转到 `/report-manage` | 页面正常跳转 |
|
||
| 1.9 | 再次输入 `/report-editor` 返回新建报告页面 | **编辑器内容、基本信息、自动关键帧、手动截图、placeholder 中的图片均完整保留** |
|
||
| 1.10 | 点击「保存草稿」,再次离开并返回 | 所有数据仍然完整 |
|
||
|
||
### 用例 2:编辑已有报告 — 保存后重新编辑数据完整
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 2.1 | 进入 `/report-manage`,对已有报告点击「编辑」 | `/report-editor?id=xxx` 正常加载 |
|
||
| 2.2 | 修改患者姓名,上传视频,自动摘取关键帧 | 修改和视频分析数据正常显示 |
|
||
| 2.3 | 点击「保存草稿」 | 提示保存成功 |
|
||
| 2.4 | 跳转离开后再返回 `/report-editor?id=xxx` | **修改后的基本信息、报告内容、视频分析数据完整恢复** |
|
||
|
||
### 用例 3:边界场景 — 多次快速路由切换
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 3.1 | 在 `/report-editor` 中完成用例 1 的全部操作 | 数据正常 |
|
||
| 3.2 | 快速连续切换:/report-editor → /report-manage → /report-editor → /report-manage → /report-editor | 最终返回时,**没有任何数据丢失或变空** |
|
||
| 3.3 | 检查 localStorage 中 `reportEditorDraft_{username}` | draft 中 `reportData`、`videos`、`capturedFrames` 均非空 |
|
||
|
||
### 用例 4:自动帧插入 — 关键帧实时逐张显示
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 4.1 | 进入系统设置,开启「自动帧插入」,设置延迟 1 秒,勾选索引 0、2、4 为自动插入 | 设置保存成功 |
|
||
| 4.2 | 进入 `/report-editor`,上传视频,确保编辑器中有至少 3 个空的 `image-placeholder` | placeholder 就位 |
|
||
| 4.3 | 点击「自动关键帧摘取」 | **右侧关键帧列表中,每隔一小段时间(视频 seek 时间)就有新的一张缩略图出现**,而不是等全部结束后一次性全部出现 |
|
||
| 4.4 | 观察 placeholder | 当第 0 帧被摘取后,等待约 1 秒,第一个 placeholder 被填充;第 2 帧摘取后约 1 秒,第二个 placeholder 被填充;以此类推,**逐张插入** |
|
||
|
||
### 用例 5:自动帧插入 — 无延迟配置的即时插入
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 5.1 | 在系统设置中将自动插入延迟设为 0 秒 | 设置保存成功 |
|
||
| 5.2 | 进入 `/report-editor`,上传视频,点击「自动关键帧摘取」 | 每摘取到一张指定索引的帧,**几乎立即**填充到下一个空的 placeholder 中 |
|
||
| 5.3 | 观察右侧关键帧列表 | 同样能看到帧逐张实时出现 |
|
||
|
||
### 用例 6:回归测试 — 模板切换行为不变
|
||
|
||
| 步骤 | 操作 | 预期结果 |
|
||
|------|------|---------|
|
||
| 6.1 | 在 `/report-editor` 中上传视频、截取若干帧 | 数据正常 |
|
||
| 6.2 | 切换模板 | 编辑器内容按模板重置,基本信息清空,视频分析根据现有逻辑可能被清空 |
|
||
| 6.3 | 离开并返回 | 模板切换后的状态保持一致,无异常崩溃 |
|
||
|
||
## 验收标准
|
||
|
||
- [ ] 用例 1:新建报告路由切换后,编辑器内容、基本信息、视频分析数据 100% 保留;
|
||
- [ ] 用例 2:编辑已有报告保存后,再次编辑数据完整无丢失;
|
||
- [ ] 用例 3:多次快速切换路由后,数据不丢失、不异常变空;
|
||
- [ ] 用例 4:开启自动帧插入且有延迟时,关键帧实时逐张显示、逐张插入 placeholder;
|
||
- [ ] 用例 5:延迟为 0 时,指定帧摘取后立即插入 placeholder;
|
||
- [ ] 用例 6:模板切换的现有行为未被意外改变,页面无崩溃。
|
||
|
||
## 测试方式
|
||
|
||
由于本项目目前无自动化测试框架,所有测试用例均通过 **手工浏览器验证** 执行。测试人员按上表逐步操作,观察实际结果是否与预期一致。
|
||
|
||
---
|
||
|
||
**⚠️ 请审核以上测试方案,确认无误后回复「确认」或提出修改意见,我将进入最终执行阶段(修改代码 + 更新经验记录 + Gitea 备份)。**
|