接口分类

系统与系统之间的接口

Python接口自动化测试系列[V1.0.0][接口测试理论]_客户端

下层服务对上层服务的接口

Python接口自动化测试系列[V1.0.0][接口测试理论]_客户端_02

系统内部,服务与服务之间的接口

Python接口自动化测试系列[V1.0.0][接口测试理论]_服务器_03

接口测试的意义

测试工作越早的介入,才能更早的发现Bug,修复Bug的成本也就越低,而功能测试必须等到系统提供可测的界面后才能进行,相比之下,单元测试和接口测试是测试更早介入的两个层面。

更早的介入测试意味着大量的Bug在很早的时候就被发现,而到功能测试阶段的Bug量会大大降低,定位问题的速度也大大提高,从而能够缩短产品的生产周期

更早的介入测试使得定位问题的难度大大降低,越早介入意味着环境越单纯,定位问题就更加迅速,到了功能测试阶段再定位问题,需要考虑的因素远多余接口层

接口的含义

在Java中,接口是一个抽象类,是抽象方法的集合,声明接口用关键字Interface,一个类通过继承接口的方式,继承接口的抽象方法。

虽然编写接口的方式和类很类似,但接口不是类,类描述对象的属性和方法,接口则包含类要实现的方法,接口无法实例化,但可以被实现。一个实现接口的类必须实现接口内所描述的所有方法,否则必须声明为抽象类

package Animal;

public interface IAnimal {
public String Behavior();
}

package Animal;

public class Cat implements IAnimal {
@Override
public String Behavior(){
String ActiveTime = "wansshang1shuijiao ,baitianhuodong ";
return ActiveTime;
}
}

package Animal;

public class Dog implements IAnimal {
@Override
public String Behavior(){
String ActiveTime = "baitianhuodong, wansshang1shuijiao";
return ActiveTime;
}
}

接口测试方法

接口测试的测试方法就是模拟不同的参数去覆盖更多的代码逻辑,使用不同的输入得到全部的返回结果的测试过程。

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

由于超载或者系统维护,服务器暂时无法处理客户端请求