一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“协议接口的分类”。
一、按系统不同的调用方式进行分类
1.系统与系统之间的接口
系统与系统之间的接口,既可以是公司内部不同系统之间调用的接口,也可以是不同公司不同系统之间调用的接口。
后者如微信、微博所提供的第三方登录接口,如果你开发的系统不想自建用户体系,那么完全可以调用这些接口来实现用户的登录。
2.系统内部,服务与服务之间的调用
大多情况下是指程序之间的调用。
假设系统开发一个用户查询接口,输入用户名,返回用户信息(性别、年龄、手机号、邮箱地址等),如果用户不存在则返回null。
现在需要新开发一个用户抽奖的接口,该接口需要用户名和抽奖活动id,抽奖接口得到用户名后可以调用用户查询接口,如果用户查询接口返回null,那么抽奖接口就可以直接返回用户不存在了。
这个例子中,用户抽奖接口调用的就是用户查询接口。用户查询接口和抽奖接口本质上就是程序开发的函数或方法,提供入参与返回值。
3.下层服务对上层服务的接口
▲ 应用层
可以认为是系统所提供的UI层功能。对于Web系统来说,就是浏览器页面上所提供的功能,如登录、注册、查询、删除等。
▲ Service层
可以理解为服务器所提供数据的处理。
▲ DB层
数据库(DataBase)主要用来存放数据。
▲ 各层之间的调用过程
首先应用层实现了一个用户查询的功能,需要用户输入查询的关键字,并显示查询结果。
当用户使用查询功能时,首先底层调用Service层所提供的查询接口,查询接口得到应用层调用的查询数据;然后再通过DAO访问数据库,根据用户输入的查询数据,查询数据库中的数据。
最后,将查询到的数据库数据返回给应用层,用户在应用层看到查询结果。
在这个过程中,各层之间的交互就是通过接口,应用层与Service主要通过HTTP接口,Service 层与DB层主要通过DAO(Data Access Object)数据库访问接口。
二、按协议的不同进行分类
1.webService接口
使用soap协议
通过http传输,请求报文和返回报文都是xml格式的
通常使用的工具SoapUI、jmeter、loadrunner等
2.http api接口
▲ 使用http协议
HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是从万维网(www,World Wide Web)服务器传输超文本到本地浏览器的传送协议。
HTTP基于TCP/IP通信协议来传递数据(HTML文件、图片文件、媒体等)。
HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端(即Web服务器)发送请求。
▲ 通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串
▲ 最常用的两种请求方式是get和post等方法
▲ 通常使用的工具有postman、RESTClient、jmeter、loadrunner等