1、为何要作接口测试
在平常开发过程当中,有人作前端开发,有人负责后端开发。接口就是链接先后台,因为前端开发和后端开发的速度可能不同,例如后端开发好了,可是前端没有开发。那么咱们是否是就不须要测试呢?通常咱们大部分人都是作功能测试,不少是界面的功能测试。若是你理解了接口测试,那么你就能够针对接口进行测试。前端
2、什么是接口、什么是接口测试
接口:主要是子模块或者子系统间交互并相互做用的部分。java
这里说的接口是广义的,客户端与后台服务间的协议;插件间通讯的接口;模块间的接口;再小到一个类提供的方法;均可以理解为接口。后端
接口测试:是指针对模块或系统间接口进行的测试。api
3、接口测试流程
需求讨论,需求评审,场景设计,编写用列,准备数据,执行测试数组
4、接口测试用例设计
1接口测试的用例设计,主要从输入和接口处理两方面考虑:安全
1)针对输入,可按照参数类型进行设计;服务器
2)针对接口处理,可按照逻辑进行用例设计;cookie
3)针对输出,可根据结果进行分析设计。并发
2针对输入设计框架
对于接口来讲,输入就是入参。常见参数类型有:
(1)数值型(int,long,float,double等)
(2)字符串类型
(3)数组或链表
(4)结构体
五.怎么进行接口测试
经过工具模拟客户端向服务端发送请求并接受服务器返回的数据来对接口的功能,逻辑业务,异常,安全进行测试
功能测试:测试这个接口的功能是否实现,而且测试这个接口是否按照接口文档来进行开发的(好比说接口文档规定了一些关键字,而开大的时候把关键字改为了其余的关键字,由于在整个项目周期,并不仅有一个开发而是有多个,因此可能由于在开发过程当中由于关键字不同致使某些开发的功能异常,还有自动化脚本也会发生异常)
逻辑业务,主要指的是一些逻辑业务依赖关系(好比支付宝提交订单的时候要保证你是在登陆的状况下,若是你没有登陆而提交成功了,这就是异常,能够修改请求的cookie来测试)
异常测试:参数异常:关键字参数(应用其余的关键字替换进行测试)、参数为空、参数多少(经过添加参数增添个数),参数错误。数据异常:关键字数据(填入的数据用其余的数据语言的数据替用)、数据长度、数据为空、数据错误。
因为咱们项目先后端调用主要是基于http协议的接口,因此测试接口时主要是经过工具或代码模拟http请求的发送与接收。工具备不少如:apipost、jmeter、java+httpclient、robotframework+httplibrary等。
–也能够用 接口自动化来实现,就是用代码实现,框架和UI自动化差很少,发送请求用断言来判断。
6、接口测试须要用到的工具
接口测试经常使用的工具,fiddler抓取请求,apipost模拟客户端经过对fiddler抓取的请求修改并发送到服务端并接收服务器返回的数据及异常来进行验证接口。工具不是固定的,须要根据项目来进行选择。
7、接口测试发现的典型问题
接口测试常常遇到的bug和问题,以下:
(1)传入参数处理不当,致使程序crash;
(2)类型溢出,致使数据读出和写入不一致;
(3)因对象权限未进行校验,能够访问其余用户敏感信息;
(4)状态处理不当,致使逻辑出现错乱;
(5)逻辑校验不完善,可利用漏洞获取非正当利益等。
工具下载连接: