6 周并行法让自动化落地
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
FunTester
扫码关注公众号
扫码阅读
手机扫码阅读
文章主旨:作者认为,测试自动化的真正困难不是启动工具,而是通过“6周并行法”等增量策略,让自动化测试与手工测试并行、先稳定后扩张,使测试集在不影响发布的前提下逐步接管回归任务;应避免大爆炸式切换。
关键要点:
- 自动化计划失败的主要原因是“大爆炸式切换”;有效做法是让自动化测试持续加入并与手工测试并行,自动化只有在证明值得信任后才接管具体流程。
- 前两周应克制扩张:第1周不写自动化,先筛选出10个高优先级用例并搭好CI基础设施;第2周从最简单的3个测试开始并接入CI,以暴露基础设施问题。
- 第3周专门用于稳定性建设:审查选择器和时序依赖,目标是3个测试在CI中连续5天无不稳定失败;一套完全可信的3个测试胜过50个无法判断结果的测试。
- 测试应分层接入CI/CD:每个Pull Request跑冒烟测试(5分钟内),合并到main跑完整回归(30分钟内),每晚跑扩展测试,发布前在真实设备矩阵上运行完整测试集。
- 有效指标应聚焦于捕获真实回归、不稳定率、反馈时间、关键路径覆盖和修复失败耗时,而不是测试总数、代码覆盖率百分比或自动化百分比。
内容结构:
- 引言:第一句即点明主旨:“测试自动化真正困难的部分,不是启动工具,而是在不影响发布的前提下,让测试集稳定运行并逐步承担回归任务。”
- 6 周并行法:指出“大爆炸式切换”的失败模式:团队定框架、设期限、一次性切换,四个月后测试脆弱、管理层失去耐心。Testlio 研究显示仅5%公司实现完全自动化;解决方式是两套系统并行运行,自动化证明可信后再接管特定流程。
- 梳理测试与搭建基础设施(第1周):第1周不写自动化测试;对手工测试集应用三筛选条件框架,形成按优先级排序的10个用例清单;只安装框架、配置环境并接入CI,使空测试运行能由Pull Request触发。交付物包括高优先级用例清单、已装好的工具和能触发空运行的CI。跳过此步的团队前两周会花时间排查失败是缺陷还是配置问题。
- 编写前三个测试(第2周):选最简单的3个而不是最重要的3个,让基础设施问题尽早暴露;第1天就将测试接入CI,因为只有PR触发的测试才算自动化。本周继续运行全部手工测试,尚未替代任何内容。交付物:每个PR在CI中运行3个自动化测试。
- 先稳定,不扩张(第3周):决定成败的一周;每天运行3个测试并修复间歇性失败,审查选择器是否绑定实现细节、是否有sleep依赖等。交付物是3个测试在CI中连续5天无任何不稳定失败。“一套完全可信的测试集,即使只有3个测试,也胜过50个无法判断结果”的测试。
- 扩展到10个测试(第4-5周):基础设施可靠后才扩张;第4周增加第4至第7个测试,第5周完成第8至第10个测试,每个新测试都要通过第3周的稳定标准才进入下一个。交付物:每次代码变更时,10个测试在CI中稳定通过。
- 移交首批流程(第6周起):对已被自动化稳定覆盖的流程,不再每次发布前运行对应手工回归,但保留手工用例用于探索式测试和重大变更;随后每6周循环扩展。PractiTest 2025报告显示26%团队用自动化替代约一半手工测试,20%替代75%或更多,增量推进最可能达到。
- 接入 CI/CD:只有在人手动触发时运行的测试不是自动化测试。运行结构为:每个PR跑冒烟测试(应用启动、登录、核心流程,≤5分钟);合并到main跑完整回归集(≤30分钟);每晚跑扩展测试(性能、跨设备、边界场景,无严格限制);发布前在真实设备矩阵上运行完整测试集。冒烟测试为PR设门禁,完整回归更全面但频率更低。
- 常见失败与预防:
- 大爆炸式切换:设定期限导致走捷径,测试脆弱并最终被弃;修法是采用增量并行法,不设完成期限或切换开关。
- 绑定实现细节:测试依赖XPath、资源ID或元素位置,重构时频繁失败;修法是使用语义稳定选择器(无障碍标签、data-testid等)、页面对象模型,或依赖上下文理解的AI工具。
- 缺少维护责任:功能变更后测试未更新,变红后无人修复并最终被禁用;修法是明确维护责任,将测试更新视同一等工程工作,失败测试阻止合并。
- 衡量错误指标:追求测试数量,写了500个琐碎重复测试却没人看;修法是衡量在缺陷流向用户前捕获的回归,20个可靠测试胜过500个不被信任的测试。
- 自动化与开发脱节:自动化放在独立仓库、由独立团队维护,逐渐漂移失败;修法是让自动化与应用代码同仓库、同批PR审查,并作为共享质量基础设施。
- 有效指标:
- 应跟踪:上线前捕获的回归(主要指标);不稳定率(高于5%即制造噪音);从代码变更到测试结果的时间(冒烟≤5分钟,完整回归≤30分钟);关键路径的测试覆盖(最具业务关键性的5条用户流程);修复失败测试的平均时间。
- 不应优化:测试总数(500个不稳定测试比20个可靠测试更糟);代码覆盖率百分比(易刷高);自动化百分比(无法说明覆盖了哪些流程、可靠性和余下40%重要性)。
文章总结:本文调性务实,是一篇自动化测试转型指南;核心建议是放弃大爆炸式切换,通过“6周并行法”和CI/CD门禁,以增量方式建立可信测试集,并用能证明价值的指标来评估进展。
FunTester
FunTester
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
FunTester的其他文章
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线