我们常说的接口测试到底是什么(上)

 

什么是接口测试

要理解什么是接口测试,首先我们需要理解什么是“接口”。

接口的英文是interface

接口是某个对象和外界交互的部分。

拿应用程序来说,它可能有很多接口

比如,

一个软件产品,可能有如下几种和外界交互的部分:

 

  • 提供用户界面 给用户使用

这个用户界面称之为用户接口 UI ,

是应用和用户交互的部分。

可能是图形化的界面,叫做图形用户接口 (英文简称为GUI)

也可能是非图形的 命令行接口, 这个也是用户接口 UI, 可以叫command UI

 

这些接口的测试一般是人手工操作,

 

  • 提供 消息交互接口 和其他应用程序交互

比如

diameter,radius(比如:电信鉴权网关),

web service(比如:股价查询服务器),

Rest API (比如:阿里云对象存储服务OSS API)

 

这些接口的测试一般是开发测试工具, 收发相应的消息

 

  • 提供编程接口,供开发者的程序调用

  比如: 为了更方便的使用阿里云OSS, 他们提供了开发包,对其 OSS 接口封装了编程语言库。 详细的文档可以 查看如下网址

  https://help.aliyun.com/document_detail/52834.html?spm=5176.doc31948.6.653.tYSCvE

 

这个接口是编程语言开发接口,测试方法就是编写代码调用这些接口函数或者对象的方法、

 

  • 其它

对账系统:提供文件接口

中间件: 提供共享内存,管道等接口

 

这些测试,也需要开发测试工具

 

 

综上可知:上面的所有和外界交互的部分都是接口,对上述接口的测试都可以称之为接口测试。

其实泛义上理解的话,所有的测试都可以称之为接口测试。

UI测试是测试UI接口 

消息测试是测试消息接口

编程库的开发包测试 是测试编程接口

 

实际上我们很多人经常挂在嘴边的说的"接口测试",或者"API测试",其实是第二种里面的web服务端提供的 访问接口,简称 web 服务接口

目前web 服务接口主要包括两种:

  • Web Service 接口
  • REST  接口

 

 

web 服务接口

web service, 中文直译,就是 web 服务的意思,顾名思义,应该是非常广泛的概念,包括所有的 基于web的服务。

 

但是2002年, w3c定义了一套Web Service 架构 作为一个实现 web service (注意两者的大小写)的标准规范。

这个标准架构 指定了用WSDL语言描述 web service,用基于XML的SOAP协议  来封装消息,用 HTTP协议传输消息。

 

从此 Web Service 这个名词就是指 基于 SOAP WSDL 的这个 规范 实现的web服务了

 

这个架构优点就是清晰没有歧义, 用软件工具就可以定义出一个接口,甚至自动生成相应的代码。

但是对于开发人员来说,概念有些复杂,要理解它开始就需要花不少的时间。 非常的不利于大家的人类自然理解, 应用到项目中,交流起来其实门槛也比较高。

 

 

另外一种主流的(目前更加流行)web 服务架构 称之为 REST  (Representational state transfer)。

这种架构的服务端的接口称之为REST 接口,或者 REST API 接口, 或者RESTful API接口

  这种接口目前非常流行,我们在下一篇公众号文章《我们常说的接口测试到底是什么(下)》中详细给大家描述一下