接口分类
系统与系统之间的接口
下层服务对上层服务的接口
系统内部,服务与服务之间的接口
接口测试的意义
测试工作越早的介入,才能更早的发现Bug,修复Bug的成本也就越低,而功能测试必须等到系统提供可测的界面后才能进行,相比之下,单元测试和接口测试是测试更早介入的两个层面。
更早的介入测试意味着大量的Bug在很早的时候就被发现,而到功能测试阶段的Bug量会大大降低,定位问题的速度也大大提高,从而能够缩短产品的生产周期
更早的介入测试使得定位问题的难度大大降低,越早介入意味着环境越单纯,定位问题就更加迅速,到了功能测试阶段再定位问题,需要考虑的因素远多余接口层
接口的含义
在Java中,接口是一个抽象类,是抽象方法的集合,声明接口用关键字Interface,一个类通过继承接口的方式,继承接口的抽象方法。
虽然编写接口的方式和类很类似,但接口不是类,类描述对象的属性和方法,接口则包含类要实现的方法,接口无法实例化,但可以被实现。一个实现接口的类必须实现接口内所描述的所有方法,否则必须声明为抽象类
接口测试方法
接口测试的测试方法就是模拟不同的参数去覆盖更多的代码逻辑,使用不同的输入得到全部的返回结果的测试过程。
HTTP请求方法
请求方法 | 描述 | HTTP版本 |
Get | 请求指定的页面信息,并返回实体主体 | HTTP1.0 |
POST | 向指定资源提交数据进行处理,数据被包含在请求体中,POST请求会导致新的资源的建立或者已有资源的修改 | HTTP1.0 |
HEAD | 类似于GET请求,只不过返回的响应中没有具体内容,用于获取报头 | HTTP1.0 |
PUT | 从客户端向服务器传送的数据取代指定文档的内容 | HTTP1.1 |
DELETE | 请求服务器删除指定的页面 | HTTP1.1 |
TRACE | 请求服务器返回收到的请求信息,主要用于测试或者诊断 | HTTP1.1 |
CONNECT | HTTP/1.1协议中预留给能够将链接改为管道方式的代理服务器 | HTTP1.1 |
OPTIONS | 请求查询服务器的性能,或者查询与资源相关的选项和需求 | HTTP1.1 |
响应代码状态
响应代码 | 说明 |
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步的操作完成请求 |
4** | 客户端错误,请求包含语法错误或者无法完成请求 |
5** | 服务器错误,服务器处理请求的过程中发生了错误 |
常见响应代码说明
响应代码 | 说明 |
200 | 请求成功,一般用于GET和POST请求 |
320Fund | 临时移动,资源只是临时被移动,客户端应继续使用原有URI |
400Bad Request | 客户端请求有语法错误,不能被服务器理解 |
401Unauthorized | 请求要求用户的身份验证 |
403Forbidden | 服务器理解请求客户端的请求,但拒绝执行 |
404Not Found | 服务器无法根据客户端的请求找到资源 |
500Internal Server Error | 服务器内部错误,无法完成请求 |
503Server Unavailable | 由于超载或者系统维护,服务器暂时无法处理客户端请求 |