SuperAPI AI 工具集

load-test-scenario-builder

测试与质量

查看项目

更新于 10-15 18:37

技能介绍

用途

load-test-scenario-builder 是一个用于创建完整负载测试方案的技能,目标是帮助团队用真实的负载测试验证系统容量。它围绕负载测试场景的定义、k6 脚本编写、流量模型配置和成功标准设定展开,适用于性能测试规划阶段。

主要能力

  • 场景定义:通过 LoadTestScenario 接口描述场景名称、描述、虚拟用户数(virtualUsers)、持续时间(duration)、爬坡时间(rampUp)以及成功标准(successCriteria,含 p95Latency、errorRate、throughput)。
  • 示例场景:提供了基线负载(Baseline Load,100 虚拟用户、10 分钟、爬坡 2 分钟)、峰值负载(Peak Load,1000 虚拟用户、30 分钟、爬坡 5 分钟,模拟黑五流量)和压力测试(Stress Test,5000 虚拟用户、20 分钟、爬坡 10 分钟)三种示例,各自带有延迟、错误率与吞吐量标准。
  • k6 脚本模板:以结账流程(checkout-flow.js)为例,展示如何使用 k6 的 http、check、sleep 和 Rate 指标,设置 stages(爬坡、保持、下降)和 thresholds(如 http_req_duration p(95)<500、errors rate<0.01),并通过 check 和自定义 errorRate 统计错误。
  • 流量模型:内置四种常见模式——稳态(steadyState)、渐进爬坡(gradualRamp)、尖峰测试(spikeTest)和耐久/浸泡测试(soakTest),并给出对应的 stages 配置。
  • 成功阈值:示例阈值包含延迟分位(p50<200、p95<500、p99<1000)、错误率(http_req_failed rate<0.01)、吞吐量(http_reqs rate>1000)以及自定义指标(checkout_duration、checkout_success_rate)。
  • 运行与结果分析:提供运行负载测试的 shell 脚本示例(使用 k6 run 指定 vus 和 duration,并可用 --out json 或 --out influxdb 输出结果),以及 LoadTestResult 接口和结果分析函数示例,用于打印 p95 延迟、错误率、吞吐量并判断是否通过。

使用方式

该技能的输出清单包括:定义场景、创建 k6 脚本、配置流量模型、设置成功标准、集成 CI、分析结果。工具内容以代码和配置示例为主,使用时应结合实际接口地址、业务路径和性能目标进行替换。

适用场景

  • 性能基准测试与容量验证
  • 峰值流量预估(如促销、大促场景)
  • 寻找系统崩溃点(压力测试)
  • 长时间稳定性验证(耐久/浸泡测试)
  • 将负载测试纳入 CI 流程

限制

资料中仅提供了接口定义、示例脚本、流量模型、阈值和运行分析代码,未提供具体的安装步骤、支持的平台范围、收费或价格信息。这些内容暂未提供,需以实际工具的官方文档为准。