Claude Code + GLM-5 深度赋能测试:开发 8 大 Skill 构建 AI 测试助手集群

基于已有实践和行业趋势,Claude Code + GLM-5 在测试领域的作用可以概括为三大方向:自动化生成、智能分析、流程编排。围绕这些方向,可以开发一系列 Skill 来辅助测试工作,大幅提升效率与质量。

一、核心作用

  1. 自动化测试资产生成

    从接口文档(YAML/OpenAPI)、需求描述甚至录制的流量,一键生成符合团队规范的自动化脚本、测试数据、用例框架。

    你的实践:输入 YAML 自动生成 Python + Requests + Pytest 全套项目。

  2. 智能缺陷分析与自愈

    当测试失败时,AI 自动分析日志、错误堆栈,推断根因(环境/数据/代码缺陷),并尝试给出修复建议或直接修正脚本。

    你的实践:脚本生成后自动验证、修正直到通过。

  3. 测试策略与用例设计

    根据产品特性(如大模型应用、RAG系统、智能体)自动设计测试维度、评测指标、对抗用例,覆盖功能、性能、安全、偏见等维度。

  4. 可观测性增强

    解析 LLM 调用日志、Agent 执行链路,生成可视化报告或诊断结论,辅助定位性能瓶颈与异常行为。

    你的实践:Office Claw 的 LLM_IO_TRACE 解析与可视化。

  5. 流程衔接与 CI/CD 编排

    自动生成流水线配置、多环境切换脚本、报告聚合方案,让测试从"一次性"变为"持续运行"。

二、可开发的 Skill 类型及说明

1. api-auto-gen(接口自动化全自动生成)

输入 :OpenAPI/Swagger YAML 文件、环境地址

输出 :完整的 pytest 项目(含 BaseRequest、数据驱动、业务流、报告、CI 配置)

自愈闭环:生成后自动验证并修正,直到全部用例通过。

2. test-case-designer(测试用例智能设计)

输入 :需求描述、接口文档、或 PRD 片段

输出 :按等价类/边界值/场景法生成结构化测试用例,支持 CSV/Markdown 输出

增强:针对 AI 产品自动设计对抗用例、偏见测试、多轮对话场景。

3. failure-analyst(失败分析助手)

输入 :pytest 错误日志、接口响应、环境信息

输出 :根因分类(业务缺陷/数据问题/环境不稳定)、修复建议、相关代码补丁

联动:可自动在 Jira/禅道创建缺陷,并附上分析报告。

4. llm-trace-analyzer(LLM 链路分析器)

输入 :LLM_IO_TRACE 日志、Agent 运行记录

输出 :调用链路可视化、耗时分布、工具调用成功率、异常模式识别

作用:将 Agent 黑盒变白盒,快速定位幻觉、超时、无效调用。

5. perf-bench-generator(性能脚本生成器)

输入 :接口文档、压测目标(QPS、并发数)

输出 :Locust/JMeter 脚本、压测方案、结果分析模板

进阶:结合历史基线自动判断性能衰退。

6. data-factory(测试数据工厂)

输入 :数据模型(YAML/SQL)、生成规则

输出 :动态生成符合业务逻辑的测试数据,并支持自动清理

联动:与接口用例结合,实现"数据准备-执行-断言-清理"全自动。

7. ci-orchestrator(CI/CD 配置生成器)

输入 :项目技术栈、环境拓扑

输出 :GitHub Actions/GitLab CI 脚本、多环境部署配置、报告归档策略

亮点:自动感知测试范围变化,智能选择执行子集。

8. knowledge-sync(经验沉淀器)

输入 :缺陷记录、代码 review 意见、规范变更

输出 :更新团队知识库、编码规范文档、skill 生成规则

作用:让 AI 的生成质量随着项目推进持续进化。


三、你已具备的 Skill 雏形

  • enterprise-api-test-gen → 可进化为 api-auto-gen

  • self-healing-api-gen → 已具备自愈闭环

  • 可组合上述几个 Skill,形成一个 "测试智能体矩阵" ,覆盖从需求分析到上线的全生命周期。

四. 八大核心 Skill 详解(含开发模板与使用实例)

4.1 api-auto-gen ------ 接口自动化全自动生成 + 自愈

作用:输入 OpenAPI YAML,输出完整的 pytest 项目,并自动验证修正。

Skill 模板(已实战验证):

bash 复制代码
# 全自动接口自动化生成器
目标:根据 `api.yaml` 生成完整可运行的 Python 接口测试项目。
流程:
1. 解析 YAML,规划单接口用例和业务流用例。
2. 生成所有文件,必须使用 BaseRequest、数据驱动、config 环境切换。
3. 输出后提示用户运行验证脚本 `validate_and_run.py`。
4. 根据返回的 JSON 自动修正,直到通过。
铁律:不允许直接使用 requests,必须从 config 获取 base_url。

配套验证脚本 scripts/validate_and_run.py,用于形成闭环。

使用方式

bash 复制代码
claude
@api-auto-gen 请使用 docs/api.yaml 生成项目并保证全部用例通过。

4.2 test-case-designer ------ 智能测试用例设计

作用:根据需求描述或接口文档,自动生成结构化测试用例(支持 CSV/Markdown/TestLink)。

Skill 模板

bash 复制代码
# 测试用例设计师
输入:接口文档(YAML)或功能描述。
输出:等价类、边界值、异常场景用例,以 markdown 表格输出。
附加:对于 AI 产品,增加对抗、偏见、多轮一致性用例。

使用实例

bash 复制代码
@test-case-designer 根据 docs/api.yaml 中的登录接口,设计全面测试用例,包括安全测试。

Claude 将输出一张包含用例编号、前置条件、输入数据、预期结果的表格,可直接导入管理工具。

4.3 failure-analyst ------ 失败分析助手

作用:分析 pytest 报错或日志,给出根因和修复建议,甚至自动创建缺陷。

Skill 模板

bash 复制代码
# 失败分析专家
输入:测试错误日志、环境信息。
输出:
- 根因分类(环境/数据/代码缺陷)
- 详细分析
- 修复建议代码(如有)
- 自动创建 Jira Issue(可选)

使用

配合 conftest.py 中的钩子,可在测试失败时自动调用该 Skill。

4.4 llm-trace-analyzer ------ LLM 链路分析器

作用:解析 LLM_IO_TRACE 等日志,重建 Agent 调用链路,输出耗时分析和可视化报告。

Skill 模板

bash 复制代码
# LLM 链路分析
输入:LLM_IO_TRACE 日志文件路径。
输出:
- 迭代数、每轮 LLM 耗时、Tool 耗时
- 调用流程图(mermaid 格式)
- 性能瓶颈定位
- 异常模型行为(如无效工具调用、重复请求)

使用

bash 复制代码
@llm-trace-analyzer 分析 logs/llm_trace.json 并输出可视化报告。

4.5 perf-bench-generator ------ 性能测试脚本生成

作用:根据接口文档自动生成 Locust 或 JMeter 压测脚本和压测方案。

Skill 模板

bash 复制代码
# 性能脚本生成器
输入:接口 YAML、目标 QPS、并发数。
输出:locustfile.py 和一份压测计划(包含指标目标)。

.6 data-factory ------ 智能数据工厂

作用:根据数据模型生成符合业务逻辑的动态测试数据,并自动清理。

Skill 模板

bash 复制代码
# 数据工厂
输入:实体定义(如用户表字段)和生成数量。
输出:Python 脚本,使用 Faker + 自定义规则生成数据,支持环境隔离和自动清理。

4.7 ci-orchestrator ------ CI/CD 配置生成器

作用:一键生成完整的流水线配置文件,集成上述所有 Skill 和报告。

Skill 模板

bash 复制代码
# CI 编排器
输入:项目技术栈、测试阶段(冒烟/回归/全量)。
输出:GitHub Actions / GitLab CI 配置,包含 lint、test、report、artifact 上传步骤。

4.8 knowledge-sync ------ 经验沉淀与进化

作用:将发现的 Bug 模式、代码 review 意见等沉淀为规则,反哺其他 Skill。

Skill 模板

bash 复制代码
# 知识同步器
输入:缺陷描述、修复方案、规范变更。
输出:更新 `specs/coding_standard.md`、Skill 约束规则、测试数据模板。

五. Skill 组合实战:打通全流程自动化

我们可通过一个主控 Skill 或 Shell 脚本来串联它们,实现 "需求提交 → 自动设计用例 → 生成脚本 → 执行测试 → 失败分析 → 生成报告" 的完整闭环。

