软件测试接口测试从入门到精通:接口功能测试实战 - 从理论到实践
2026/6/16 3:39:50 网站建设 项目流程

文章目录

  • 10 接口功能测试实战 - 从理论到实践
    • 10.1 测试对象介绍
      • 电商系统接口
      • 测试环境
    • 10.2 测试流程
    • 10.3 模块一:用户模块测试
      • 接口列表
      • 注册接口测试
      • 登录接口测试
    • 10.4 模块二:商品模块测试
      • 接口列表
      • 商品列表测试
    • 10.5 模块三:购物车模块测试
      • 接口列表
      • 加入购物车测试
    • 10.6 模块四:订单模块测试
      • 下单流程
      • 创建订单测试
    • 10.7 测试执行记录
      • 测试记录表
    • 10.8 缺陷报告示例
      • 缺陷报告
    • 10.9 本章小结
      • 实战要点
      • 课后练习 📝
    • 10.10 下章预告

10 接口功能测试实战 - 从理论到实践

🎯本章目标:通过一个完整的电商系统接口测试案例,掌握接口测试的完整流程。


10.1 测试对象介绍

电商系统接口

我们将测试一个简化的电商系统,包含以下模块:

电商系统

用户模块

商品模块

购物车模块

订单模块

支付模块

注册/登录

商品列表/详情

加购/修改数量

创建/查询订单

支付/退款

测试环境

Base URL: https://api-shop.example.com 版本: v1 数据格式: JSON 认证方式: Bearer Token

10.2 测试流程

需求分析

接口文档分析

用例设计

环境准备

执行测试

缺陷提交

回归测试

测试报告


10.3 模块一:用户模块测试

接口列表

接口方法路径说明
注册POST/api/v1/users创建新用户
登录POST/api/v1/auth/login用户登录
获取信息GET/api/v1/users/me获取当前用户

注册接口测试

正常场景

curl-XPOST https://api-shop.example.com/api/v1/users\-H"Content-Type: application/json"\-d'{ "username": "testuser001", "email": "test001@example.com", "password": "123456" }'

预期响应

{"code":0,"message":"注册成功","data":{"id":10001,"username":"testuser001","email":"test001@example.com"}}

异常场景测试

场景请求预期状态码预期响应
用户名已存在相同username409用户名已存在
邮箱已存在相同email409邮箱已存在
用户名过短“ab”400用户名3-20位
密码过短“123”400密码6-20位
邮箱格式错误“not-email”400邮箱格式错误

登录接口测试

正常登录

curl-XPOST https://api-shop.example.com/api/v1/auth/login\-H"Content-Type: application/json"\-d'{ "username": "testuser001", "password": "123456" }'

预期响应

{"code":0,"message":"登录成功","data":{"token":"eyJhbGciOiJIUzI1NiIs...","expires":3600}}

10.4 模块二:商品模块测试

接口列表

接口方法路径说明
商品列表GET/api/v1/products分页获取商品
商品详情GET/api/v1/products/{id}获取单个商品

商品列表测试

正常请求

curl"https://api-shop.example.com/api/v1/products?page=1&size=10"

带筛选条件

# 按分类筛选curl"https://api-shop.example.com/api/v1/products?category=phone&page=1&size=10"# 按价格排序curl"https://api-shop.example.com/api/v1/products?sort=price&order=asc"

边界值测试

场景参数预期
page=0page=0返回第一页或错误
page=最大值page=999999返回空列表
size=最大值size=100返回100条
size=超过最大值size=101限制为100或错误

10.5 模块三:购物车模块测试

接口列表

接口方法路径说明
加入购物车POST/api/v1/cart/items添加商品
获取购物车GET/api/v1/cart获取购物车内容
修改数量PUT/api/v1/cart/items/{id}修改商品数量
删除商品DELETE/api/v1/cart/items/{id}删除商品

加入购物车测试

需要认证

curl-XPOST https://api-shop.example.com/api/v1/cart/items\-H"Content-Type: application/json"\-H"Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."\-d'{ "productId": 1001, "quantity": 2 }'

场景测试

场景参数预期
正常加购productId=1001, quantity=2成功,购物车显示
加购不存在商品productId=99999404,商品不存在
数量为0quantity=0400,数量必须大于0
超过库存quantity=9999400,库存不足
未登录无Token401,未认证

10.6 模块四:订单模块测试

下单流程

DBAPIUserDBAPIUserPOST /orders (购物车商品)检查库存库存充足创建订单扣减库存订单创建成功

创建订单测试

正常下单

curl-XPOST https://api-shop.example.com/api/v1/orders\-H"Content-Type: application/json"\-H"Authorization: Bearer token..."\-d'{ "addressId": 1, "remark": "请尽快发货" }'

幂等性测试

# 快速连续提交两次相同请求# 预期:只创建一个订单

10.7 测试执行记录

测试记录表

用例编号模块标题状态备注
USER-001用户正常注册Pass-
USER-002用户重复注册Pass-
USER-003用户用户名过短Pass-
PROD-001商品获取商品列表Pass-
PROD-002商品分页边界值Failpage=0返回500
CART-001购物车正常加购Pass-
CART-002购物车未登录加购Pass返回401
ORDER-001订单正常下单Pass-
ORDER-002订单库存不足Pass返回400

10.8 缺陷报告示例

缺陷报告

缺陷编号: BUG-001 缺陷标题: 分页参数page=0时返回500错误 严重程度: 高 优先级: 高 复现步骤: 1. 调用 GET /api/v1/products?page=0&size=10 2. 观察响应 实际结果: 状态码: 500 响应: {"code":500,"message":"Internal Server Error"} 预期结果: 状态码: 400 响应: {"code":400,"message":"page参数必须大于0"} 或返回第一页数据

10.9 本章小结

实战要点

接口测试实战

准备阶段

理解需求

分析接口文档

准备测试数据

执行阶段

按用例执行

记录结果

提交缺陷

回归阶段

验证修复

重跑用例

更新状态

课后练习 📝

  1. 实践题:使用Postman或curl,完成上述电商系统的接口测试。

  2. 扩展题:为支付模块设计测试用例(支付成功、支付失败、重复支付等)。


10.10 下章预告

下一章我们将学习接口参数化与数据驱动测试!


“理论是灰色的,而实践之树常青。——歌德”

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询