培训首页  >  软件测试新闻  >  什么是接口测试

什么是接口测试

[2019-04-25 09:35:30] 浏览量:202 来源:

松勤软件测试在线培训中心

什么是接口测试

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

接口的英文是interface ,接口的原意是 某个对象和外界交互的部分。

所以这个概念本身是非常广泛的。

拿软件来说,有很多接口,就是说有很多种外界交互的部分,常见的有下面几种

用户界面接口

这是大家最熟悉的,



作者:松勤软件测试
链接:https://zhuanlan.zhihu.com/p/63239619
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

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

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

这种接口:

被测系统交互的外界对象是用户!! 通过终端 包括 显示设备和输入设备进行交互

这些接口的测试一般是人直接操作终端,主要是眼睛看显示器输出,用键盘进行输入。


消息接口


这种接口 软件系统交互的 外界对象是其它程序软件,通过网络消息这种渠道进行交互

使用的网络消息,是制定的协议,比如

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

Web Service,REST API

等等。

这种接口 测试一般是 使用 测试工具, 收发相应的消息


编程接口


这种接口的 被测系统交互的外界对象 也是应用程序, 通过 被测系统提供的编程接口调用 被测系统提供的服务 ,这个编程接口通常是以库的形式提供给外界应用程序。

比如: 为了更方便的使用七牛云OSS, 他们提供了开发包,对其 OSS 接口封装了编程语言库。

详细的文档可以 查看如下网址

https://developer.qiniu.com/sdk#official-sdk

这种接口:

被测系统交互的外界对象是其它应用程序,通过编程接口这种渠道进行交互

这些接口的测试 主要通过 编写代码调用这些接口函数或者对象的方法、



我们这里只列出了典型的几种接口,还有其他种类的 软件系统 接口,就不一一列举了。


综上可知:

对某个我们要测试的系统来说,上述所有和外界交互的部分都是接口,接口这个词的概念非常的宽广。

那么对上述接口的测试都可以称之为接口测试。

泛义上讲,所有的测试都可以称之为接口测试

UI测试是测试UI接口

消息测试是测试消息接口

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


Web API 接口

目前移动互联网时代,移动互联应用渗入到我们生活的方方面面。比如 共享单车,滴滴打车,移动支付,社交平台。。。。

而这些形形色色的互联网服务,都是基于Web技术,所以互联网产品对外提供的服务接口,我们通常称之为Web 服务接口,或者 web service 接口。

由于这种服务接口基本上都是基于HTTP的, 客户端发出一个HTTP请求给 服务端,服务端就返回一个HTTP相应。

这种发出请求,得到响应的 方式非常像 编程中的函数调用,也被称为API 调用,所以我们有时把Web服务接口称之为 Web API。


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


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

  • 基于SOAP的 Web Service 接口

  • REST 接口

基于SOAP的 Web Service 接口,比较复杂,已经被业界所摒弃,目前使用的越来越少,我们可以忽略它,

目前使用的比较多的主要是 REST API 接口

REST 并不是非常具体的设计规范,而是一些设计上的风格约束。


REST有如下这些设计风格约束

  • 架构采用客户端和服务器结构:

  • 连接协议具有无状态性:确保系统的横向拓展能力

  • 能够利用Cache机制增进性能

  • 层次化的系统

  • 每个资源都有其标志(URI), 服务请求中标志要操作的资源的URI

  • 通过操作资源的表现形式 (representation) 操作资源

初学者基本都不能 搞懂 上面话的意思,不要紧。

目前的现状是, 目前对REST API 接口的测试, 其实只要有HTTP的背景知识就足够了

关于你是否能真正理解上面的REST风格约束的意思,对测试人员来说,其实并不重要。


后面我们这系列讲解使用的被测试系统,就是一个服务系统,提供了类似 WEB API 的接口。

我们就通过这个接口对其进行测试。


文中图片素材来源网络,如有侵权请联系删除
  • 软件开发
  • 软件测试
  • 数据库
  • Web前端
  • 大数据
  • 人工智能
  • 零基础
  • 有HTML基础
  • 有PHP基础
  • 有C语言基础
  • 有JAVA基础
  • 其他计算机语言基础
  • 周末班
  • 全日制白班
  • 随到随学

网上报名

热门信息