plumrx 的博客

Plumrx

构建接口测试体系.md

构建接口测试体系思维

一、关键知识点

  1. Q:互联网产品的测试策略和传统软件产品的测试策略有何不同?
    A:通常,互联网产品全量回归不能超过4小时。引入并发执行机制,从测试策略上找到突破口。传统偏向于金字塔模型,互联网偏向于棱形模型。

  2. Q:接口是什么,接口测试是什么、测什么、如何测?

  • 接口的本质就是契约,约定输入输出。根据服务对象不同,可分为内部、外部接口。
  • 模拟调用方,通过接口通信来检测北侧接口的正确性和容错性。
  • 准备测试数据;发起被测 api 的请求;验证返回结果。
  1. Q:没有接口文档怎么办?
  • 工具辅助
    抓包工具:Fiddler Charles
  • 分析问题
    关注响应头,响应体
  • 询问疑惑
    参数的含义及来源、参数的作用域、返回值含义
  • 业务流程多接口串行分析
  1. Q:测试尽早介入可以做什么?
    A:流程上,相关评审参与;接口测试先行。

二、常见接口测试场景

  1. 被测业务由多个 API 调用协作完成?
  • 打乱调用顺序;
  1. API 依赖第三方?
  • mock第三方接口;
  1. 异步 API 的测试?
  • 异步调用是否成功,通过后台线程检查;
  • 验证业务逻辑是否正确,访问请求消息存储位置;

三、实践样例

  1. 明确被测系统
    地址:https://github.com/zhoujinjian/Battle
    主要业务逻辑:通过接口模拟两个角色决斗,最后得到输赢结果。进入系统后,选择武器,选择敌人
  • 安装教程:

    pip3 install bottle
    pip3 install beaker

  • 系统运行方法:

    python init.py

  1. 开始接口测试:单接口
    验证每一个接口都正确性和健壮性,可使用工具 postman。

  2. 业务流程接口测试
    保障通过多个接口的串联操作,可以完成原来需求中提出的业务逻辑。

  3. 自动化测试
    接口测试和持续集成结合起来。postman可以借助 Newman工具持续集成。