以下内容选自《大话软件测试-性能、自动化、安全及团队管理》

接口测试是什么?接口测试怎么做?这样的问题几乎每天都会被问到几十次,可见很多朋友对于接口测试并不是十分了解,而接口测试又是现在互联网产品测试中的重中之重,所以学习并掌握它是必须的。本章我们力争通俗化的揭开接口测试的面纱,让大家看到它的本质。

特别需要指出,在本书的其他章节也讲解了接口测试的相关内容,比如LoadRunnerJmeterSoapUI章节等,所以想掌握接口测试最好通读本书。

9.1接口测试是什么

接口有时候我们也会叫做API,不论是哪种叫法本质上都是接口,就好像叫你的全名和小名,本质上都是你这个人。对于接口测试是什么我们给大家进行两种解释。

不通俗的解释:发送一个请求到服务器端,服务器端处理完毕之后返回一个响应,我们对响应进行验证是否符合预期结果。至于服务器端是怎么处理这个请求的我们并不关心。我们只关心输入和输出即可,如图9.1

 

9.1 请求和响应

通俗的解释:接口和电脑的USB一样,你不需要关心内部是怎么实现的,你只需要知道这个接口在哪,怎么用,插上能干什么即可。比如:我要验证这个USB能不能用,那么插入鼠标,鼠标可以正常工作说明USB可以用,我们并不关心USB的实现逻辑。同理,我们的接口测试也是一样的。

9.2接口文档规范

接口测试进行的前提是一定要有接口文档,我们要通过文档获取接口的说明、请求参数、响应参数以及一些依赖关系。一般公司都会有接口文档的,毕竟开发人员也要做接口的维护,如果没有文档以后维护起来是比较麻烦的。当然有的公司确实没有接口文档,那对于测试工程师来说只能自己通过抓包来分析请求和响应了。

规范的接口文档不管是对于开发还是测试都是有百利而无一害的,一般都包括接口名、接口描述、接口地址、请求方式、请求参数和格式、响应参数和格式等,具体示例如下:

接口名:mLogin

接口描述:移动端登录接口

接口地址:http://xxx/mLogin

请求方式:POST

支持格式:JSON

请求参数:

username 必填 类型string 用户名

pwd 必填 类型string 密码

响应参数:

errorCode 状态码 0表示成功;1表示失败

username 用户名

这里只是举了个例子,实际需要哪些描述还是要根据实际情况做调整的。

对于接口文档的维护也是一件让人头疼的事情,尤其是接口数量比较多的时候。我见过的维护方法有如下几种:

Word或者Excel维护。不推荐,量小的时候还可以,量大的时候太困难。

Wiki维护。推荐,相对来说比较好管理。

接口文档维护工具。比如:apizzaapiview、小幺鸡等,如图9.2。

 

9.2 接口文档维护工具