AI Engineering |接口测试用例生成提示词模板

5 阅读5分钟

接口测试用例生成提示词模板

一、基础信息收集提示词

你是一位专业的接口测试工程师。请帮我分析以下接口,并生成完整的测试用例。

## 接口基础信息
- 接口名称:[填写接口名称]
- 接口路径:[填写路径,如 /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. 人工审核清单

六、使用建议

  1. 首次使用:先使用"基础信息收集提示词"确认接口信息完整性
  2. 场景设计:使用"场景覆盖提示词"生成完整用例
  3. 脚本生成:根据项目需要选择对应的脚本格式
  4. 质量把控:使用"人工审核提示词"进行校验
  5. 持续优化:将常用配置保存为"固定提示词模板",提升效率