02 — Agent / Skills / MCP 测试实战指南

从概念到实战:让 AI 成为测试团队的可复用资产

基于 官方文档提炼
面向财政系统测试场景

作者:浅木·先生
版本:v1.0(2026-05-29)


目录


一、三层架构:MCP / Agent / Skills 分别干什么

很多人一开始就把这三个概念搞混了。先画清楚:

层级 类比 核心能力 代表
Agent 大脑+决策中心 理解上下文、协调工具、自主决策 Hermes、Claude Code、OpenClaw
Skills 肌肉记忆 结构化的操作流程、可复用的工作流 test-case-generator、playwright-cli
MCP 感官+肢体 连接外部工具(浏览器/文件/数据库) @playwright/mcp、CDP Bridge

关系

用户指令
    ↓
Agent(大脑:理解需求、分配任务)
    ├── Skills(肌肉记忆:按 SOP 执行)
    │       └── 调用 MCP / 工具
    ├── MCP(感官:读写文件、操作浏览器)
    └── 内置工具(终端/网络等)

对测试的意义

  • Agent 是"知道怎么测"(决策层)
  • Skills 是"知道测什么步骤"(流程层)
  • MCP 是"知道怎么操作"(执行层)

选型原则

  • 固定流程 → 写成 Skill → AI 按步骤执行
  • 需要外部工具 → 配 MCP → AI 直接调用
  • 复杂决策 + 多步骤 → Agent 调度 → 自动编排

二、Skills 的核心机制

Skill 文件结构

每个 Skill 是一个目录,结构如下:

skills/my-test-skill/
├── SKILL.md           ← 主文件(必需)
├── references/        ← 分层引用
│   ├── api.yaml
│   └── templates/
├── scripts/           ← 可执行脚本
│   └── generate.py
└── assets/            ← 资源文件

SKILL.md 的 YAML Frontmatter

---
name: test-plan-generator
description: 根据需求文档自动生成测试策略文档
author: Kong Fanteng
trigger: 根据这份需求生成测试策略
model: deepseek-chat
tags: [测试策略, 测试计划, 测试管理]
---

内容正文...

references 分层加载(重要)

这是 Skill 的高级用法:

SKILL.md 中写:加载 references/api.yaml
    ↓
Agent 读取 references/api.yaml 作为接口规范参考
    ↓
Agent 根据接口规范生成测试用例

好处:references 可以独立更新,不用改 SKILL.md 本身。

渐进式披露机制

AI 不会把完整的 Skill 内容一次性塞进上下文,而是:

  1. 只加载 SKILL.md 顶部概要
  2. 用户提问时按需加载 references 和 scripts
  3. 上下文轻盈,Token 消耗低

三、Skill 编写规范与最佳实践

高质量 Skill 三要素

维度 原则 反面例子
可测性 输入是什么、输出是什么,边界明确 “帮我优化一下这个”
稳定性 不受模型/平台影响,输出格式固定 “你觉得怎么好就怎么输出”
复用性 换项目换场景还能用 硬编码了项目名/路径

编写步骤

Step 1: 确定输入 → 需求文档 / 接口文档 / URL
Step 2: 确定输出 → Excel / Markdown / JSON
Step 3: 写 SKILL.md
Step 4: references 放数据/模板
Step 5: 测试 → 让 Agent 跑一遍
Step 6: 迭代 → 根据结果微调

踩坑清单

常见错误 正确做法
SKILL.md 写太长(>500行) 用 references 拆分
触发条件太模糊 用精确的关键词匹配
忽略了输入校验 在 SKILL.md 开头明确输入格式
输出格式不固定 用模板约束输出
硬编码了项目路径 用相对路径或参数化

四、测试场景 Skill 实战

测试计划生成 Skill

用途:输入 PRD + 架构文档 → 自动输出测试策略文档

输出包含(6 大模块):

  1. 测试范围(功能点清单)
  2. 测试方法(功能/接口/UI/性能)
  3. 测试环境(环境拓扑)
  4. 资源分配(人员+时间)
  5. 风险分析(代码改动量 + 历史Bug密度 + 外部依赖)
  6. 进度计划

效率对比

手动:1-2 天
Skill 初稿:30 分钟
微调:30 分钟 → 提交评审

风险分析维度(Skill 自动计算):

  • 代码改动量大小
  • 历史 Bug 密度(高频出 Bug 的模块加重覆盖)
  • 外部依赖稳定性(第三方接口是否变过)
  • 业务影响面(影响多少个下游系统)
  • 关联模块数量

Excel / Xmind 用例生成 Skill

用法

# 在 Hermes/Cursor 中导入 Skill 后
# 输入需求文档,调用对应 Skill

"@需求文档 调用:excel-test-case-generator skill"
"@需求文档 调用:xmind-test-case-generator skill"

AI 自动执行

  1. 读取 Skill → 理解输出格式要求
  2. 分析需求文档 → 提取功能点
  3. 生成用例 JSON
  4. 执行 Python 脚本 → 输出 .xlsx / .xmind 文件

适用场景:需求文档转规范格式的测试用例,避免手工排版。

JMeter 脚本生成 Skill

用法

"@接口文档 调用:jmx-test-generator skill"

流程

  1. 导入 Skill 包
  2. 在项目目录放接口文档(建议 .md 格式)
  3. AI 自动解析接口(URL/方法/参数/Header/响应格式)
  4. 生成 .jmx 文件
  5. 在 JMeter 中 Open 即可运行

关键:接口文档越完整(包含请求示例、响应示例),生成的脚本越精准。

接口测试用例生成 Skill

适用平台:Hermes / Cursor / Claude / ChatGPT

