surfup

在线学校 EdTech 平台

从零搭建 QA 流程:发布不再导致生产环境故障

教育 · QA · 测试自动化 · 负载测试
项目背景

客户是一家在线教育平台,提供互动课程、作业、学生和家长个人账户以及在线支付。业务有明显季节性:九月新生最多,开学头几周平台停摆就意味着永久失去客户。公司没有内部 QA 团队,开发人员只能在其他工作间隙测试;发布前的回归测试要花三天,仍会漏掉付款、预约课程和进入课堂等关键场景。客户在一次支付故障导致学校失去部分夏季报名线索后找到了我们。

01 · 挑战

从零建立质量保障流程:

根据业务风险安排测试优先级、自动化关键场景、把检查集成到 CI,并在九月高峰前进行负载测试。限制条件是开发不能停:版本仍每周发布,而九月不会等待。

02 · 已完成的工作

我们没有从自动化测试开始,而是先做风险分析:哪些场景最常出错,哪里出错代价最大。自动化严格按照这份清单推进。

  • 审计质量:分析过去半年的缺陷,访谈各团队,梳理问题最严重的场景——付款、课程预约、进入课堂和家长通知。
  • 编写测试策略:制定测试层级、责任范围、功能完成定义和缺陷报告规范,供三个开发团队统一执行。
  • 自动化关键路径:用 Playwright 为 Web 平台编写 E2E 场景,为后端编写 API 测试,并在每次发布前运行 smoke 测试集。
  • 将 QA 门禁嵌入 CI:smoke 测试未通过就不能发布;完整回归每晚运行,结果在 GitLab 中向所有团队公开。
  • 用 k6 进行负载测试:模拟九月高峰流量,找出瓶颈,并在旺季前与后端团队一起解决。
  • 把流程交给客户团队:提供文档和规范,并培训 QA 工程师使用自动化测试与流水线。

关键决策是根据业务风险排序,而不是追求看起来「漂亮」的覆盖率。我们没有刻意追求 100% 自动化:关键场景覆盖率达到 75% 就已获得大部分收益,因为保护的正是平台赚取收入或流失客户的关键路径。其余场景在重要发布前通过人工探索式测试覆盖。

03 · 成果

主要经济效果是把缺陷发现时点前移:在 CI 中被自动测试发现的缺陷,修复成本比被学生家长在生产环境中发现的缺陷低数十倍。平台带着更强的韧性进入旺季,团队也能更频繁地发布更改,而不再担心「周五效应」。此外,业务部门的信任提高了:销售团队现在可以坦诚地向合作学校承诺,招生高峰期间平台依然稳定。

04 · 主要成果
指标结果
生产环境关键缺陷每月 5–7 个 → 每季度 1–2 个
发布前回归测试人工 3 天 → 自动化测试 4 小时
九月负载高峰每年都有事故 → 0 起事故,无性能下降
缺陷发现时机大多在生产环境 → 自动测试在发布前发现

指标取自案例原始材料。仅在来源明确记录时注明统计周期。

四个月的工作成果
每季度关键缺陷(此前每月 5–7 个)
1–2
自动化回归测试(此前人工需 3 天)
4小时
的关键场景由自动化测试覆盖
75%
九月高峰期的事故数
0
覆盖率与检查速度
自动化测试覆盖的关键场景
之前0%
之后75%
生产环境关键缺陷
之前每月 5–7 个
之后每季度 1–2 个
数值越低越好
发布前回归测试
之前3 天
之后4 小时
数值越低越好

示意刻度:将 3 天换算为 72 小时。计算条形长度时,将每月缺陷范围乘以三换算为季度范围;比较的是上限。

CI 中的 QA 门禁
  1. 01提交代码
  2. 02冒烟测试集测试未通过,不予发布
  3. 03发布每周
  4. 04每晚运行完整回归测试
后续步骤

建议平台下一步推进:

  • 视觉回归测试:自动检查课程、邮件和个人账户的布局。
  • 测试数据工厂:每次运行都生成真实的学生、班级和付款数据。
  • 生产环境 QA:使用 feature flags 和金丝雀发布,逐步启用新功能。
客户评价
我们不再害怕发布。以前每个星期五都可能变成处理投诉的会议,现在上线生产环境只是十五分钟的例行操作。

— 在线学校 CTO

最新资料

全部资料

SurfUp 的实用文章与指南。

指南 · 10分钟

“什么是……”页面与 AI 回答:点击流失还是需求下降

某银行参考栏目在需求下降 13% 的同时流失了 24% 的访问。如何区分被 AI 区块夺走的点击与需求下降,以及如何测量。

阅读
指南 · 8分钟

Google 更新后流量下降

如何判断流量下降源于 Google 更新、季节性还是网站故障:2026 年更新时间线、六问检查,以及前 14 天行动计划。

阅读
指南 · 9分钟

是需求下降还是网站流失:核对流量与 Wordstat

存款类需求下降 75%、流量下降 37%;借记卡类需求 −35%、流量 −63%。如何核对流量与需求,避免把市场的问题归咎于网站。

阅读