测试方案 — 2026-04-16-19-06-18
测试目标
- 验证路由切换后,报告编辑器内容、基本信息、视频分析数据(自动关键帧、手动截图、拖拽图片)均完整保留不丢失。
- 验证开启「自动帧插入」后,关键帧在自动摘取过程中能够实时逐张显示,并在达到延迟时间后逐张插入到
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 |
离开并返回 |
模板切换后的状态保持一致,无异常崩溃 |
验收标准
测试方式
由于本项目目前无自动化测试框架,所有测试用例均通过 手工浏览器验证 执行。测试人员按上表逐步操作,观察实际结果是否与预期一致。
⚠️ 请审核以上测试方案,确认无误后回复「确认」或提出修改意见,我将进入最终执行阶段(修改代码 + 更新经验记录 + Gitea 备份)。