为什么要做接口测试?
1、很多系统关联都是基于接口来实现的,接口测试可以将复杂的系统关联进行简化。
2、接口功能比较单一,能够较好的进行测试覆盖,也相对来说容易实现自动化持续集成。
3、接口会相对于界面底层更加底层一点。
什么是接口测试?
接口测试有称为API测试,接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
Web Service
Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。 [1]
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
最主要的两种实现方式是:SOAP 和 REST;web 2.0时代之后,rest方式开始普遍使用。
SOAP:SOAP使用XML消息调用远程方法,这样web services可以通过HTTP协议的post和get方法与远程机器交互,而且,SOAP更加健壮和灵活易用;
REST:REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
REST 特点总结:
1、面向网络资源的接口设计(基于HTTP);
2、抽象操作为基础的CRUD(创建、查询、更新、删除);
3、HTTP是应用协议而不是传输协议
REST支持的方法:
1、HEAD 选择
2、GET 获取;
3、POST 创建资源;
4、PATCH 更新资源的部分属性;
5、PUT 更新资源的所有属性;
6、DELETE 删除资源
REST API 设计规范:
1、使用HTTPs协议,确保交互数据的安全性;
2、应该将API尽量部署在专用域名之下;
3、将版本号放在Header或URL之中;
4、路径中不能出现动词而是应该选择名词;
5、过滤信息 limit、offset、page、sortby=字段名···;
6、验证
7、授权
常见的HTTP返回的状态码:
200 现有资源已被更改;
201 新的资源被创建;
202 已接受处理请求但尚未完成;
301 资源的URI被更新;
303 其他;
400 错误的请求或不存在的域名;
404 请求的资源不存在;
406 服务端不支持所需的表示;
409 通用冲突;
412 前置条件失败;
415 请求不是服务器所支持的格式;
500 服务器无法完成的请求;
503 由于临时的服务器维护或者过载,服务器当前无法处理请求
返回结果的设计:
通用的错误码格式为:返回一个对象 “msg”、“code” 和 “request”;