一:接口定义与常见接口
1.接口一般有二种:一种是程序内部的接口,另一种是系统对外的接口
程序内部接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,如CSDN模块需登录才能写博客,写博客与登录模块之间就有一个交互,就会抛出一个接口供内部系统调用
系统对外接口:引用别的网站的资源和信息,对方只能提供一个写好的方法来获取数据,引用对方提供的接口使用他写好的方法达到数据共享的目的。
2.常见接口
(1)http api接口:http协议,请求报文是key-value形式,返回报文一般是json串,有get和post二种方法,常用工具有postman,jmeter,loadrunner等
(2)webservice接口:soap协议通过http传输,请求报文和返回报文都是xml格式,常用工具:soapUI,jmeter,loadrunner等
二:接口测试
1.接口测试:测试系统组件间接口的一种测试,主要检测外部系统与系统之间以及内部各个子系统之间的交互点;以数据驱动的视角来看接口测试,接口测试就是按约定的格式(接口)给待测软件传入某种数据,之后检查接口给的返回值是否正确。
2.接口组成
接口文档包括:接口说明,调用url,请求方法(get/post),请求参数/参数类型/请求参数说明,返回参数说明。故接口至少有请求地址,请求方法,请求参数(入参和出参)组成。部分接口有请求头header。标头 (header):是服务器以HTTP协议传HTML资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔,一般存放cookie、token等信息
3.接口测试方法
(1)get与post请求
区别:a. GET使用URL或Cookie传参。而POST将数据放在BODY中。
b. GET的URL会有长度上的限制,则POST的数据则可以非常大。
c. POST比GET安全,因为数据在地址栏上不可见。
d. 一般get请求用来获取数据,post请求用来发送数据。
(2)http状态码
每发出一个http请求之后,都会有一个响应,http本身会有一个状态码,来标示这个请求是否成功,常见的状态码有以下几种:200 2开头的都表示这个请求发送成功,300 3开头的代表重定向,400 400代表客户端发送的请求有语法错误*
(3)接口测试流程
1)获取接口信息:通过接口文档和抓包来获取接口的基本调用方式和返回
2)接口测试用例设计:根据获取到的接口信息,按照接口测试用例设计方法,设计参数和预期返回结果
3)接口发包:使用工具或者编程向接口传递参数
4)返回信息验证:获取接口返回的结果,进行解析和验证