AgentSkillsCN

test-api-basic-function

执行 API 基础功能验证测试,自动生成正向、负向与边界测试用例并执行,生成 Markdown 测试报告。支持 Playwright MCP,适用于接口开发完成后进行功能验证、输入校验测试、边界条件测试等场景。

SKILL.md
--- frontmatter
name: "test-api-basic-function"
description: "执行API基础功能验证测试,自动生成正向、负向和边界测试用例并执行,生成Markdown测试报告。支持Playwright MCP,适用于接口开发完成后的功能验证、输入校验测试、边界条件测试等场景。"

API基础功能验证测试

技能概述

本技能用于执行API的基础功能验证测试,确保接口在正常和异常情况下的行为符合预期。这是所有测试的基础,用于验证核心校验功能的正常性。

技术栈:Playwright MCP工具 测试类型:接口测试(正向、负向、边界测试) 报告格式:Markdown

快速开始

最小化测试示例

假设你要测试一个用户登录接口,只需提供以下信息:

  1. 接口URL: https://api.example.com/users/login
  2. 请求方法: POST
  3. 请求头: {"Content-Type": "application/json"}
  4. 请求参数:
    • username: string, 必填, 3-50字符
    • password: string, 必填, 6-100字符

系统将自动生成并执行以下测试用例:

正向测试

  • 正常登录场景

负向测试

  • 用户名不存在
  • 密码错误
  • 缺少用户名参数
  • 缺少密码参数
  • 用户名格式错误
  • 密码格式错误

边界测试

  • 用户名最小长度(3字符)
  • 用户名最大长度(50字符)
  • 密码最小长度(6字符)
  • 密码最大长度(100字符)

测试完成后,自动生成Markdown格式的测试报告。

测试场景

1. 正向测试用例

验证正常条件下的API响应,确保接口在合法输入下能够正常工作。

测试要点:

  • 使用合法的请求参数
  • 验证HTTP状态码(通常为200、201、204等)
  • 验证响应数据结构和内容
  • 验证业务逻辑正确性
  • 验证响应时间在合理范围内

2. 负向测试用例

验证无效输入和异常情况下的API行为,确保接口能够正确处理错误情况。

测试要点:

  • 必填参数缺失
  • 参数类型错误(如字符串传数字)
  • 参数格式错误(如邮箱格式、手机号格式)
  • 参数值超出允许范围
  • 重复提交相同数据
  • 不存在的资源ID
  • 无效的枚举值
  • 超长字符串
  • 特殊字符注入

3. 边界测试用例

验证最小和最大输入值,确保接口在边界条件下的稳定性。

测试要点:

  • 最小值边界(如0、1、-1)
  • 最大值边界(如最大长度、最大数值)
  • 边界值+1和边界值-1
  • 空值、null值
  • 空数组、空对象
  • 极小值和极大值

测试检查清单

在执行测试前,请按以下清单逐项检查和执行:

✅ 准备阶段检查清单

  • 确认已收集所有必要信息(业务名称、接口名称、URL、方法、参数等)
  • 确认接口URL可访问
  • 确认请求方法正确(GET/POST/PUT/DELETE/PATCH)
  • 确认请求头配置正确(Content-Type等)
  • 确认Token认证信息(如需要)已正确配置
  • 确认测试数据准备就绪

✅ 测试用例生成检查清单

  • 已生成正向测试用例(至少1个)
  • 已生成负向测试用例(至少3个)
  • 已生成边界测试用例(至少2个)
  • 测试用例覆盖了所有必填参数
  • 测试用例覆盖了所有参数类型和格式

✅ 测试执行检查清单

正向测试:

  • 执行正向测试用例
  • 验证HTTP状态码(200/201/204等)
  • 验证响应数据结构
  • 验证响应数据内容
  • 记录响应时间

负向测试:

  • 执行负向测试用例
  • 验证错误状态码(400/401/403/404等)
  • 验证错误信息准确性
  • 记录错误详情

边界测试:

  • 执行边界测试用例
  • 验证最小值边界
  • 验证最大值边界
  • 验证空值/null值处理
  • 记录异常情况

✅ 测试报告检查清单

  • 所有测试用例已执行完成
  • 测试结果已记录(通过/失败)
  • 失败用例已记录详细错误信息
  • 响应时间数据已收集
  • 测试报告已生成并保存到指定目录
  • 报告包含测试概览、用例详情、结果统计

⚠️ 注意事项

  • 每完成一个检查项,请及时标记为已完成
  • 如遇失败用例,需记录详细错误信息和复现步骤
  • 测试过程中如发现问题,及时记录并反馈
  • 确保测试报告包含完整的测试结果和统计数据

测试执行流程

步骤1:收集测试信息

在开始测试前,需要收集以下信息:

  • 业务名称:用于组织测试报告目录
  • 接口名称:被测试的API接口名称
  • 接口URL:完整的API端点地址
  • 请求方法:GET、POST、PUT、DELETE等
  • 请求头:Content-Type等
  • 请求参数:参数列表、类型、是否必填、取值范围
  • 预期响应:正常情况下的响应结构
  • 认证信息(可选):如需认证,提供Token键值对列表(支持多个token)
    • Token 1的key:例如 Authorization、token、X-Auth-Token、lesseeadmintoken、lesseemanagetoken
    • Token 1的value:例如 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9(直接提供token值,无需添加"Bearer"前缀)
    • Token 2的key:(如需要多个token,继续提供)
    • Token 2的value:(如需要多个token,继续提供)
    • 以此类推...

步骤2:自动生成测试用例

根据接口定义,系统自动生成三类测试用例:

正向测试用例示例:

  • 正向测试 - 正常业务场景

负向测试用例示例:

  • 负向测试 - 必填参数缺失
  • 负向测试 - 参数类型错误
  • 负向测试 - 参数格式错误
  • 负向测试 - 参数值超出范围

边界测试用例示例:

  • 边界测试 - 参数最小值
  • 边界测试 - 参数最大值
  • 边界测试 - 空值处理

步骤3:执行测试用例

使用Playwright MCP工具执行测试:

支持的HTTP方法:

  • GET:查询数据
  • POST:创建数据
  • PUT:更新数据(全量)
  • PATCH:更新数据(部分)
  • DELETE:删除数据

测试执行流程:

  1. 正向测试执行

    • 使用合法参数调用接口
    • 验证HTTP状态码(200、201、204等)
    • 验证响应数据结构和内容
    • 记录响应时间
  2. 负向测试执行

    • 使用无效参数调用接口
    • 验证错误状态码(400、401、403、404等)
    • 验证错误信息的准确性
    • 记录错误详情
  3. 边界测试执行

    • 使用边界值调用接口
    • 验证接口在边界条件下的行为
    • 记录测试结果和异常情况

特殊场景处理:

  • 文件上传接口:使用Playwright的文件上传功能,指定文件路径即可。
  • 需要认证的接口:在请求头中添加Authorization字段,格式根据接口要求而定,例如:
    • Authorization: Bearer {token}
    • token: {token}
    • X-Auth-Token: {token}

步骤4:生成测试报告

测试完成后,生成Markdown格式的测试报告,报告保存在以下目录:

code
doc/{业务名称}/测试报告/基础功能验证/{测试接口名称}_{时间戳}.md