Skip to content

14. 接口测试应该怎么测才算完整

接口测试不是只发请求看返回。

真正的接口测试要覆盖参数校验、业务逻辑、数据一致性、权限安全、异常场景等多个层面。

一、接口测试的核心目标

接口测试主要验证:

  • 接口功能是否正确;
  • 参数校验是否完整;
  • 业务逻辑是否符合预期;
  • 数据是否正确落库;
  • 权限和安全是否到位;
  • 异常场景是否有处理;
  • 性能是否可接受。

只看返回成功是不够的。

二、先确认接口文档

接口测试前要先确认:

  • 接口地址;
  • 请求方法;
  • 请求参数;
  • 响应结构;
  • 业务规则;
  • 权限要求;
  • 异常情况。

如果文档不清楚,要和开发确认后再测。

三、正常场景要先验证

正常场景是接口的基本功能。

要验证:

  • 正确参数是否返回成功;
  • 响应数据结构是否符合文档;
  • 响应字段是否完整;
  • 数据是否正确落库;
  • 关联数据是否正确更新。

比如新增订单接口:

  • 参数正确时是否返回订单 ID;
  • 订单表是否新增记录;
  • 库存是否扣减;
  • 优惠券是否标记已使用。

四、参数校验要覆盖边界和异常

参数校验是接口安全的基础。

要测试:

  • 必填参数为空;
  • 参数类型错误;
  • 参数格式错误;
  • 参数超长;
  • 参数超出范围;
  • 参数组合冲突;
  • 重复参数;
  • 非预期参数。

比如用户注册接口:

  • 手机号为空;
  • 手机号格式错误;
  • 手机号已存在;
  • 密码为空;
  • 密码过短或过长;
  • 邮箱格式错误。

五、业务逻辑要结合规则测试

接口不只是传参数,还有业务规则。

要测试:

  • 业务规则是否正确;
  • 状态流转是否正确;
  • 数量金额是否正确;
  • 关联数据是否正确;
  • 并发操作是否正常;
  • 重复操作是否幂等。

比如优惠券使用接口:

  • 满足门槛才能用;
  • 指定品类才能用;
  • 不可叠加时是否拦截;
  • 过期券是否可用;
  • 已用券是否可用;
  • 并发使用是否正确。

六、权限和安全要专门测试

接口权限测试要覆盖:

  • 未登录是否可调用;
  • 无权限用户是否可调用;
  • 参数篡改是否可绕过;
  • 越权操作是否被拦截;
  • 敏感数据是否暴露;
  • 接口是否可被滥用。

比如删除订单接口:

  • 未登录是否被拦截;
  • 普通用户是否可删除他人订单;
  • 管理员是否可删除任意订单。

七、异常场景要主动补充

接口异常场景往往比正常场景更容易出问题。

要测试:

  • 网络超时;
  • 服务不可用;
  • 数据库连接失败;
  • 第三方接口失败;
  • 数据不存在;
  • 状态不允许;
  • 并发冲突;
  • 重复提交。

比如支付接口:

  • 支付成功;
  • 支付失败;
  • 用户取消;
  • 支付超时;
  • 重复支付。

八、数据一致性要验证

接口操作后要验证数据库:

  • 数据是否正确新增;
  • 数据是否正确更新;
  • 数据是否正确删除;
  • 状态字段是否正确;
  • 金额数量是否正确;
  • 关联表是否一致;
  • 时间戳是否正确。

比如订单支付成功后:

  • 订单表状态是否更新;
  • 支付流水表是否生成;
  • 库存表是否扣减;
  • 优惠券表状态是否更新。

九、性能要有基础意识

接口性能测试可以关注:

  • 响应时间是否正常;
  • 大数据量请求是否超时;
  • 并发请求是否正常;
  • 频繁请求是否被限制。

专业性能测试可以由性能测试团队负责,但功能测试要有基础意识。

十、面试回答模板

可以这样回答:

接口测试我会先确认接口文档,然后从正常场景、参数校验、业务逻辑、权限安全、异常场景和数据一致性几个方面展开。正常场景验证正确参数返回成功、数据落库、关联更新;参数校验覆盖必填为空、类型错误、格式错误、超长、超出范围、组合冲突;业务逻辑结合规则测试门槛、状态、金额、并发、幂等;权限安全测未登录、无权限、越权、参数篡改;异常场景测超时、服务不可用、数据不存在、状态不允许、并发冲突;数据一致性验证数据库记录是否正确;性能关注响应时间、并发、大数据量。

这个回答能体现你有完整的接口测试思路。

十一、下一步建议

建议你把一个熟悉的接口按上面维度重新整理:

  • 接口文档要点;
  • 正常场景清单;
  • 参数校验清单;
  • 业务逻辑规则;
  • 权限安全场景;
  • 异常场景清单;
  • 数据验证点。

Powered by VitePress

🔒 需要口令解锁

关注微信公众号 测开阿Duang
回复关键词 「密码」 获取口令

公众号二维码

解锁后本浏览器长期有效