💊
接口测试
  • 接口概论:应用程序编程接口(application programming interface , api),预先定义的函数或软件系统不同组成部分(子系统OR模块)衔接的约定
  • 测试金字塔模型:Unit(单元,白盒)> Service(接口集成,黑盒)> UI(系统)
api文档
属于概要设计阶段
内容
接口说明
调用URL
请求方法
请求参数
参数类型
说明
请求header
返回参数说明
请求响应代码
响应内容
http超文本传输协议
应用层协议
请求 / 响应(request / response) 机制
client <-------> server
抓包:wireshark、fildder
request
  • 请求行 request line : method,URI,协议/版本
  • header:描述请求细节,键值对
  • body:请求传输的数据信息
response
  • 状态行 response line:协议/版本,状态码,描述
  • header
  • body
URL/URI
协议://{主机名:端口号}/路径/资源文件名?参数名=参数值
通用接口用例设计
通过性验证:首先肯定要保证这个接口功能是正确的,也就是正常的通过性测试,按照接口文档上的参数,正常传入,是否可以返回正确的结果
 
参数组合:现在有一个操作商品的接口,有个字段type,type传1的时候代表修改商品,商品id、商品名称、价格有一个是必传的,这样就要测参数组合了,type传1的时候,只传商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。
 
接口安全
绕过验证:如购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加
绕过身份授权:如修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,传一个其他的卖家能不能修改成功
参数是否加密:如登陆的接口,用户名和密码是不是加密,如果不加密的话,别人拦截到你的请求,就能获取到你的信息。加密规则是否容易破解
密码安全规则:对密码的复杂程度校验
 
异常验证:就是不按照接口文档上的要求输入参数,来验证接口对异常情况的校验
接口测试流程
1.熟悉业务流程
2.分析接口文档
3.编写接口测试用例
4.提出测试并开始
5.提交测试报告
接口测试的核心工作
1.request 构建接口请求
2.response 获取接口响应
3.validation 校验响应结果
  • 接口测试:主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,重点在于检查数据的交换和传递和控制管理的过程

  • 分类
    • 程序接口(代码接口)
    • 协议接口(http协议)
      http接口
      http(s) -> json
      工具:SoapUI ,jmeter,loadrunner....
      WebService
      SOAP -> xml
      工具:postman,RESTClient,jmeter,loadrunner....