为什么做接口测试
- 很多系统关联都是基于接口来实现的,接口测试可以将复杂的系统关联进行简化
- 接口功能比较单一,能够比较好的进行测试覆盖,也相对容易实现自动持续化集成。
-
什么是接口测试
接口测试又成为API测试,Application Programming Interface
- 接口测试是测试系统组件间接口的一种测试,重点关注数据传递。
接口测试一般会用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。
Web Service
一种跨编程语言和跨操作系统平台的远程调用技术
最终的两种实现方式:soap&rest
Web 2.0时代,rest方法广泛普及
SOAP - Simple Object Access Protocol
交换数据一种协议规范,是一种轻量的、简单的、基于XML的协议。
REST - Representational State Transfer
一种软件架构风格,可以降低开发的复杂性,提高系统的可伸缩性。
- 定义:简单来说REST是一种系统架构设计风格(而非标准),一种分布式系统的应用层解决方案。
- 目的:Client和Server端进一步解耦
- 应用:最为经典的莫过于github API
核心思想是资源:1. 创建资源 - HTTP POST 2.获取资源 - HTTP GET 3.更新资源 - HTTP PUT 4.删除资源 - HTTP DELETE
REST设计规范
协议:使用https协议,确保交互数据的传输安全
- 域名:应该尽量将API部署在专用域名之下
- 版本控制:将版本号放在url或者header中
- 路径:只能包含名称,不能包含动词
- 过滤信息:?limit=10 ?offer=10 ?page=1 ?sortby=name
- Hypermedia API:在返回结果中提供相关资源的链接,连向其他API方法
- 验证:确定用户是其申明的身份,比如提供账户的密码
授权:保证用户有对请求资源特定操作的权限。比如用户的私人信息只能自己访问,其他人无法看到;有些特殊的操作只有管理员可以操作,其他用户有只读的权限等。
SOAP与REST区别:
安全性:SOAP会好于REST
- 效率和易用性:REST更胜一筹
- 成熟度:总的来说SOAP在成熟度上优于REST
HTTP常见的status code状态码: