接口测试的必要性:发现前台测试发现不了的问题、检查系统的异常处理能力、检查系统的安全性和稳定性
接口测试的用例设计主要覆盖面:
通过性验证:确保正常输入时,接口正常工作
参数组合:多个参数时,组合输入参数检查接口返回结果是否符合接口文档描述
接口安全:主要有绕过验证、绕过身份验证、参数加密验证、密码复杂性验证
接口异常性验证:主要异常类型:必传非必传、参数类型、入参长度
根据业务逻辑设计用例
常用的接口测试工具:Postman、Jmeter、SoupUI
基本概念定义:
1、接口:分为程序内部接口和系统对外接口,我们常做的接口测试主要指系统对外接口的测试,即测试本系统与外部系统之间的交互点,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等
2、前端:如web端的网页以及APP端的页面,负责前台页面的显示
3、后端:负责后台的业务逻辑、功能等的处理,前端通过接口调用实现与后台的交互
4、接口分类:webservice接口和http api接口,其中:
webservice接口:走soap协议通过http传输,请求报文和返回报文都是xml格式,可以使用soupui工具进行模拟测试
http api:走http协议,常用的请求方式有GET和POST,通过路径来区分调用的方法,请求报文一般都是key-value形式的,返回报文一般都是json串
{ HTTP只负责把数据传送过去,不会管这个数据是XML、HTML、图片、文本文件或者别的什么。而SOAP协议则定义了怎么把一个对象变成XML文本,在远程如何调用等,怎么能够混为一谈。
这样说两种协议(soap协议和http协议):
HTTP就是邮局的协议,他们规定了你的信封要怎么写,要贴多少邮票等。。。。
SOAP就是你们之间交流的协议,负责把你所需要表达的意思写在信纸上,同时也负责让对方能够看得懂你的信。
Web service一般就是用SOAP协议通过HTTP来调用它,其实他就是一个WSDL文档,客户都可以阅读WSDL文档来用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。
webService协议主要包括两个方面:传输协议和数据表示,关于传输协议可以是http或其他,数据表示也可以是键值对、xml或其他,只不过现在通用的是http+soap,当然其他的也可以,不知道这样理解对不对? SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。}
5、json:通用数据类型,什么语言都认识他,所有接口返回的都是json串,json串中字符串类型的参数值必须使用双引号,其他类型可以不添加,如:
例:{"name":"nina","data":1212}
6、GET请求:主要用来获取数据,可以直接在浏览器输入,根据浏览器和服务器的不同URL的输入长度也不同
7、Post请求:主要用来发送数据,如登录时需要传参,需要借助工具发送
8、接口规范文档:接口测试的依据,主要包含接口说明、调用url、请求方法、请求参数说明(参数名、参数类型)、返回参数说明
9、header:是服务器以http协议传html资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔
10、http状态码:发出http请求,响应中会有状态码,常用状态码如下:
2开头的都表示这个请求发送成功,200代表这个请求发送成功且服务器也返回了
3开头的代表重定向,30