首页/开发/软件测试速查/压测脚本设计

压测脚本设计

压测脚本设计要点:参数化(账号、查询键)、关联(从响应提取动态值供后续请求使用)、事务边界(把业务动作合并为事务)、幂等与清理、脚本与真实行为的差异登记。

软件测试速查开发更新于 2026-10-13

压测脚本设计是什么

压测脚本设计是把真实业务流量翻译成可重复执行脚本的过程,核心五件事:参数化(账号、查询键按分布取值)、关联(从响应提取令牌、订单号供后续请求使用)、事务边界(把一组请求记为一次业务动作)、幂等与数据清理、脚本与真实行为的差异登记。脚本能重复跑,结果才配被引用。

基本信息

设计要素参数化、关联、事务边界、幂等与清理
数据准备按业务分布造数据,运行前统一准备
复跑校验两次运行结果量级一致再对外引用
差异登记脚本与真实用户行为的差异写入说明
交付物脚本、造数与清理脚本、运行说明、差异清单
常见工具k6、JMeter、Locust,术语略有差异

设计清单

设计清单
1) 参数化:不同用户/键值按分布取值,避免写死账号串行使用
2) 关联:登录令牌、订单号从响应中提取,传给后续请求
3) 事务:把一组请求记为一次业务动作,统计才有业务含义
4) 数据:运行前造数、运行后清理,保证脚本可重复
5) 差异:脚本与真实行为的偏差逐条登记,随版本更新
6) 校验:两次运行量级一致后,再对外引用结果

典型使用场景

  • 新链路验证:先写小脚本跑通业务链路与数据准备流程。
  • 发版回归压测:复用脚本对比前后版本的分位与吞吐。
  • 容量评估:按真实分布参数化,为阶梯加压提供输入。
  • 缺陷复现:按生产流量模型复现问题,验证修复效果。
  • CI 冒烟:取最简链路进流水线,拦住明显性能退化。
  • 交接维护:差异登记与运行说明让脚本可被他人接手复用。

脚本要素与检查点

要素检查点常见问题
参数化取值有分布、无写死账号所有用户串行使用同一账号
关联动态值从响应实时提取令牌过期后请求批量失败
事务边界与业务动作一致统计口径比真实业务更碎
数据运行前造数、运行后清理数据耗尽或残留污染下游
幂等重跑不累积副作用重跑后数据冲突用例失败
差异登记偏差清单随脚本版本更新结论被过度外推到真实行为
脚本要能重复运行:随机种子、数据准备与幂等策略都需设计,否则结果不可复现。
关联失效(令牌过期、字段改名)是脚本维护的大头,脚本本身也要定期回归。
不清理数据的压测会产生大量测试数据,可能拖垮存储并污染下游统计。

易错点

  • 脚本写死账号串行使用,越跑越慢源于数据竞争。
  • 压测产生大量测试数据,无清理方案拖垮存储。
  • 参数化取值单一,压出来的分位比真实场景乐观。
  • 事务边界随意切分,吞吐好看但没有业务含义。
  • 脚本改动不上版本管理,版本间对照缺少依据。

数据来源与参考

  • JMeter 官方文档:参数化与关联(jmeter.apache.org)
  • k6 官方文档:参数化与数据文件(k6.io/docs)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