接口自动化-接口测试初介

Posted starlight-yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口自动化-接口测试初介相关的知识,希望对你有一定的参考价值。

前期针对接口测试做了些整理分享,本文主要介绍接口测试基础内容。后续会针对接口自动化(Jmeter,RobotFramework,其实Postman也可以)以及持续集成做相关介绍。

接口测试定义

接口测试是测试系统组件间接口的一种测试。

接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。

测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

为什么做接口测试

  • 系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降;
  • 单一产品之间的测试已不能满足质量需求,产品与产品之间的互动也要保障,跨产品的联调必不可少,之间的桥梁更多是接口;
  • 系统前后端分析是很普遍的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求, 后端同样需要进行控制,这种情况下更多是接口验证。
  • 接口测试相对简单且容易实现自动化持续集成,相对UI自动化更加稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持快速迭代发版的需求。

接口的分类

  • web service接口,走soap协议通过http传输,请求报文和返回报文都是xml格式的,测试时通过工具soapUI进行测试。
  • http api接口,走http传输协议,通过路径来区分调用的方法,最常用的是get和post请求,其它PUT/DELETER/HEAD等。

GET和POST请求 get请求,直接在浏览器里输入 只要在浏览器里面直接能请求到的,都是get请求。

post的请求,需要借助工具来发送body。

GET请求和POST请求的区别

  1. GET使用URL或Cookie传参。而POST将数据放在BODY中。
  2. GET的URL会有长度上的限制,不能大于2KB,POST的数据则可以非常大。
  3. POST比GET安全,因为数据在地址栏上不可见。
  4. 一般get请求用来获取数据,post请求用来发送数据。

接口测试相关工具

接口测试工具:SoapUI/Jmeter/Postman/等

接口管理工具:RAP/Postman/swagger等

抓包工具:fiddler/Httpwatch/wireshark/Charles等

接口测试过程

需求评审->接口定义->用例设计->测试执行->结果分析

接口测试用例

接口测试用例包含三部分:

  1. 纯接口的校验(主要包含每个参数合法性校验、输入输出是否合法等,基本对照API文档即可)
  2. 基于业务场景的(正常场景、异常场景,一般包含多接口调用)
  3. 接口性能、安全等方面

接口文档规范

通常比较规范的接口文档都应该具备类似下图中的特点: 包含接口名,参数名,参数类型,参数含义说明,取值限制,是否可空等

接口测试注意点

接口不关注内部具体实现---过程,而是关注功能实现---结果。

接口测试质量评估

  1. 业务功能是否完整
  2. 参数验证是否达到要求(边界、类型、长度、格式等) 
  3. 接口异常场景覆盖是否完整      
  4. 性能指标是否满足要求   
  5. 安全指标是否满足要求

以上是关于接口自动化-接口测试初介的主要内容,如果未能解决你的问题,请参考以下文章

(三)接口自动化测试平台之——测试集合接口测试交互页面设计

面面俱到的Java接口自动化测试实战

接口自动化测试

最全面的Java接口自动化测试实战

最全面的Java接口自动化测试实战

Python接口自动化之登录接口测试