API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
API一般都是基于http、https协议的。也就是说接口一般都是基于这两种协议(硬件之间也有对应的协议,再次就不作深究)
常用的方法是Get和Post,我们先来了解一下基本的知识。
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据
PUT、DELETE在接口测试时也会遇见,基本的原理都差不多的。
- 再来了解HTTP、https请求的相关的状态码。如200,代表的是ok,即请求成功
- 注:
- 接口均会有返回码,如200、400、501等
- 接口都有状态码,如errCode0 等 如下实例
返回结果中的错误码表示了用户调用云 API 的结果。其中,code 为公共错误码,其适用于所有模块的 API 接口。若 code 为 0,表示调用成功,否则,表示调用失败。当调用失败后,用户可以根据下表确定错误原因并采取相应措施。(摘自某云,内部给出的,基本上多数的公司都会自定义错误码)
以上为API基本的知识,需要知道清楚才行。下面总结一下接口测试的一些侧重点。
- 接口测试:
接口的测试验证,主要是针对错误的情况展开的验证,如果只是单纯的正向验证通过,并不代表接口测试就已经完成。
如登陆的接口,用户名和密码正确了,可以登陆。如果用户名密码错误的情况下呢?如何提示?密码不符合规则呢?用户名错误呢?系统该如何响应,如何提示?
所以,接口测试的重点就是在于验证错误的情况,如字符类型错误、为空、字符长度等等情况,均需要进一一验证。并且接口的测试是在功能测试的前面,只有当接口测试完成后,才可以进行功能性的测试。如果接口测试都不能达到的情况下,对程序或者软件进行功能性测试,将很容易导致问题得出现、甚至阻碍功能测试的进程。(一般情况下,接口测试走在最前沿,正规的企业应该是有一套成熟的管理系统去把控的。)
- 用例验证点:
- 每一条用例均需要去验证返回码200 (如 Response200代表请求成功)
- 每一条用例均需要去验证错误的状态码(如 errCode 0代表没有错误)
- 每一条用例均需要去验证数据库存储数据一致性(查询数据库与返回值进行对比)
- Response:请求返回的值/参数(开发人员将数据库查询出的对应的数据进行提取,并进行重新组装而成,最后通过接口返回的数值)
-
- 不是所有的请求都会存在返回值,但一定有返回码。
- 不是所有的请求都会存在返回值,但一定有返回码。
-
有返回参数,就有请求参数。Request --> Response,如下图所示