5.1 主控脚本示例(run_ai_test.sh

bash 复制代码
# 1. 让 Claude 执行用例设计
claude run "@test-case-designer 根据 docs/api.yaml 生成用例,保存到 testcases.md"

# 2. 执行接口自动化生成
claude run "@api-auto-gen 使用 docs/api.yaml 生成项目并验证通过"

# 3. 运行测试(本地)
pytest --alluredir=reports/allure-results

# 4. 如果失败,自动调用分析
if [ $? -ne 0 ]; then
    claude run "@failure-analyst 分析 $(cat reports/latest.log)"
fi

# 5. 生成 Allure 报告
allure generate reports/allure-results -o reports/allure-report --clean

5.2 集成到 GitHub Actions

bash 复制代码
- name: AI-Assisted Test Generation & Execution
  run: bash run_ai_test.sh
- name: Upload Report
  uses: actions/upload-artifact@v4
  with:
    name: test-report
    path: reports/allure-report

六. 关键支撑:让 Skill 自愈的验证脚本

api-auto-gen 等生成型 Skill 提供自动验证能力,创建 scripts/validate_and_run.py

python 复制代码
import subprocess, sys, json
from pathlib import Path

ROOT = Path(__file__).parent.parent

def run(cmd):
    r = subprocess.run(cmd, shell=True, capture_output=True, text=True, cwd=ROOT)
    return r.returncode, r.stdout, r.stderr

def main():
    report = {"passed": False, "checks": []}
    # ruff 检查
    code, out, err = run("ruff check tests/ common/")
    report["checks"].append({"name": "ruff", "status": "pass" if code == 0 else "fail", "detail": err[-500:] if code != 0 else ""})
    # BaseRequest 强制检查
    code2, out2, _ = run(f"python {ROOT}/scripts/check_base_request.py")
    report["checks"].append({"name": "BaseRequest", "status": "pass" if code2 == 0 else "fail", "detail": out2[-500:] if code2 != 0 else ""})
    # 用例收集
    code3, out3, err3 = run("pytest --collect-only -q")
    report["checks"].append({"name": "collection", "status": "pass" if code3 == 0 else "fail", "detail": (out3+err3)[-500:] if code3 != 0 else ""})
    # 执行
    code4, out4, err4 = run("pytest -m smoke --tb=short")
    report["checks"].append({"name": "execution", "status": "pass" if code4 == 0 else "fail", "detail": (out4+err4)[-1000:] if code4 != 0 else ""})
    report["passed"] = all(c["status"] == "pass" for c in report["checks"])
    print(json.dumps(report, indent=2, ensure_ascii=False))
    sys.exit(0 if report["passed"] else 1)

if __name__ == "__main__":
    main()

将该脚本集成到 Skill 的闭环中,AI 便拥有了自我纠错的能力。

. 总结:从单点到体系,释放 AI 测试的最大价值

通过开发上述 8 个 Skill,你将得到:

  • 效率飞轮:接口自动化开发时间从小时级→分钟级,用例设计从半天→秒级。

  • 质量闭环:生成即验证,失败即分析,知识即沉淀。

  • 全栈覆盖:从需求、设计、执行、分析到报告,AI 全程参与。

  • 持续进化:随着项目数据积累,Skill 的输出质量和规范贴合度将越来越高。

现在,你只需要准备好接口文档,打开终端对 Claude 说一句:

bash 复制代码
@api-auto-gen 用 api.yaml 生成全套自动化,然后 @test-case-designer 再帮我设计安全用例。

你的 AI 测试助手便会开始工作。整套代码已开源在 你的 GitHub 仓库,欢迎 Star 与实践反馈。

七、总结

Claude Code + GLM-5 在测试领域不只是"写代码",而是可以成为一个 7×24 小时的 AI 测试架构师 ,负责生成、分析、优化、沉淀。

你目前的实践已经验证了它在接口自动化、AI Agent 测试中的巨大价值,接下来只需将这些能力封装为一个个可复用的 Skill,即可在团队中推广并形成技术壁垒。

相关推荐
联通权斌6 小时前
23个咨询单,关于运营商、智算和AI
人工智能
unique6 小时前
QwenPaw调研分析
ai编程
摄影图6 小时前
[图片素材]国产芯片半导体 满足科技创作多场景需求
人工智能·科技·aigc·贴图·插画
音视频牛哥6 小时前
具身智能进入深水区:特斯拉闭环、国产机器人突围与场景价值重构
人工智能·agi·机器视觉·具身智能·特斯拉和宇树科技·特斯拉optimus·具身智能发展困境
机器学习之心6 小时前
上海原油期货收益率研究数据集说明
大数据·人工智能·上海原油期货收益率
计算机安禾6 小时前
【算法分析与设计】第19篇:二分图匹配与指派问题
大数据·人工智能·算法
小白学大数据6 小时前
Playwright 爬虫:Python 爬取 JS 渲染的 JSP 网站
开发语言·javascript·爬虫·python·数据分析
程序员老刘6 小时前
Dart 3.12 更新要点:乏善可陈
flutter·ai编程·dart
rannn_1116 小时前
OpenAI Function Calling 全解析:从函数定义到流式调用
人工智能·chatgpt·openai·ai agent