接口测试分类:
1. 用户界面UI、图形用户界面GUI,一般是手工操作
2. 消息交互接口
- diameter、radius 比如电信鉴权 - socket tcp
- 基于soap的web server - HTTP
- REST API - HTTP (Web API 测试) ------------ 应用最多的接口
3. 编程接口,各种语言的开发包
接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。
系统对外的接口:比如你要从别的网站或者服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们使用的app,网址这些它在进行数据处理的时候就是通过接口来进行条用的。
程序内部的接口:方法与方法之间,模块与模块之间的交流,程序内部抛出的接口,比如bbs系统,有登陆模块,发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互,就会抛出一个接口供内部系统进程调用。
通俗说,咱们测试的都是程序对外的接口。接口其实就是各种操作数据库。
Web UI测试是否需要测试接口?
--- 看接口是否是外部接口,接口是否暴露出去,如果不暴露出去不需要测试
接口测试的概念:
测试系统组件间接口的一种测试,接口测试主要用于检测内部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交互,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口文档应该包含以下几点:
1.url地址,这个必须有
2.请求方式post还是get
3.入参(所谓入参就是请求参数)
4.返回参数。
5.请求,返回示例。
6.状态码说明。
接口测试的必要性:
1.可以发现很多在页面操作发现不了的bug.
2.检查系统的异常处理能力。
3.检查系统的安全性,稳定性。
4.前端随便变,接口测试好了,后端不用变。
接口测试的流程:
1.需求评审,熟悉业务和需求。
2.开发提供接口文档。
3.编写接口测试用例。
4.用例评审。
5.提测后开始测试。
6.提交测试报告。
怎么测接口-http接口:
由于前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。
工具有很多如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。
也可以用接口自动化来实现,就是用代码实现,框架和UI自动化差不多,发送请求用断言来判断。