接口测试

一、什么是接口测试(接口返回的数据都是json格式的)

1)接口一般来说有两种:程序内部的接口和系统对外的接口

最常用的两种接口就是webservice接口和http api接口

说白了接口测试就是功能测试,基本上测的都是程序对外部的接口,就是各种操作数据库;

2)前端和后端通过接口进行交互:通用的数据类型json

前端(客户端):一般是HTML、css写的

后端(服务端、server端):一般是java、php、Python开发的

 二、接口如何测试

测试接口,必须得有接口文档,包括:

1、url

2、请求方式post、get

如果是get请求,直接用浏览器就能发不需要借助工具

post请求和get请求的区别:

1)、最大的区别:

http请求包括请求头和请求体

get请求只有请求头,没有请求体:get请求的参数放在url或cookie里面

post请求有请求头和请求体,请求参数放到请求体里面;

2)、post请求不一定比get请求安全,通过抓包get和post请求的数据都可以抓到

3)、get请求参数有限制这种说法目前已不准确:get请求浏览器已无限制无所谓了;

4)、get请求主要是用来获取数据,post请求用来发送数据;

3、入参(请求参数)

4、返回参数

5、请求、返回示例

6、状态码

三、接口测试的必要性

接口测试可以发现一些页面上操作发现不了的bug,越早发现bug,解决bug的成本越低;

检查系统的安全性、稳定性

检查系统的异常处理能力

前端随便变了,接口测试好了,后端不用变

四、接口测试流程

1、需求评审,熟悉业务和需求

2、开发提供接口文档

3、编写接口测试用例

4、用例评审

5、提测后开始测试

6、提交测试报告

四、http状态码

每发出一个http请求后都会有一个响应,http本身会有一个状态码来标示这个请求是否成功,常见的状态码:

1、200 2开头的都表示这个请求发送成功,常见的是200就代表这个请求是ok的,服务器也返回了

2、300 3开头的表示重定向,常见的是302,把这个请求重定向到别的地方了(类似电话的呼叫转移)

3、400 400表示客户端发送的请求有语法错误,401表示访问的页面没有授权,403表示没有权限访问这个页面,404表示没有这个页面;

4、500开头的表示服务器异常

五、接口用例设计

1、通过性验证:保证接口功能好使,也就是正常的

2、通过性测试:按照接口文档上的参数,正常传入,是否可以返回正确的结果;

3、参数组合:根据接口文档各个参数之间的组合也需要验证

4、接口安全验证:绕过验证、绕过身份授权、参数是否加密、密码安全规则验证;

5、异常验证:必传非必传、参数类型、入参长度;

6、根据业务逻辑来设计用例;

六、cookie、session、接口签名

1、cookie:存在本地的一个键值对;

2、session:存在服务端的一个键值对;cookie和session相辅相成

3、接口签名:为了防止别人恶意刷请求,它是一个加密后的字符串;

 

posted @ 2018-04-08 15:28  Lamon  阅读(202)  评论(0编辑  收藏  举报