接口测试基础
一,接口概述
接口是用来连接客户端与服务端。接口一般返回的数据格式是json,比较通用。
接口测试,首先我们要知道接口的地址:url、请求方式、请求参数等
一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。
系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就 使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的。
程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖就得登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。--这种接口测试一般由开发来完成
http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。
--get、post的区别:get是获取数据,host是提交数据;post比get稍微安全些,get请求在地址栏可见,post不可见,要通过抓包的方式来获取
1、get请求比post请求安全
2、get请求参数有长度限制,post请求没有
3、get请求没有body,参数都是放在url里面的,而post请求参数是放在body里面的。
--接口测试的必要性:
1、可以发现很多在页面上操作发现不了的bug
2、检查系统的异常处理能力
3、检查系统的安全性、稳定性
4、前端随便变,接口测好了,后端不用变
--接口测试的一般流程:
1、需求评审,熟悉业务和需求
2、开发提供接口文档
3、编写接口测试用例
4、用例评审
5、提测后开始测试
6、提交测试报告
http协议测试:
--接口的调用
1.key-value形式拼接:例如:xx?id=1&money=100
2.json串:例如{"id":1}
--接口状态码
每发出一个http请求之后,都会有一个响应,http本身会有一个状态码,来标示这个请求是否成功,常见的状态码有以下几种:
1、200 2开头的都表示这个请求发送成功,最常见的就是200,就代表这个请求是ok的,服务器也返回了。
2、300 3开头的代表重定向,最常见的是302,把这个请求重定向到别的地方了,
3、400 400代表客户端发送的请求有语法错误,401代表访问的页面没有授权,403表示没有权限访问这个页面,404代表没有这个页面
4、500 5开头的代表服务器有异常,500代表服务器内部异常,504代表服务器端超时,没返回结果
--测试工具有:postman、restlient、jmeter等
webservice协议一般用soapui来测试,直接导入webservice的地址或者wsdl文件,然后填入参数调用,看返回结果
二、测试工具
1、key value 形式的参数
2、json串类型的参数
3、http请求加权限验证
4、请求头header,一般请求头里面放一些额外的信息,比如说cookie、用的是什么浏览器
5、上传文件
一般的http接口测试是以上几种类型,可利用postman、jmeter来测试
--postman
1、key value 形式
url拼接或者 在body里写入 入参(from-data)
2.json串类型的参数
body-raw-输入json串
3.http请求加权限验证
4.增加header
header-添加请求头
5.增加cookie
header-添加cookie
6.上传文件
body-将text改成file。选择文件上传