接口测试的分类:
一、从平台划分:
1、外部接口:可以直接访问
2、内部接口:单一功能的
二、通过协议分类:
1、HTTP接口:基于HTTP协议
使用广泛、轻量级、跨平台、跨语言的,但凡是第三方提供的API都会有HTTP版本的接口
2、RPC 接口:基于HTTP、TCP、UDP、自定协议
RPC技术是指远程过程调用,它本质上是一种Client/Server模式,可以像调用本地方法一样去调用远程服务器上的方法,支持多种数据传输方式(Json、XML、Binary、Protobuf等)
3、Web Service 接口:基于HTTP协议的soap协议的封装和补充
Web Service其实是一种概念,我们可以将以WEB形式提供的服务称为Web Service,所以像RESTful、XML-RPC、SOAP等都可以当成是Web Service的一种实现方式。
4、RESTful接口:基于HTTP协议
它不是一种规范,而是一种设计准则,用不同的HTTP动词(GET、POST、DELETE、PUT等)来表达不同的请求。
5、FTP接口:TCP/IP协议组中的一种
文件传输协议,FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。 其中FTP服务器用来存储文件
6、webSocket接口:UDP、TCP
是一个底层的,双向通信协议 ,适合于客户端和服务器端之间信息实时交互
为什么做接口测试:
1、可以发现通过前端页面发现不了的问题
2、测试可以提前介入项目流程,提高项目测试效率
3、检测外部系统与系统之间以及内部各个子系统之间的交互点
4、通过接口测试,可以保证接口的上下游之间数据交换、传递及控制逻辑正常,以及接口上下游的依赖关系
5、通过接口测试,可以更好的完善测试覆盖率
6、可以mock数据,测试更加灵活
7、相较于前端页面,接口变动较小,节约成本
怎么做接口测试:
1、参数组合(传入不同值)
2、接口安全(绕过验证/绕过身份验证/参数是否加密等)
3、异常验证(输入异常参数边界值、弱网/断网等)
4、权限的限制(管理员,普通用户等)
5、接口性能(接口并发数、没秒处理事物数、响应时间、硬件资源占用等)
备注:也可通过工具进行测试,如:Charles、Jmeter、Fiddler等