CI/CD 中的测试策略:让每次部署都有品质保障
分享如何在 CI/CD 管线中规划测试策略,从 commit 到 deploy 每个阶段该跑什么测试、怎么设定品质关卡。
最后更新:2026-03-07
本文以 GitHub Actions 为范例,其他 CI/CD 工具的设定方式可能不同。
目录
1. 为什么 CI/CD 需要 QA?
没有自动化测试的 CI/CD,只是「快速把 bug 部署到 production」。品质关卡是 CI/CD 的灵魂。
2. Stage 1:Commit 阶段(每次 push 触发)
执行时间目标:< 5 分钟
-
静态分析
ESLint、Pylint、SonarQube
-
单元测试
快速、独立、无外部依赖
-
程式码覆盖率
设定最低门槛(例如 80%)
3. Stage 2:整合测试阶段
执行时间目标:< 15 分钟
-
API 测试
验证服务间的互动
-
资料库测试
Migration、资料完整性
-
第三方服务 Mock
不依赖外部服务
4. Stage 3:E2E 测试阶段
执行时间目标:< 30 分钟
-
核心流程测试
登入、购买、支付等关键路径
-
跨浏览器测试
Chrome、Firefox、Safari
-
视觉回归测试
Percy、Chromatic
5. Stage 4:部署前关卡
最后一道品质防线:
-
效能测试
确保没有效能退化
-
安全扫描
OWASP ZAP、Snyk
-
人工审核
需要时的手动 approval
6. 品质关卡(Quality Gate)设定
什么情况下应该挡住部署:单元测试失败(零容忍)、覆盖率低于门槛、高严重度的安全漏洞、效能指标退化超过 10%、核心 E2E 测试失败。
7. 常见的 CI/CD 测试陷阱
避免这些常见问题:
-
测试太慢
把慢的测试移到非阻塞的 nightly build
-
Flaky Test
不稳定的测试要马上修或隔离,否则团队会习惯忽略红灯
-
环境不一致
用 Docker 确保 CI 环境和 production 一致
-
只测快乐路径
负面测试和边界情况一样重要
相关懒人包
2026 QA 趋势:AI 测试、Shift-Left 与职涯新方向
探索 QA 领域的最新趋势,包含 AI 辅助测试、Shift-Left 策略、以及 QA 工程师的职涯转型方向。
API 測試入門:用 Postman 和 pytest 打造你的第一個 API 測試
API 測試是現代 QA 必備技能。從 HTTP 基礎概念到實際用 Postman 和 pytest 寫測試,帶你踏出 API 測試的第一步。
Bug 回报的艺术:让开发者秒懂的 Bug Report 写法
一份好的 Bug Report 能大幅加速修复速度。分享 Bug 回报的最佳实践,包含模板、严重度分级、以及如何与开发有效沟通。
一般声明
本站提供之资讯仅供参考,不保证其完整性与正确性。使用者应自行判断资讯之适用性。