1. 课程导论与场景库概述

1.1 什么是后端部署场景库

后端部署场景库是一套可复用、可版本化、可自动执行的测试资产集合,它将生产环境中的典型部署行为(如滚动更新、蓝绿发布、灰度发布、回滚、扩缩容)抽象为结构化的压测用例与接口校验规则。场景库的核心价值在于:让压测不再是一次性的性能摸底,而是持续集成/持续部署(CI/CD)管道中的质量门禁。

维度 传统压测 场景库驱动压测
用例来源 手工编写、一次性使用 从场景库按需组合、版本化管理
校验粒度 仅关注吞吐量/响应时间 接口功能正确性 + 性能指标 + 数据一致性
触发时机 上线前临时执行 每次部署/发布流水线自动触发
可追溯性 无版本关联 场景库与代码/配置版本一一对应
关键认知:场景库不是测试用例的简单堆砌,而是将部署拓扑、流量模型、校验断言、性能基线四者绑定为一个可执行的“部署契约”。每次部署变更,场景库自动验证新版本是否满足该契约。

1.2 Testing驱动开发(TDD)在压测中的角色

传统TDD遵循“红-绿-重构”循环,在单元测试层面驱动代码设计。本课程将TDD思想向上提升到部署与压测层面,形成压测驱动开发(Performance-TDD)的实践模式:

  1. 红(Red): 先编写代表部署后性能与正确性预期的压测用例,此时新部署尚未通过。
  2. 绿(Green): 执行部署与压测,使所有用例通过,达到性能基线。
  3. 重构(Refactor): 优化部署配置或代码,同时保持压测用例持续通过。
压测驱动部署(Performance-TDD)循环 红(Red) 编写压测用例与接口校验 绿(Green) 部署并执行压测,通过基线 重构(Refactor) 优化部署/代码,保持通过 持续迭代:每次部署变更触发新的红-绿-重构循环 💡 核心差异: 传统TDD驱动代码设计,Performance-TDD驱动部署质量。压测用例在部署前编写,成为部署的“验收标准”。
实践要点:在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章 分布式压测、混沌工程结合、场景库治理与演进
课程学习路径四阶段 基础篇 第1-6章 场景库设计 Testing框架搭建 场景篇 第7-18章 12个部署场景 压测+校验实现 工程篇 第19-25章 基线管理 CI/CD集成 进阶篇 第26-30章 分布式压测 混沌工程 📌 学习建议: 每个阶段完成后,建议将对应章节的压测用例集成到自己的项目中运行,获得真实反馈后再进入下一阶段。
前置要求:本课程要求学习者具备Go语言基础(至少能读写函数、结构体、接口)、基本的HTTP协议知识、以及至少一种CI/CD工具的使用经验。如果你对上述内容尚不熟悉,建议先花一周时间补齐基础。

1.5 本章小结