输入:Swagger 2.0 / OpenAPI 3.0 / Postman Collection v2.1

多维度生成

  • 正常用例(正向流程)
  • 边界值用例(参数边界)
  • 错误用例(异常参数)
  • 认证场景(无 Token / Token 过期 / 权限不足)
  • 交叉验证(组合参数)
  • 分页场景

多格式输出

  • Markdown 表格 → 直接评审
  • CSV → 导入测试管理平台
  • Postman Collection JSON → 一键导入

测试用例审核 Skill

用途:用例评审从"凭经验"变成"可评分"

评分维度

  • 覆盖度(是否覆盖了正向/负向/边界)
  • 清晰度(步骤是否可执行)
  • 可执行性(是否有前置条件、预期结果是否明确)
  • 关联性(是否关联了需求和缺陷)

输出:评分报告 + 优化建议

需求评审 Skill

用途:检测需求文档的质量问题

检测维度

  • 功能完整性(有没有遗漏功能点)
  • 数据准确性(字段定义是否明确)
  • 业务规则(规则是否有歧义)
  • 用户体验(交互流程是否合理)

五、MCP 集成指南

Playwright MCP

安装

npm install -g @playwright/mcp
npx playwright install

Hermes 配置

# config.yaml 的 mcpServers 部分
mcpServers:
  playwright:
    command: npx
    args: ["@playwright/mcp"]

核心工具

  • browser_snapshot → 无障碍树(非DOM,定位更稳定)
  • browser_navigate → 导航到 URL
  • browser_click → 点击元素
  • browser_type → 输入文本

适用场景

  • 探索式测试(3分钟/页)
  • AI 生成脚本(8分钟/模块)
  • 报错自动修复(59.6秒 fix vs 人工 30分钟)

CDP Bridge MCP

用途:让 AI 接管已登录的浏览器会话,复用登录态

uvx cdp-bridge@latest

核心功能

  • 复用浏览器登录态(Cookie、Session)
  • 多标签页管理
  • 页面操作在真实浏览器中执行

适用场景:财政系统需要登录态的业务流程自动化测试。

对比

方案 登录态 Token 消耗 定位稳定性
Playwright MCP 沙箱新会话 无障碍树
CDP Bridge 复用现有会话 真实页面
Playwright CLI 无障碍树

Allure MCP

用途:让 AI 读测试报告并自动修复失败用例

# MCP-Allure 服务
# 将 Allure HTML 报告转为 AI 可读的结构化 JSON

闭环流程

Skill 生成规范用例 → 执行(pytest) → Allure 出报告
    → MCP-Allure 转 JSON → AI 读报告分析失败原因
    → AI 修改代码 → 重测 → 闭环

六、Agent Memory 在测试中落地

三层记忆模型

记忆类型 内容 在测试中的应用
语义记忆 知识(接口规范、业务规则) RAG 知识库,存放财政业务规则
情节记忆 经历(上次测试结果) 记录历史 Bug、失败原因
程序记忆 技能(操作流程) Skills,固化测试流程

落地建议

测试团队记忆配置

# 配置 Mem0 作为增强记忆
memory:
  provider: mem0

# 语义知识库
# %USERPROFILE%\.hermes\memories\knowledge\
# ├── business-rules.md      ← 财政业务规则
# ├── api-specs.md           ← 接口规范
# └── env-config.md          ← 环境配置

# 情节记忆(自动记录)
# Mem0 自动提取跨会话的有价值信息

手动管理记忆

# 查看记忆状态
hermes memory status

# 配置外置记忆
hermes memory setup

# 清理旧记忆
# 手动编辑 %USERPROFILE%\.hermes\memories\MEMORY.md

七、Agent + Skills + MCP 全栈方案

接口自动化智能体平台架构

用户指令(自然语言)
    ↓
Agent(Hermes,协调中枢)
    ├── Skills 层
    │   ├── api-test-plan-generator    → 测试计划
    │   ├── interface-testcase-gen      → 接口用例生成
    │   ├── playwright-ui-script-gen    → UI 脚本生成
    │   └── jmx-performance-gen         → 性能脚本
    ├── MCP 层
    │   ├── Playwright MCP              → 浏览器操作
    │   ├── CDP Bridge                  → 登录态复用
    │   ├── Allure MCP                  → 报告分析
    │   └── Database MCP                → 数据校验
    └── 内置工具
        ├── terminal                    → 命令执行
        ├── file                        → 文件操作
        └── web                         → 网页抓取

四步实施方案

阶段 内容 时间
L1 单点 Skill 把常用工作流写成 Skill(用例生成/脚本生成) 1周
L2 集成 MCP 接入 Playwright MCP / CDP Bridge 2周
L3 Agent 调度 Agent 自动编排 Skills + MCP 2周
L4 全栈闭环 需求→用例→脚本→执行→报告→自愈 持续

八、常见踩坑与反思

“强迫全员写 Skill” 可能是个坑

核心观点:不是所有人都适合写 Skill。Skill 的本质是把工作流程化,而不是让每个人"学会编程"。

正确做法

  • 让有流程思维的人写 Skill
  • 让大多数人用 Skill(降低门槛)
  • 测试 Lead 负责审核 Skill 质量

Skills 不是越多越好

  • 一个团队维护 5~10 个核心 Skill 就够了
  • 多余的 Skill 容易出现"没人知道有这个 Skill"
  • 定期清理过期 Skill(特别是项目迁移后)

MCP 不适合所有场景

场景 推荐方式
简单文件操作 内置 terminal
复杂浏览器交互 Playwright MCP
已登录的页面 CDP Bridge
大量重复操作 Playwright CLI(低 Token)

建议配合 01-Hermes-Agent-从入门到精通.md 一起使用

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