什么是接口测试?三分钟带你全面认识接口测试、带你学会接口测试~

目录

1、接口是什么?

2、接口的类型

3、接口测试初识

3.1、什么是接口测试

3.2、原理

3.3、特点

3.4、什么是自动化接口测试

4、接口测试流程

5、传统风格接口与RESTful风格接口

6、接口文档

6.1、什么是接口文档

 6.2、接口文档作用

6.3、展现形式

6.4、结构

7、接口用例设计

7.1、为什么要编写接口用例

7.2、接口测试用例文档的10要素

7.3、接口测试的测试点(测试维度)

7.4、接口测试用例设计与手工测试设计不同之处


1、接口是什么?

        接口其实就是系统与系统之间、组件与组件之间,数据传递交互的通道。

        我们结合下图来看:

什么是接口测试?三分钟带你全面认识接口测试、带你学会接口测试~_第1张图片


2、接口的类型

  • 按协议划分:http、tcp、ip....
  • 按语言划分:java、c++、php .....
  • 按范围划分:系统之间、程序之间

说明:什么是系统之间:

        系统之间就是内部系统与内部系统之间 或 内部系统与外部系统之间。内外之间,举例说明:我们现在支付大部分都是微信支付宝了,所以在涉及到支付相关时,都需要与微信或支付宝建立一个连接,能够支持用户支付,如下:

什么是接口测试?三分钟带你全面认识接口测试、带你学会接口测试~_第2张图片

说明:什么是程序之间:

        程序之间,其实就是方法与方法之间的、函数与函数之间的、模块与模块之间的~


3、接口测试初识

3.1、什么是接口测试

        接口测试:就是对系统或组件之间的接口进行测试,校验传递的数据正确性和逻辑依赖关系的正确性。

3.2、原理

  • 接口测试,主要针对的测试目标——服务器
  • 怎么测:模拟客户端,向服务器发送请求
  • 用什么测:工具(postman、fiddler、jmeter)、代码:Python / Java
  • 测试什么:测试 服务器针对客户端请求,回发的响应数据是否与预期结果一致【观察 或 断言】

小结:接口测试就是通过模拟客户端与服务器之间的通信,验证接口的功能、性能、安全性。 

3.3、特点

  • 符合质量控制前移的理念
  • 可以发现一些页面操作发现不了的问题
  • 接口测试低成本高效益
  • 接口测试是从用户的角度对系统进行检测

3.4、什么是自动化接口测试

        自动化接口测试:就是我们借助工具、代码,来模拟客户端发送请求给服务器,借助断言自动判断预期结果和实际结果是否一致~  


4、接口测试流程

  • 分析需求,产品会给一个需求文档
  • 开发后续会写一个接口文档
  • 测试人员根据接口文档来编写接口测试用例
  • 执行测试用例
  • 提交、跟踪缺陷
  • 生成测试报告
  • 接口自动化持续集成【不一定都有这一步】

5、传统风格接口与RESTful风格接口

对http不熟悉的伙伴,可以先看看这篇文章,回顾一下:http://t.csdnimg.cn/QfDsv

传统风格接口的特点:

  • 请求方法,只使用get和post方法
  • URL不唯一。同一个操作可以对应不同的URL
  • 状态码的使用比较单一。最常见:200

例如:

什么是接口测试?三分钟带你全面认识接口测试、带你学会接口测试~_第3张图片

RESTful风格接口的特点:

  •  每一个URL代表一种资源
  • 客户端和服务器之间,传递这种资源的某种表现层(表现层:数据的不同表现形式,如:图片、文字表现同一个数据对象)
  • 客户端通过4个HTTP动词(get、post、delete、put),对服务器端资源进行操作,实现“表现层状态转化”
  • 接口之间传递的数据最常用格式为JSON

例如:

 什么是接口测试?三分钟带你全面认识接口测试、带你学会接口测试~_第4张图片


6、接口文档

6.1、什么是接口文档

        由开发人员编写,描述接口信息的文档。

        开发团队按接口文档进行开发工作,并要一直遵守 

 6.2、接口文档作用

  • 能够让前端开发与后端开发人员更好的配合,提高工作效率
  • 项目迭代或者项目人员更迭时,方便后期人员查看和维护
  • 方便测试人员进行接口测试

6.3、展现形式

  • word文档
  • Excel表格
  • pdf文档

6.4、结构

(1)、基本信息

  • 资源路径(协议和域名在“系统信息”中)
  • 请求方法
  • 接口描述

(2)、请求参数

  • 请求头----例:Content-Type  描述请求体的数据类型
  • 请求体------实现该接口使用的数据及对应类型

(3)、返回数据

  •  状态码200
  • 错误码(自定义状态码)  【码值 + 描述信息】

7、接口用例设计

7.1、为什么要编写接口用例

  • 防止测试点漏测。条理清晰
  • 方便分配工作,评估工作量和时间

7.2、接口测试用例文档的10要素

  • 编号
  • 用例名称
  • 模块
  • 优先级
  • 预置条件
  • 请求方法
  • URL
  • 请求头
  • 请求体
  • 预期结果

7.3、接口测试的测试点(测试维度)

什么是接口测试?三分钟带你全面认识接口测试、带你学会接口测试~_第5张图片

说明:

  • 接口——功能测试——单接口功能:1.手工测试中的单个业务模块,一般对应一个接口,例如:登录业务对应登录接口;支付业务对应支付接口; 2.借助工具、代码。绕开前端界面,组织接口所需要的数据,展开接口测试
  • 接口——功能测试——业务场景功能:1.先按照用户实际使用场景,来梳理接口业务场景;2.组织业务场景时,一般是只需要做正向测试即可(正向测试设计就是试图验证软件是工作的,即软件的功能是按照预先设计的执行的,以正向思维,针对系统的所有功能,逐个验证其正确性;反向测试设计就是认为软件有错的情况下去测试这个软件。);3.一般建议是使用最少的用例覆盖最多的业务场景
  • 性能测试:可看这篇文章:http://t.csdnimg.cn/kBGxd    ,也可继续关注博主,后面会更新性能测试更详细的知识及使用~
  • 安全测试——攻击安全:这个不需要咱们来做,一般是由专业的安全工程师来做~
  • 安全测试——业务安全:1.敏感数据是否加密 ;2.SQL注入相关

7.4、接口测试用例设计与手工测试设计不同之处

        接口测试用例设计与手工测试设计相同之处:需要设计的功能点与手工测试对应的功能是完全一致的~

        不同之处:

  • 手工测试是测写入到输入框中的数据是否正确;接口测试是测 参数对应的参数值是否正确
  • 接口测试不单可以对参数值进行检查,还可以针对参数本身进行测试(可设计正向参数,也可反向参数~)

好啦,本期先到这里了,关于接口的如何使用工具操作,如何使用代码实现自动化,后面会持续更新~

你可能感兴趣的:(测试,接口测试)