当需要测试 AI Agent(智能体、聊天机器人、AI 助手)时使用此技能。Agent 测试和传统功能测试完全不同——你要测的不是"点按钮看结果",而是它的推理链路、工具调用时机、幻觉率、Prompt 注入防护、角色边界保持和记忆一致性。如果 Agent 能乱调用工具或泄漏系统 Prompt,那就是安全事件。⚠️ Agent 测试必须包含功能安全可控可靠九维覆盖,缺一不可。 本技能属于 QA Test Skills 技能集(49 个技能之一),完整工作流体验需安装全套:npx skills add Kokxi/qa-test-skills
编程
接口测试
试用当需要测试 RESTful/GraphQL/gRPC/WebSocket 等 API 时使用此技能。覆盖接口的功能验证、参数组合、鉴权绕过、超时重试、幂等性、接口契约和向后兼容性。不要只测 HTTP 状态码——真正的接口 Bug 往往在数据结构不一致、字段类型不匹配、空值处理和并发调用上。输出接口测试矩阵、契约断言清单和工具选型建议。 本技能属于 QA Test Skills 技能集(49 个技能之一),完整工作流体验需安装全套:npx skills add Kokxi/qa-test-skills
它能做什么
当需要测试 RESTful/GraphQL/gRPC/WebSocket 等 API 时使用此技能。覆盖接口的功能验证、参数组合、鉴权绕过、超时重试、幂等性、接口契约和向后兼容性。不要只测 HTTP 状态码——真正的接口 Bug 往往在数据结构不一致、字段类型不匹配、空值处理和并发调用上。输出接口测试矩阵、契约断言清单和工具选型建议。 本技能属于 QA Test Skills 技能集(49 个技能之一),完整工作流体验需安装全套:npx skills add Kokxi/qa-test-skills
技能文档
接口测试专项
核心原则
接口是系统的骨架,接口测试是自动化的基石。
启动方式:用户提出接口测试需求后,按接口类型速查表定位协议特点,启动六维测试方案输出。
深度要求
| 复杂度 | 用例数要求 | 说明 |
|---|---|---|
| 简单接口 | 接口数×5 | 单一功能接口 |
| 中等接口 | 接口数×10 | 多参数接口 |
| 复杂接口 | 接口数×15 | 多依赖/多状态接口 |
必须覆盖的6个维度:
| 维度 | 占比 | 说明 |
|---|---|---|
| 功能测试 | 40% | 正向/反向/边界/参数 |
| 安全测试 | 20% | 认证/授权/注入 |
| 异常测试 | 15% | 超时/重试/降级 |
| 性能测试 | 10% | 响应时间/并发 |
| 契约测试 | 10% | 接口契约验证 |
| 兼容性测试 | 5% | 版本兼容 |
接口类型速查
不同协议接口各有侧重,以下为推荐测试重点:
| 接口类型 | 典型代表 | 测试重点 | 协议特点 |
|---|---|---|---|
| RESTful | CRUD API、微服务接口 | 状态码、HTTP方法语义、RESTful规范符合度 | 无状态、资源导向、Cache |
| GraphQL | 聚合查询、数据中台 | 查询复杂度、N+1问题、权限细粒度 | 单一端点、按需查询 |
| gRPC | 内部服务通信、高吞吐场景 | 消息格式、流处理、超时重试 | Protobuf、双向流、高性能 |
| WebSocket | 实时推送、消息通知 | 连接管理、心跳、消息顺序 | 长连接、全双工、有状态 |
核心流程
1. 功能测试
测试维度:
├─ 正向测试:正常输入返回正确结果
├─ 反向测试:异常输入返回正确错误
├─ 边界测试:边界值处理正确
├─ 参数测试:参数组合覆盖
└─ 业务测试:业务规则验证
测试用例设计:
├─ 入参校验:类型、长度、格式、必填
├─ 返回校验:状态码、响应体、响应头
├─ 业务校验:数据正确性、状态变更
└─ 异常校验:错误码、错误信息
2. 安全测试
测试维度:
├─ 认证测试:Token/Session/OAuth
├─ 授权测试:角色权限、资源访问
├─ 注入测试:SQL注入、XSS、命令注入
├─ 数据安全:敏感数据加密、脱敏
└─ 速率限制:限流、防刷
常见漏洞:
├─ 越权访问:水平越权、垂直越权
├─ 认证绕过:Token伪造、Session固定
├─ 注入攻击:SQL注入、命令注入
└─ 敏感泄露:密码明文、敏感信息暴露
3. 异常测试
测试维度:
├─ 超时场景
│ ├─ 连接超时:TCP连接建立超时
│ ├─ 读取超时:响应数据返回超时
│ └─ 超时重试:超时后的重试行为是否符合预期
│
├─ 重试机制
│ ├─ 幂等性:重复请求是否产生副作用
│ ├─ 退避策略:重试间隔是否合理
│ └─ 重试上限:达到最大重试次数后的行为
│
├─ 故障容错
│ ├─ 降级策略:下游服务异常时是否降级
│ ├─ 熔断机制:连续失败是否触发熔断
│ └─ 限流效果:超出限流阈值时的响应
│
└─ 数据异常
├─ 空响应:返回空数据时的处理
├─ 部分数据:数据不完整时的处理
└─ 数据损坏:返回数据格式错误时的处理
4. 性能测试
测试维度:
├─ 响应时间:P50/P95/P99
├─ 并发能力:并发请求处理
├─ 吞吐量:TPS/QPS
├─ 稳定性:长时间运行
└─ 资源消耗:CPU/内存/连接
测试方法:
├─ 基准测试:单请求性能基线
├─ 负载测试:预期负载下表现
├─ 压力测试:极限负载下表现
└─ 波动测试:流量波动下表现
5. 契约测试
测试维度:
├─ 消费者驱动
│ ├─ 消费者期望:API是否满足消费者的调用期望
│ ├─ 请求-响应匹配:请求参数和响应结构的匹配
│ └─ 消费者契约集:所有消费者的契约汇总验证
│
├─ 生产者验证
│ ├─ 接口实现验证:实际接口是否符合契约约定
│ ├─ 回归检查:接口变更是否破坏已有契约
│ └─ 版本策略:契约版本管理与兼容性保证
│
└─ 自动化集成
├─ CI集成:契约测试是否纳入流水线
├─ 变更通知:契约变更时是否通知相关方
└─ 契约仓库:契约文件是否统一管理
6. 兼容性测试
测试维度:
├─ 版本兼容
│ ├─ 向后兼容:新版本是否支持旧版本客户端
│ ├─ 向前兼容:旧版本是否能处理新版本响应
│ └─ 版本迁移:接口版本迁移方案是否平滑
│
├─ 协议兼容
│ ├─ 多协议支持:REST/GraphQL/gRPC行为是否一致
│ ├─ 序列化格式:JSON/XML/Protobuf兼容性
│ └─ 编码格式:UTF-8/ASCII等编码处理
│
└─ 集成兼容
├─ 上游依赖:依赖服务变更后的适配能力
├─ 中间件兼容:网关/代理/负载均衡的影响
└─ 客户端兼容:不同SDK版本/语言的兼容性
接口测试工具选型
| 工具 | 协议支持 | 自动化 | 契约测试 | Mock | 适用场景 |
|---|---|---|---|---|---|
| Postman/Apifox | REST/GraphQL/WebSocket | 手动+脚本 | ❌ | ✅ | 接口调试、文档管理、小规模自动化 |
| pytest+requests | 通用HTTP | ✅ | ❌ | ❌ | Python项目API自动化、CI集成 |
| REST Assured | REST | ✅ | ❌ | ❌ | Java项目API自动化 |
| Karate | REST/GraphQL | ✅ | ✅ | ✅ | 全栈API测试(单工具方案) |
| Pact | REST/GraphQL | ❌ | ✅ | ✅ | 消费者驱动契约测试 |
| WireMock | 通用HTTP | ❌ | ❌ | ✅ | 第三方Mock、异常模拟 |
| gRPCurl/gRPCui | gRPC | 手动 | ❌ | ❌ | gRPC接口调试 |
Mock策略
Mock时机
需要Mock的场景:
├─ 第三方服务:支付、短信、地图
├─ 不稳定服务:外部依赖
├─ 开发中服务:接口未就绪
├─ 特殊场景:异常、超时、限流
└─ 测试数据:特定数据构造
Mock工具
├─ WireMock:Java生态,功能全面
├─ MockServer:轻量级,易于使用
├─ Postman Mock:在线Mock服务
├─ MSW:前端Mock,拦截请求
└─ 自建Mock:Python/Node.js脚本
检查清单
功能测试检查
- 正向测试:正常输入返回正确结果
- 反向测试:异常输入返回正确错误
- 边界测试:边界值处理正确
- 参数测试:参数组合覆盖
- 业务测试:业务规则验证
安全测试检查
- 认证测试:Token/Session/OAuth
- 授权测试:角色权限、资源访问
- 注入测试:SQL注入、XSS、命令注入
- 数据安全:敏感数据加密、脱敏
- 速率限制:限流、防刷
异常测试检查
- 超时测试:请求超时处理
- 重试测试:失败重试机制
- 降级测试:服务降级处理
- 熔断测试:熔断机制验证
性能测试检查
- 响应时间:P50/P95/P99
- 并发能力:并发请求处理
- 吞吐量:TPS/QPS
- 稳定性:长时间运行
契约测试检查
- 消费者契约:消费者期望的接口行为是否满足
- 生产者契约:接口提供方是否履行约定
- 契约版本管理:接口变更是否遵循版本策略
- 契约自动化验证:契约是否集成到CI/CD
兼容性测试检查
- 版本兼容:新旧版本接口是否兼容
- 协议兼容:不同协议实现是否一致
- 数据格式兼容:JSON/XML/Protobuf格式兼容
- 上游兼容:依赖服务变更后的影响
输出示例
用户说"测试这个登录接口" → 启动接口测试六维覆盖:
- 功能:正常登录、错误密码、参数缺失
- 安全:Token伪造、SQL注入、越权访问
- 异常:超时、重试、幂等性
- 性能:响应时间基准、并发阈值
- 契约:接口契约是否符合OpenAPI定义
- 兼容:新旧版本接口是否兼容
接口文档(OpenAPI/Swagger)已提供 → 基于文档自动生成接口测试方案,识别接口类型(RESTful/GraphQL),输出六维测试要点和Mock策略
场景:测试一个第三方支付回调接口 → 重点覆盖异常与Mock:
- Mock策略:模拟支付网关超时、签名错误、重复回调
- 异常测试:回调超时重试机制、幂等性验证
- 安全测试:回调签名验证、回调地址白名单
- 契约测试:支付回调的请求/响应格式是否符合约定
场景:升级版本后部分接口报错(兼容性问题) → 启动兼容性检查:
- 新版本响应中新增了必填字段,旧客户端无法解析
- 接口URL路径变更,旧版本路由失效
- 返回数据格式从XML改为JSON,旧客户端兼容性 → 输出:兼容性影响分析报告 + 版本迁移方案
相关技能
当需要把测试集成到 CI/CD 流水线中、或者现有流水线的测试环节跑起来效率低不可靠时使用此技能。覆盖流水线各阶段的分层测试卡点设计(提交检查→单元测试→接口测试→UI 测试→回归测试)、工具集成策略和质量门禁配置。不要在 CI 里堆满慢的 UI 测试——而是构建测试金字塔:提交阶段跑最快的(<5min),合码阶段跑核心的(<15min),夜间跑全量的。 本技能属于 QA Test Skills 技能集(49 个技能之一),完整工作流体验需安装全套:npx skills add Kokxi/qa-test-skills
根据不同的测试目标和上下文,选择最佳的提示词模式来驱动AI生成高质量的测试用例。当AI输出的测试用例质量不够好、太泛泛、或者深度不够时,问题往往不在AI而在提示词。此技能提供结构化提示词模板,注入前面步骤产出的分析结果,输出包含角色定义、输出格式规范和约束条件的优化提示词。⚠️ 作为工作流的必过步骤,不得跳过。 本技能属于 QA Test Skills 技能集(49 个技能之一),完整工作流体验需安装全套:npx skills add Kokxi/qa-test-skills
从需求文档自动生成结构化测试用例,覆盖功能测试、边界分析、组合测试和回归测试全流程。自动串联48个专家级子技能,按12步工作流编排执行。适用于:上传需求文档(PRD/Word/PDF/URL)需要完整测试用例时、不知道如何设计测试场景或担心遗漏边界条件时、需要AI评审测试输出并补充测试盲区时。每个步骤都有独立技能支撑,输出格式统一、需求可追溯、覆盖率可量化。
当需求文档信息不够、不知道接下来该问产品什么、或者需要从开发那边获取更多技术细节时使用此技能。很多人测不好不是因为不会设计用例,而是因为一开始就没问对问题。提供需求调研、边界确认、规则挖掘、技术细节追问等不同场景的结构化提问模板,确保在测试设计前获取到足够上下文。每一个问题都标注了问谁、怎么问、什么时候问。 本技能属于 QA Test Skills 技能集(49 个技能之一),完整工作流体验需安装全套:npx skills add Kokxi/qa-test-skills
在最终输出前对测试用例做最后一轮防幻觉验证:事实核查(引用的需求ID是否存在)、一致性检查(用例之间是否矛盾)、可执行性验证(步骤是否能实际操作)、来源追溯(每个用例是否能追溯到具体需求)。当测试用例已经生成完毕、准备输出了,但你不确定AI有没有编造不存在的功能或需求时,应当使用此技能。这是整个工作流的最终质量守门——如果验证失败,必须返回问题清单要求修正,不得跳过。 本技能属于 QA Test Skills 技能集(49 个技能之一),完整工作流体验需安装全套:npx skills add Kokxi/qa-test-skills