Files
Mdeical_Sur_Report/工程分析/测试方案-2026-04-16-22-23-02.md

5.2 KiB
Raw Blame History

测试方案 — 2026-04-16-22-23-02

测试目标

验证 TemplateManage 端字段库插入功能、智能占位控件的保护特性,以及 ReportEditor 端富文本与基本信息表单之间的双向数据绑定是否稳定可靠。

测试环境

  • 浏览器Chrome / Edge
  • 前置条件:已登录系统(建议使用 admin 超级管理员账号)
  • 测试页面:/template-manage/report-editor

测试用例设计

用例 1模板管理端 — 字段库插入与标签锁定

步骤 操作 预期结果
1.1 进入 /template-manage 页面正常加载,右侧出现"表单字段库"卡片
1.2 将光标定位到编辑器任意位置,点击字段库中的「姓名」按钮 编辑器中插入一个带有"姓名:"标签和空方格的控件
1.3 尝试用鼠标单独选中"姓名:"标签并删除 无法单独删除或修改标签文本,只能整体选中或删除整个控件
1.4 点击空方格并输入"张三" 方格内正常显示"张三",光标不跳动
1.5 再次点击「住院号」按钮插入第二个控件 两个控件在编辑器中并存,互不干扰

用例 2报告编辑端 — 富文本 → 表单单向联动

步骤 操作 预期结果
2.1 进入 /report-editor(新建报告),确保模板已包含至少一个智能占位控件(如"姓名" 编辑器加载默认模板,智能控件正确渲染
2.2 点击"姓名"方格,输入"李四" 右侧【基本信息】表单的"患者姓名"字段自动同步为"李四"
2.3 继续输入,追加"先生" 表单字段同步更新为"李四先生",输入过程光标稳定不跳
2.4 删除方格内部分文字(如删去"先生" 表单字段同步回退为"李四"

用例 3报告编辑端 — 表单 → 富文本单向联动

步骤 操作 预期结果
3.1 在右侧【基本信息】表单的"患者姓名"字段中输入"王五" 编辑器内"姓名"方格的内容自动同步为"王五"
3.2 清空表单中的"患者姓名" 编辑器内方格内容同步清空,但方格本身保留
3.3 修改"住院号"表单字段 仅对应"住院号"方格更新,其他控件不受影响

用例 4双向联动并发编辑 — 光标防跳动

步骤 操作 预期结果
4.1 在方格内快速连续输入一段长文本 光标始终位于输入末尾,不会出现跳到行首或方格外的现象
4.2 同时通过右侧表单修改同一字段的值 若当前焦点在方格内,表单修改不应打断当前输入;失焦后方格内容正确更新

用例 5数组类型字段同步

步骤 操作 预期结果
5.1 在模板中插入「手术者」控件 控件正常插入,标签锁定
5.2 在右侧表单中选择多个手术者(如"张医生"、"李医生" 编辑器内"手术者"方格显示为"张医生, 李医生"
5.3 在右侧表单中取消部分选择 方格内容同步更新,逗号分隔格式保持正确

用例 6打印样式适配

步骤 操作 预期结果
6.1 在编辑器中填充若干智能控件 编辑态下方格带有浅灰色边框和圆角
6.2 点击"打印"按钮或进入打印预览 打印预览中,方格边框消失,变为黑色下划线填空风格

用例 7路由切换与草稿保存

步骤 操作 预期结果
7.1 /report-editor 中编辑报告,填写带有智能控件的内容
7.2 切换到 /report-manage,再返回 /report-editor 编辑器内容、基本信息表单值、智能控件内的数据全部完整保留
7.3 检查 localStorage draft reportEditorDraft_{username} 中 HTML 包含完整的 data-bind 属性

用例 8老模板兼容性

步骤 操作 预期结果
8.1 打开一个未使用智能控件的老模板(纯文本占位符) 报告编辑器正常加载,无报错
8.2 在老模板中正常编辑文字 文字编辑和表单保存功能不受影响

验收标准

  • TemplateManage 右侧正确显示字段库面板,点击可插入控件。
  • 插入控件的 Label 不可单独编辑或删除Value 方格可正常输入。
  • ReportEditor 中方格输入时,右侧表单字段实时同步更新。
  • 右侧表单字段修改时,编辑器内对应方格实时同步更新。
  • 快速输入过程中光标稳定,无跳动或焦点丢失。
  • 数组字段(手术者/助手)在方格中正确显示为逗号分隔字符串。
  • 打印预览中方格样式变为下划线风格,符合 A4 报告规范。
  • 路由切换后,智能控件内的数据不丢失。
  • 老模板无智能控件时,现有编辑功能不受影响。
  • npm run lint 类型检查通过,无编译错误。

测试方式

手工浏览器验证为主,结合 DevTools 观察 DOM 结构和 data-bind 属性。


⚠️ 请审核以上测试方案,确认无误后回复「确认」或提出修改意见,我将进入最终执行阶段。