cents/docs/测试策略.md

1.6 KiB

测试策略

首期选择

首期以 Playwright 端到端测试为主。金额精度、汇率换算和同步合并等不适合只靠界面验证的纯逻辑,应补充针对性单元测试。

原则

  • 测试真实用户路径,不测试内部实现。
  • 优先覆盖高风险流程。
  • 使用手机视口作为主要测试环境。
  • 测试数据可重复创建和清理。
  • 不为早期快速变化的组件写细碎测试。

首期覆盖

记账

  • 新增一笔收入。
  • 新增一笔支出。
  • 使用不同币种记账。
  • 编辑账目。
  • 删除账目。
  • 刷新页面后账目仍存在。

账本权限

  • 用户只能看到自己有权限的账本。
  • 独享账本不对其他用户可见。
  • owner 可以生成邀请。
  • 被邀请成员加入后可以看到账本。

离线

  • 离线时可以新增账目。
  • 离线且汇率服务不可用时仍可新增外币账目。
  • 离线刷新后应用仍能打开。
  • 恢复网络后触发同步。

同步

  • 同一操作重复提交不会重复记账。
  • 多设备拉取后能看到同一账本流水。
  • 同一账目离线冲突时最后写入胜出。
  • 待换算和临时汇率账目恢复网络后可以回补。

汇率与统计

  • 按记账日期保存历史汇率快照。
  • 外部汇率服务失败时使用缓存或进入待换算状态。
  • 人民币汇总不重复调用外部汇率服务。
  • 多账本关联的同一账目在跨账本统计中只计算一次。
  • 不同最小单位和金额舍入规则通过单元测试覆盖。

暂不覆盖

  • 组件测试。
  • 大规模性能测试。
  • 视觉回归测试。

推荐命令

npm run test:e2e