为什么做接口测试

  • 很多系统关联都是基于接口来实现的,接口测试可以将复杂的系统关联进行简化
  • 接口功能比较单一,能够比较好的进行测试覆盖,也相对容易实现自动持续化集成。
  • 接口相对于界面功能,会更底层一些,测试覆盖会更容易。

    什么是接口测试

  • 接口测试又成为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状态码:

图片.png