一篇文章明白接口测试,get起来

Posted 软件测试大师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一篇文章明白接口测试,get起来相关的知识,希望对你有一定的参考价值。

01

什么是接口测试

我们通常说的接口测试(或者API接口测试),其实就是对软件系统消息交互接口的测试。

消息交互接口是软件系统和其他软件系统交互的那部分。

比如,你手机上使用美团订餐,美团APP和 美团服务器之间,也是消息交互的。

当你提交订单,使用微信支付的时候, 美团服务器 和 微信服务器 之间也是通过 消息交互的。


一篇文章明白接口测试,get起来
一篇文章明白接口测试,get起来
一篇文章明白接口测试,get起来

接口测试就是

依据接口规范,写出测试用例;

使用软件工具,直接通过消息接口 对 被测系统 进行消息收发;

验证被测系统行为是否正确。

一篇文章明白接口测试,get起来
一篇文章明白接口测试,get起来

接口测试,通常是对服务端做的比较多,但是也有对客户端做的。关键是看 被测系统是 服务端还是客户端。


一篇文章明白接口测试,get起来

目前的软件系统之间的消息接口 大部分是 基于 HTTP 协议收发的。

HTTP协议的特点是,客户端发出一个HTTP请求给 服务端,服务端就返回一个HTTP响应。好像程序的API调用。

所以 接口测试 通常又被称之为 API接口测试 或者 WEB API接口测试

API接口 传递数据信息 是通过HTTP协议进行收发的,网站获取网页、图片、css等资源,也是通过HTTP协议进行收发的 。

那么这两者有什么区别呢?为什么 获取网页、图片这些 HTTP消息 通常不叫 API 接口消息呢?

网页、图片、css 这些资源,都是静态资源, 就是一个个文件存储在服务器上的,获取这些信息,服务端直接读取文件,返回给客户端即可,无需特别的数据处理。

而 API接口请求消息,通常都需要 服务端程序进行 一番处理,比如:对请求的权限检查,从数据库中读出数据,进行信息过滤和 格式转换,最后在HTTP响应中返回给客户端。

接口测试需要工具和被测系统之间进行消息(通常是HTTP消息)的收发,这个工具可以是别人开发好的,也可以自己开发。

基于HTTP的接口测试工具,常见的有 Postman、Jmeter等。

这些工具,核心功能都是类似的:

都是用来 构建HTTP请求消息,并且解析收到的HTTP响应消息, 用户来判断是否符合预期。

熟悉 Python 语言的朋友, 也完全可以使用 requests 库,自己写代码发送接收HTTP请求,进行测试。

还有一个问题:测试工程师测试系统,一定要做接口测试吗?

这些工具,核心功能都是类似的:

都是用来构建HTTP请求消息,并且解析收到的HTTP响应消息, 用户来判断是否符合预期。

熟悉 Python 语言的朋友,也完全可以使用 requests 库,自己写代码发送接收HTTP请求,进行测试。

还有一个问题:测试工程师测试系统,一定要做接口测试吗?

这个要看你们系统被测的接口是内部接口还是外部接口

内部接口是产品(也就是被测系统)内部子系统之间的接口。

一篇文章明白接口测试,get起来

内部接口通常并不需要测试部门的工程师进行测试,而是由开发人员自己进行测试的。当然也偶尔有特殊情况,项目组指定就由测试部门帮助 开发人员进行测试。

一篇文章明白接口测试,get起来

而产品(也就是被测系统)的外部接口,是 和另外的系统交互的接口。所谓 另外的系统 通常是由其他公司开发的,这样的接口测试工程师一定要进行测试.

比如 阿里云服务提供的 API 接口,微信支付系统提供的支付API接口,作为阿里云或者微信支付的测试工程师,就当然要对其进行测试了。


一篇文章明白接口测试,get起来

一篇文章明白接口测试,get起来

接口测试工作


根据前面的讲述,总结一下,接口测试工作,主要包括:

获取接口文档,评审文档,了解接口的实现细节;

根据接口文档,写出测试用例;

等产品发布后,根据测试用例,使用软件工具,直接通过消息接口 对 被测系统 进行消息收发,验证被测系统行为是否正确。

一篇文章明白接口测试,get起来

评审接口文档

通过接口进行测试和通过用户界面进行测试一样,都需要有测试用例。

测试用例的依据就是需求设计文档,接口测试用例当然也需要接口的需求设计文档,通常称之为接口文档。

接口文档通常是由开发人员提供,测试人员 根据接口文档编写接口测试用例。

接口文档里面应该包括我们要测试的系统接口的具体信息。

接口文档是人写的,当然就会有错误、遗漏,甚至有自相矛盾的地方。

文档也可能有写的不清楚,难以理解,测试人员看不懂的地方。

所以在写测试用例之前,必须要先对接口文档进行评审,找出里面的问题,和 文档作者进行沟通 ,确保接口文档 基本正确、完善,然后才能动手写测试用例。


历史文章:





以上是关于一篇文章明白接口测试,get起来的主要内容,如果未能解决你的问题,请参考以下文章

一直没弄明白什么是接口测试,直到看到这篇文章···

python执行简单的接口测试

看了很多文章,就这篇说明白了什么是接口测试

核心工具JMeter 接口测试专题

接口自动化测试系列之PHPUnit-接口测试的步骤

什么是接口测试?这篇文章让你明白