mcpField
C
configure-load-tests

configure-load-tests

github.com/laurigates测试与质量5958 次安装1 天前更新
代码仓库

关于 configure-load-tests

用于审查和配置项目负载与性能测试的技能,适合搭建压力测试、基准测试和容量规划的团队。它检查场景覆盖、阈值、报告和 CI 集成,并可按需修复配置。

主要功能

  1. 01检测 k6、Artillery 和 Locust 配置
  2. 02检查冒烟、负载、压力、突发和耐久测试
  3. 03审查阈值、环境与报告设置
  4. 04配置测试脚本和 CI 工作流
  5. 05支持仅检查和自动修复

适用场景

  1. 01评估现有项目的负载测试覆盖
  2. 02在 CI 中设置性能回归检查
  3. 03将项目迁移到其他负载测试框架

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/laurigates/claude-plugins --skill configure-load-tests

安装后在 Claude Code 中输入/configure-load-tests确认已加载。

附带文件REFERENCE.md

详细介绍

/configure:load-tests

检查并配置负载与性能测试基础设施,用于压力测试、基准测试和容量规划。

何时使用此技能

在以下情况下使用此技能……在以下情况下采用其他方式……
从头开始设置负载测试基础设施(k6、Artillery、Locust)运行现有负载测试——直接使用 k6 run 或 artillery run
审查当前负载测试覆盖情况(冒烟、压力、突发、耐久)编写单元或集成测试——使用 /configure:tests
添加用于检测性能回归的 CI/CD 流水线分析应用的内存用量——使用 /configure:memory-profiling
在负载测试框架之间迁移对单个函数进行基准测试——使用特定语言的基准测试工具
确保负载测试阈值和报告配置正确测试 API 契约——使用 /configure:api-tests

上下文

  • 项目根目录:!pwd
  • k6 测试:!find . -maxdepth 3 \( -name '*.k6.js' -o -name '*.k6.ts' \)
  • 负载测试目录:!find . -maxdepth 2 -type d -name 'load'
  • Artillery 配置:!find . -maxdepth 2 -name 'artillery.yml' -o -name 'artillery.yaml'
  • Locust 文件:!find . -maxdepth 2 -name 'locustfile.py'
  • 包文件:!find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' \)
  • CI 工作流:!find . -path '*/.github/workflows/*' -maxdepth 3 -name '*load*' -o -name '*perf*'
  • k6 二进制文件:!k6 version

参数

从 $ARGUMENTS 中解析:

  • --check-only:报告负载测试合规状态,不做任何修改
  • --fix:自动应用所有修复,无需提示
  • --framework <k6|artillery|locust>:覆盖检测到的框架

框架选择建议:

框架最适用于
k6(推荐)复杂场景、CI/CD 集成、TypeScript 支持
Artillery快速配置 YAML、简单的 API 测试
LocustPython 团队、分布式测试、自定义行为

执行

执行此负载测试配置检查:

第 1 步:检测现有负载测试基础设施

读取上面的上下文值并识别:

指标组件状态
k6 二进制文件或 @grafana/k6k6已安装
*.k6.js 或 load-tests/k6 测试已存在
artillery.ymlArtillery 配置已存在
locustfile.pyLocust 测试已存在
.github/workflows/*load*CI 集成已配置

如果设置了 --framework 标志,则无论检测结果如何,都使用指定框架。

第 2 步:分析当前负载测试设置

检查设置覆盖是否完整:

**安装:**已安装 k6(二进制文件或 npm);如适用,支持 TypeScript。

**测试场景:**检查现有测试类型:

  • 冒烟测试(最低负载验证)
  • 负载测试(正常负载)
  • 压力测试(峰值负载)
  • 突发测试(突发流量)
  • 耐久测试(长时间运行)

**配置:**阈值、特定环境的配置、数据文件。

**报告:**控制台输出、JSON/HTML 报告、趋势跟踪。

**CI/CD:**GitHub Actions 工作流、定期运行、PR 门禁。

第 3 步:生成合规报告

输出合规报告,涵盖:

  • 框架安装状态和版本
  • 测试场景覆盖情况(冒烟、负载、压力、突发、耐久)
  • 阈值配置(响应时间、错误率)
  • 环境配置(预发布、生产)
  • CI/CD 集成(工作流、计划、PR 门禁)
  • 报告设置(控制台、JSON、HTML、Grafana Cloud)

最后汇总问题总数并给出建议。

如果设置了 --check-only,则在此处停止。

步骤 4:配置负载测试框架(如果指定了 --fix 或用户确认)

使用 REFERENCE.md 中的模板应用配置:

  1. 安装 k6(或所选框架)
  2. 创建目录结构:tests/load/{config,scenarios,helpers,data}
  3. 创建包含共享阈值和标头的基础配置
  4. 创建测试场景(冒烟、负载、压力、突增)
  5. 添加用于运行测试的 npm/package 脚本
步骤 5:配置 CI/CD 集成
  1. 创建 .github/workflows/load-tests.yml,其中包含:
    • 在 PR 上运行冒烟测试
    • 通过 workflow_dispatch 运行完整负载测试
    • 每周定期运行
    • 上传结果制品
  2. 使用 k6-reporter 添加 HTML 报告
  3. 使用 REFERENCE.md 中的模板
步骤 6:更新标准跟踪

更新 .project-standards.yaml:

components:
  load_tests: "2025.1"
  load_tests_framework: "k6"
  load_tests_scenarios: ["smoke", "load", "stress"]
  load_tests_ci: true
  load_tests_thresholds: true
步骤 7:打印最终合规报告

打印摘要,列出已安装的框架、已创建的场景、已添加的脚本、已配置的 CI/CD、已设置的阈值,以及给用户的后续步骤。

有关详细的 k6 测试脚本、CI 工作流模板和报告配置,请参阅 REFERENCE.md。

Agent 优化

场景命令
快速合规检查/configure:load-tests --check-only
自动修复所有问题/configure:load-tests --fix
快速运行冒烟测试k6 run --vus 1 --duration 10s tests/load/scenarios/smoke.k6.js
以 JSON 格式输出结果k6 run --out json=results.json tests/load/scenarios/load.k6.js
检查 k6 版本k6 version
列出测试场景find tests/load -name '*.k6.js' -type f

标志

标志说明
--check-only报告状态,但不提供修复方案
--fix无需提示,自动应用所有修复
--framework <framework>指定其他框架(k6、artillery、locust)

示例

# Check compliance and offer fixes
/configure:load-tests

# Check only, no modifications
/configure:load-tests --check-only

# Auto-fix all issues
/configure:load-tests --fix

# Force specific framework
/configure:load-tests --fix --framework artillery

错误处理

  • 未安装 k6:提供适用于该平台的安装说明
  • 没有目标 URL:提示配置 BASE_URL
  • Docker 不可用:建议在本地启动应用
  • 缺少 CI 密钥:提供 k6 Cloud 的设置说明

另请参阅

评论

支持 Markdown