接口测试基础知识整理

1.接口测试的定义

接口测试是测试系统组件间接口的一种测试,主要用于检测外部系统和系统之间,以及内部各个子系统之间的交互点。

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

对计算机而言,接口一般分为两种:一种是程序内部几口,另一种是系统对外的接口。

2.接口测试的目的

(1)检查UI界面无法发现的Bug;

(2)检查系统的安全性和稳定性;

(3)相对UI自动化测试,接口测试比较稳定,容易实现自动化持续集成;

(4)尽早发现系统的底层缺陷,降低修复成本;

(5)缩短测试周期,支持后端快速发版的需求;

(6)支持前端的随意变化,后端不用变。

3.接口测试的原理

接口测试原理可以理解为HTTP请求的流程,是指通过测试程序或测试工具模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理,然后把应答报文发送给客户端这一过程。

 

4.接口测试的流程

接口测试本质上属于黑盒测试的范畴,所有接口测试流程和黑盒测试流程大致相同,也需要进行接口需求分析、接口测试用例编写、接口测试工具选择和构造请求并执行测试等工作。

接口测试具体流程如下:

(1)接口需求分析

接口测试在开发阶段进行,一般需要根据开发提供的接口文档对接口文档内容进行充分阅读。接口文档一般包含接口说明请求地址请求方式(GET、POST最为常见)、请求参数参数类型参数的 约束正常的响应报文异常的响应报文等信息;

(2)接口测试用例编写

编写接口测试用例时一般会从以下几个方面来考虑:等价类边界值分析测试参数组合验证接口安全验证业务逻辑验证等。

  a.等价类、边界值分析测试:检查传入的参数合法或不合法、是否为空、参数是否可以包含特殊字符、输入数值范围及数值大小等。

  b.参数组合验证:有时传入的参数分为必传参数和非必传参数,这时要考虑多组排列组合的多种测试情况。

  c.接口安全验证:一般为绕过验证,典型的例子就是抓包、修改订单价格。首先,查看后端是否校验;其次,检查参数是否加密,一般是在登录接口检查。

  d.业务逻辑验证:存在上下游依赖关系。如没有登录就查询订单信息是不可能的,接口之间相互依赖。

(3)接口测试工具选择

现在大部分项目都是基于HTTP的接口,所以进行接口测试时主要是通过工具或代码模拟HTTP请求的发送与接收。

常用接口测试工具有很多,如Postman、Jmeter、SoupUI、LoadRunner、RobotFramework + RequestsLibrary、Java + HttpClient和Python + Requests等。

接口测试工具推荐使用Postman和Jmeter,两者在安装、使用上更为简单便捷。

(4)构造请求并执行测试

根据接口测试用例设计执行测试,检查接口返回的数据是否达到预期。

 

posted @ 2020-03-11 10:19  Mr.Gavin  阅读(567)  评论(0)    收藏  举报