接口测试用例生成提示词模板
一、基础信息收集提示词
你是一位专业的接口测试工程师。请帮我分析以下接口,并生成完整的测试用例。
## 接口基础信息
- 接口名称:[填写接口名称]
- 接口路径:[填写路径,如 /api/user/login]
- 请求方式:[GET/POST/PUT/DELETE]
- 环境域名:[填写测试环境域名,可使用变量 ${BASE_URL}]
## 请求头要求
- Content-Type:application/json
- Authorization:Bearer ${TOKEN}
- 其他固定请求头:[填写]
## 入参定义
| 字段名 | 类型 | 是否必填 | 枚举值/取值范围 | 说明 |
|--------|------|----------|-----------------|------|
| [字段1] | [string/number/boolean] | [是/否] | [枚举值列表] | [说明] |
| [字段2] | ... | ... | ... | ... |
## 出参定义
| 字段名 | 类型 | 说明 |
|--------|------|------|
| code | number | 状态码,200表示成功 |
| message | string | 提示信息 |
| data | object | 返回数据 |
## 业务说明
[填写接口的业务功能说明,以及与其他接口的依赖关系]
二、场景覆盖提示词
请根据上述接口信息,设计以下场景的测试用例:
### 必须覆盖的场景
1. **正向场景**
- 正常请求,所有必填参数正确填写
- 正常请求,包含所有可选参数
- 业务成功流程验证
2. **参数异常场景**
- 必填参数缺失(每个必填参数单独测试)
- 参数值为空字符串
- 参数值为null
- 参数类型错误(如string字段传入number)
- 参数超长(超过字段最大长度)
- 参数包含特殊字符(SQL注入、XSS等)
- 参数值不在枚举范围内
3. **权限安全场景**
- 无Token请求
- Token过期
- Token格式错误
- 无权限访问(普通用户访问管理员接口)
- 越权访问(访问其他用户数据)
4. **边界条件场景**
- 分页参数边界(page=0, page=1, page=-1)
- 数值边界(最大值、最小值、0、负数)
- 时间边界(过去时间、未来时间、边界日期)
- 空列表、空对象
5. **状态校验场景**
- 业务状态码校验
- HTTP状态码校验(400/401/403/404/500)
- 异常业务流程校验
### 输出要求
请按照以下格式输出测试用例:
| 用例ID | 场景类型 | 用例名称 | 请求参数 | 预期结果 | 断言点 |
|--------|----------|----------|----------|----------|--------|
| TC001 | 正向 | xxx | {...} | code=200, message=成功 | 1. 状态码200 2. code=200 3. 返回token字段 |
| TC002 | 参数异常 | xxx | {...} | code=400, message=xxx | 1. 状态码400 2. code=400 3. message包含错误提示 |
三、脚本生成提示词
3.1 Python requests 脚本
请根据上述测试用例,生成Python requests格式的自动化测试脚本。
## 要求:
1. 使用pytest框架
2. 基础配置使用变量:BASE_URL、TOKEN
3. 每个用例独立函数
4. 包含完整的断言
5. 处理接口依赖时使用fixture
## 输出格式:
```python
import pytest
import requests
BASE_URL = "${BASE_URL}"
TOKEN = "${TOKEN}"
class Test接口名称:
"""接口测试类"""
@pytest.fixture
def headers(self):
return {
"Content-Type": "application/json",
"Authorization": f"Bearer {TOKEN}"
}
def test_用例名称(self, headers):
"""用例说明"""
url = f"{BASE_URL}/api/xxx"
data = {
# 参数
}
response = requests.post(url, json=data, headers=headers)
# 断言
assert response.status_code == 200
result = response.json()
assert result["code"] == 200
# 更多断言...```
3.2 Postman Collection 脚本
请根据上述测试用例,生成Postman Collection格式的脚本。
## 要求:
1. 使用Postman Collection v2.1格式
2. 使用环境变量:{{BASE_URL}}、{{TOKEN}}
3. 每个用例一个请求
4. 包含Tests脚本进行断言
## 输出格式:
```json
{
"info": {
"name": "接口名称测试集合",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "用例名称",
"request": {
"method": "POST",
"header": [...],
"url": "{{BASE_URL}}/api/xxx",
"body": {...}
},
"response": [],
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test('Status code is 200', function() {",
" pm.response.to.have.status(200);",
"});",
"// 更多断言..."
]
}
}
]
}
]
}```
3.3 JMeter 脚本
请根据上述测试用例,生成JMeter测试计划配置说明。
## 要求:
1. 使用JMeter变量:${BASE_URL}、${TOKEN}
2. 使用HTTP Header Manager
3. 使用JSON Assertion进行断言
4. 说明线程组和取样器配置
## 输出格式:
提供JMeter配置说明文档,包含:
- 测试计划结构
- 线程组配置
- HTTP请求配置
- 断言配置
- 变量配置
四、人工审核提示词
请帮我审核以下AI生成的测试用例和脚本:
## 审核维度
### 1. 基础信息核对
- [ ] 接口路径是否正确
- [ ] 请求方式是否正确
- [ ] 请求头是否完整
### 2. 参数合规性检查
- [ ] 参数类型是否与文档一致
- [ ] 必填参数是否正确处理
- [ ] 枚举值是否在合法范围内
- [ ] 参数示例值是否合理
### 3. 断言完整性检查
- [ ] 是否包含HTTP状态码断言
- [ ] 是否包含业务code断言
- [ ] 是否包含关键字段存在性断言
- [ ] 断言预期值是否正确
### 4. 依赖关系检查
- [ ] 是否正确标注上下游接口依赖
- [ ] 是否正确处理Token传递
- [ ] 是否正确处理数据关联
### 5. 场景覆盖率检查
- [ ] 正向场景是否覆盖
- [ ] 参数异常场景是否覆盖
- [ ] 权限安全场景是否覆盖
- [ ] 边界条件场景是否覆盖
## 审核结果
请输出:
1. 发现的问题列表
2. 修改建议
3. 需要人工确认的点
五、固定提示词模板(可复用)
将以下内容保存为固定模板,每次使用时填入具体接口信息:
# 接口测试用例生成任务
## 固定配置(公司规范)
- 环境域名:${BASE_URL}
- 认证方式:Bearer Token
- 公共请求头:
- Content-Type: application/json
- Authorization: Bearer ${TOKEN}
- X-Request-ID: ${REQUEST_ID}
## 公共断言规则
- HTTP状态码必须为200
- 业务code字段必须存在
- message字段必须存在
- 时间戳字段格式必须为ISO 8601
## 公共异常场景
- 无Token请求返回401
- Token过期返回401
- 参数校验失败返回400
- 服务器错误返回500
---
## 当前接口信息
### 基础信息
- 接口名称:[填写]
- 接口路径:[填写]
- 请求方式:[填写]
### 入参定义
[填写参数表格]
### 出参定义
[填写返回字段表格]
### 业务说明
[填写业务功能和依赖关系]
---
请生成:
1. 结构化测试用例表格
2. Python requests格式脚本
3. 人工审核清单
六、使用建议
- 首次使用:先使用"基础信息收集提示词"确认接口信息完整性
- 场景设计:使用"场景覆盖提示词"生成完整用例
- 脚本生成:根据项目需要选择对应的脚本格式
- 质量把控:使用"人工审核提示词"进行校验
- 持续优化:将常用配置保存为"固定提示词模板",提升效率