Skip to content

Latest commit

 

History

History
274 lines (222 loc) · 7.69 KB

File metadata and controls

274 lines (222 loc) · 7.69 KB

🔌 接口测试指南

接口测试是巧克力测试平台的核心功能之一。本指南将带你深入了解如何进行高效的API测试,让你的接口测试变得简单而有趣!

🎯 接口测试概览

什么是接口测试?

接口测试是验证系统各个模块间接口的正确性、稳定性和安全性的测试方法。简单来说,就是检查API是否按预期工作。

平台支持的测试类型

  • RESTful API测试 - GET、POST、PUT、DELETE等
  • 🔐 认证测试 - Token、Session等认证方式
  • 📊 数据验证 - 响应数据格式和内容验证
  • 性能测试 - 响应时间和并发测试
  • 🔄 自动化测试 - 定时执行和CI/CD集成

📝 测试用例管理

同步测试用例

平台可以自动从后端代码中同步测试用例,这是最高效的方式!

操作步骤

  1. 进入 "接口测试""用例管理"
  2. 点击 "同步测试用例" 按钮
  3. 选择要同步的模块(可多选)
  4. 点击 "开始同步"
  5. 等待同步完成

同步原理

# 后端代码示例
def test_user_login():
    """用户登录接口测试"""
    # 测试逻辑
    pass

def test_user_register():
    """用户注册接口测试"""
    # 测试逻辑
    pass

平台会扫描这些以 test_ 开头的函数,自动生成测试用例。

查看和管理用例

用例列表功能

  • 筛选功能: 按模块、场景、标签筛选
  • 搜索功能: 支持用例名称和描述搜索
  • 批量操作: 批量选择、删除、导出
  • 详情查看: 点击用例名称查看详细信息

用例详情信息

用例ID: 001
用例名称: test_user_login
所属模块: user_module
测试场景: 用户登录
路径描述: /api/user/login
标签: login, auth
更新时间: 2024-01-01 10:00:00

📦 测试套件管理

测试套件是将相关测试用例组织在一起的容器,就像把相关的测试"打包"成一个整体。

创建测试套件

基本信息配置

套件名称: 用户模块测试套件
套件描述: 包含用户注册、登录、信息修改等功能测试
所属项目: 选择对应项目
测试类型: 接口测试
测试环境: dev/test/prod

选择测试用例

  1. 按模块选择: 选择整个模块的所有用例
  2. 按场景选择: 选择特定业务场景的用例
  3. 自定义选择: 手动勾选需要的用例
  4. 智能推荐: 系统根据历史数据推荐相关用例

套件配置选项

  • 执行顺序: 串行执行 / 并行执行
  • 失败策略: 遇到失败继续 / 遇到失败停止
  • 重试机制: 失败重试次数和间隔
  • 超时设置: 单个用例和整体超时时间

