Files
Mdeical_Sur_Report/工程分析/测试方案-2026-04-20-10-14-09.md

4.0 KiB
Raw Blame History

测试方案

时间戳2026-04-20-10-14-09 对应需求分析:需求分析-2026-04-20-10-14-09.md 对应实现方案:实现方案-2026-04-20-10-14-09.md


1. 测试环境

  • 浏览器Chrome / Edge本地验证
  • Node 版本v24.14.1
  • 是否使用默认测试数据:是(通过 Login.tsx 种子数据)
  • 环境变量配置(.env.local 或系统环境变量):
    STORAGE_KEY="TestStorageKeyForDev2024!!!"
    DEFAULT_API_KEY="sk-test-api-key-123456789"
    ADMIN_AUTH_HASH="5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8"
    ADMIN_AUTH_SALT="static-salt-001"
    

    注:上述 HASH 是 "password" + "static-salt-001" 的 SHA-256测试时输入 password 应可通过授权。


2. 功能测试用例

用例ID 测试场景 操作步骤 预期结果 实际结果 是否通过
TC-01 AES-GCM 新数据加密写入 1. 登录后进入系统设置
2. 修改任意配置并保存
localStorage 中 systemSettings 值以 ag: 开头
TC-02 AES-GCM 新数据解密读取 1. 刷新页面
2. 进入报告编辑器
3. 查看 AI 配置或抽帧配置
正确读取到之前保存的系统设置,无解密报错
TC-03 旧 XOR 数据向后兼容 1. 先回退代码,用旧版写入一条 systemSettings
2. 切换回新代码刷新页面
旧 XOR 密文被正确识别、解密并静默迁移为 AES-GCM 格式
TC-04 默认 API Key 来源 1. 打开浏览器控制台
2. 执行 getDefaultApiKey()
返回值为 .env 中配置的 DEFAULT_API_KEY,非硬编码字符码数组还原值
TC-05 管理员禁用授权正确 1. 超级管理员编辑任一管理员
2. 状态改为"禁用"
3. 授权码输入 password
保存成功
TC-06 管理员禁用授权错误 1. 同 TC-05 场景
2. 授权码输入 wrong
表单顶部显示错误提示"授权密钥不正确",保存被阻止
TC-07 alert/confirm 已移除 1. 尝试删除用户
2. 触发各类表单校验错误
不再出现浏览器原生 alert/confirm全部以内联提示或自定义确认层呈现

3. 边界测试

场景 测试内容 预期表现
空数据 首次访问localStorage 无 systemSettings storage.init() 正常完成,缓存为 null后续 get 返回 fallback
大数据量 systemSettings 包含大量模板和配置 AES-GCM 加密后 Base64 长度可控localStorage 5MB 限额不溢出
异常输入 用户输入空授权码提交 校验不通过,提示授权密钥不能为空(或错误)
环境变量缺失 构建时未设置 STORAGE_KEY 应用启动时 storage.init() 抛出可读错误,控制台可见

4. 回归测试范围

(验证已有功能未被破坏)

  • 登录流程admin / manager / doctor
  • 报告编辑器自动保存与草稿恢复
  • 模板管理增删改查
  • 系统设置页面配置保存与读取
  • AI 功能调用(需配置有效 API Key 验证)
  • 用户管理增删改查(非禁用场景)

5. 类型检查

npm run lint
  • 预期结果:tsc --noEmit 无错误,无 TS2345 / TS2554 等类型不匹配

6. 构建验证

npm run build
  • 预期结果:构建成功,无报错,产物输出至 dist/
  • 额外检查:构建产物中搜索 "MedicalReportSys2024""DISABLE_ADMIN_2024"API_KEY_CODES 等敏感字符串,应无命中

7. 测试结论

项目 结果
功能测试 □ 通过 / □ 部分通过 / □ 未通过
类型检查 □ 通过 / □ 未通过
构建验证 □ 通过 / □ 未通过
安全扫描(构建产物无硬编码密钥) □ 通过 / □ 未通过
整体结论 □ 可交付 / □ 需修复后复测

状态 用户已豁免人工审核确认