平台
Saga:测试状态注入工具
由服务端支持的状态注入,让 QA 和自动化脚本直接跳到冗长验证流程的任意一步,把回归测试的准备时间从最长 20 分钟缩短到不到 1 分钟。
- 角色
- Senior Frontend Engineer
- 时间
- 2025–至今
- 技术栈
- TypeScript · Playwright · BFF · Test database
问题
要检查 KYC 流程第 5 步的一个缺陷,你得先填写有效的个人信息、上传证件,并通过第 1 到第 4 步的活体检测。每次如此,每个 pull request、每次自动化运行都要来一遍。
方案
Saga 让测试人员或脚本打开应用时就已处于所需的状态。
- Playwright 脚本或 QA 工程师用一个安全的测试令牌加载页面,例如
?state=step_4_ready。 - 前端在 hydration 时识别该令牌,并通过请求头转发给 BFF。
- BFF 确认当前环境严格属于非生产环境,然后在测试数据库中为用户的会话写入状态:第 1 到第 3 步已完成,当前指针停在第 4 步。
- BFF 返回真实的会话令牌,界面立刻渲染第 4 步。
我选择由服务端注入状态,而不是在客户端模拟 localStorage。现代应用在后端校验会话,客户端模拟会逐渐偏离真实情况,产生在这里通过、在生产环境失败的测试。
结果
回归测试的准备时间从每轮 10–20 分钟降到一分钟以内。每周有几十次 pull request 运行和自动化测试集,这相当于每季度节省数百个工程小时。