🏃‍♂️ 运行测试 {#运行测试}

手动执行测试

执行单个用例

  1. 在用例列表中找到目标用例
  2. 点击 "运行" 按钮
  3. 选择测试环境
  4. 点击 "开始执行"

执行测试套件

  1. 进入 "套件管理"
  2. 找到目标套件
  3. 点击 "运行" 按钮
  4. 配置执行参数:
    测试环境: dev
    并发数: 1
    重试次数: 0
    超时时间: 30秒
    
  5. 点击 "开始执行"

批量执行测试

  • 选择多个套件: 勾选多个套件批量执行
  • 按项目执行: 执行整个项目的所有套件
  • 按环境执行: 在指定环境中执行所有相关测试

实时监控执行过程

执行过程中可以实时查看:

  • 📊 执行进度: 当前执行到第几个用例
  • ⏱️ 执行时间: 已用时间和预估剩余时间
  • 成功数量: 已通过的用例数
  • 失败数量: 失败的用例数
  • 🔄 执行状态: 运行中/已完成/已停止

📊 测试报告 {#测试报告}

执行结果概览

执行时间: 2024-01-01 14:30:00
执行环境: dev
总用例数: 50
通过数量: 45
失败数量: 3
跳过数量: 2
通过率: 90%
执行时长: 2分30秒

详细结果分析

成功用例信息

  • 用例名称: test_user_login
  • ⏱️ 执行时间: 0.5秒
  • 📝 响应数据: JSON格式响应内容
  • 🔍 断言结果: 所有断言通过

失败用例信息

  • 用例名称: test_user_register
  • ⏱️ 执行时间: 2.1秒
  • 🚨 错误信息: 邮箱格式验证失败
  • 📝 错误详情:
    AssertionError: Expected status code 200, got 400
    Response: {"error": "Invalid email format"}
    
  • 🔧 建议修复: 检查邮箱格式验证逻辑

报告导出功能

  • PDF报告: 适合打印和存档
  • Excel报告: 便于数据分析
  • HTML报告: 在线查看和分享
  • JSON数据: 用于系统集成

🔄 自动化测试

定时执行

通过测试计划实现定时自动执行:

创建定时计划

计划名称: 每日回归测试
执行套件: 核心功能测试套件
执行环境: test
定时规则: 0 2 * * * (每天凌晨2点)
通知方式: 邮件 + 钉钉

Cron表达式说明

0 2 * * *     # 每天凌晨2点
0 */4 * * *   # 每4小时执行一次
0 9 * * 1-5   # 工作日上午9点
0 0 1 * *     # 每月1号零点

CI/CD集成

平台提供API接口,可以轻松集成到CI/CD流水线中:

# Jenkins Pipeline 示例
curl -X POST "http://test-platform/api/auto_pytest/run_suite" \
  -H "Authorization: Bearer ${TOKEN}" \
  -d '{"suite_id": 123, "env": "test"}'

🎯 高级功能

参数化测试

支持使用变量和参数化数据:

{
  "test_data": [
    {"username": "user1", "password": "pass1"},
    {"username": "user2", "password": "pass2"}
  ],
  "environment_vars": {
    "base_url": "http://api.example.com",
    "api_key": "${API_KEY}"
  }
}

数据驱动测试

  • Excel数据源: 从Excel文件读取测试数据
  • 数据库数据源: 从数据库查询测试数据
  • API数据源: 从其他API获取测试数据

断言增强

  • JSON路径断言: 验证JSON响应中的特定字段
  • 正则表达式断言: 使用正则表达式验证响应内容
  • 数据库断言: 验证数据库中的数据变化
  • 自定义断言: 编写自定义验证逻辑

🔧 故障排除

常见问题及解决方案

测试用例同步失败

问题: 点击同步按钮后没有反应 解决方案:

  1. 检查后端服务是否正常运行
  2. 确认测试代码格式是否正确
  3. 查看浏览器控制台错误信息
  4. 检查网络连接状态

测试执行失败

问题: 测试用例执行时报错 解决方案:

  1. 检查测试环境配置是否正确
  2. 确认API接口是否可访问
  3. 验证测试数据是否有效
  4. 查看详细错误日志

测试结果不准确

问题: 测试结果与预期不符 解决方案:

  1. 检查断言逻辑是否正确
  2. 确认测试数据是否符合预期
  3. 验证环境配置是否一致
  4. 检查API接口返回数据格式

💡 最佳实践

用例设计原则

  1. 单一职责: 每个用例只测试一个功能点
  2. 独立性: 用例之间不应该有依赖关系
  3. 可重复: 用例应该可以重复执行
  4. 清晰命名: 用例名称应该清楚表达测试目的

套件组织建议

  1. 按模块组织: 将同一模块的用例放在一个套件中
  2. 按场景组织: 将同一业务场景的用例组织在一起
  3. 按优先级组织: 区分冒烟测试、回归测试等不同级别

执行策略推荐

  1. 冒烟测试: 每次部署后快速验证核心功能
  2. 回归测试: 定期执行全量测试确保功能稳定
  3. 专项测试: 针对特定功能或场景的深度测试

🎉 恭喜! 你已经掌握了接口测试的核心技能。接下来可以尝试 压力测试 或深入学习 测试管理