1. 课程导论与场景库概述
1.1 什么是后端部署场景库
后端部署场景库是一套可复用、可版本化、可自动执行的测试资产集合,它将生产环境中的典型部署行为(如滚动更新、蓝绿发布、灰度发布、回滚、扩缩容)抽象为结构化的压测用例与接口校验规则。场景库的核心价值在于:让压测不再是一次性的性能摸底,而是持续集成/持续部署(CI/CD)管道中的质量门禁。
| 维度 | 传统压测 | 场景库驱动压测 |
|---|---|---|
| 用例来源 | 手工编写、一次性使用 | 从场景库按需组合、版本化管理 |
| 校验粒度 | 仅关注吞吐量/响应时间 | 接口功能正确性 + 性能指标 + 数据一致性 |
| 触发时机 | 上线前临时执行 | 每次部署/发布流水线自动触发 |
| 可追溯性 | 无版本关联 | 场景库与代码/配置版本一一对应 |
关键认知:场景库不是测试用例的简单堆砌,而是将部署拓扑、流量模型、校验断言、性能基线四者绑定为一个可执行的“部署契约”。每次部署变更,场景库自动验证新版本是否满足该契约。
1.2 Testing驱动开发(TDD)在压测中的角色
传统TDD遵循“红-绿-重构”循环,在单元测试层面驱动代码设计。本课程将TDD思想向上提升到部署与压测层面,形成压测驱动开发(Performance-TDD)的实践模式:
- 红(Red): 先编写代表部署后性能与正确性预期的压测用例,此时新部署尚未通过。
- 绿(Green): 执行部署与压测,使所有用例通过,达到性能基线。
- 重构(Refactor): 优化部署配置或代码,同时保持压测用例持续通过。
实践要点:在CI/CD管道中,压测用例应作为部署流程的“门禁阶段”。只有压测用例全部通过且性能指标不低于基线,新版本才能进入生产环境。这比单纯的功能测试通过更具说服力。
1.3 课程目标
完成本课程后,你将能够:
- 构建场景库: 针对滚动更新、蓝绿发布、灰度发布、回滚、扩缩容等常见部署场景,设计结构化的压测用例与接口校验规则。
- 实现Testing驱动压测: 使用Go语言编写可重复执行的压测用例,将性能断言与功能断言统一在测试框架中。
- 自动化接口校验: 在压测过程中实时校验响应状态码、响应体结构、数据一致性、幂等性等接口契约。
- 建立性能基线: 通过场景库的持续运行,积累不同部署场景下的性能数据,形成可对比的基线体系。
- 集成CI/CD管道: 将场景库压测无缝嵌入GitHub Actions、GitLab CI、Jenkins等流水线,实现部署质量自动化门禁。
1.4 学习路径
课程共30章,按以下四个阶段递进:
| 阶段 | 章节范围 | 核心产出 |
|---|---|---|
| 基础篇 | 第1-6章 | 场景库设计原则、Testing框架搭建、基础压测用例编写 |
| 场景篇 | 第7-18章 | 12个典型部署场景的压测用例与接口校验实现 |
| 工程篇 | 第19-25章 | 性能基线管理、CI/CD集成、报告生成、失败分析 |
| 进阶篇 | 第26-30章 | 分布式压测、混沌工程结合、场景库治理与演进 |
前置要求:本课程要求学习者具备Go语言基础(至少能读写函数、结构体、接口)、基本的HTTP协议知识、以及至少一种CI/CD工具的使用经验。如果你对上述内容尚不熟悉,建议先花一周时间补齐基础。