接口自动化化实现方式

接口自动化化实现基本方式:

  1. 什么是接口测试
  2. 基本流程
  3. 需求分析
  4. 用例设计
  5. 脚本开发
  6. 结果分析

使用框架Maven+TestNg+Jenkins+Java

  1. 什么是接口测试
    顾名思义,接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,WebService,Dubbo,Thrift,Socket等类型,测试类型又主要分为功能测试,性能测试,稳定性测试,安全性测试等。
    在分层测试的“金字塔”模型中,接口测试属于第二层服务集成测试范畴。相比UI层(主要是WEB或APP)自动化测试而言,接口自动化测试收益更大,且容易实现,维护成本低,有着更高的投入产出比,是每个公司开展自动化测试的首选。
    下面我们以一个HTTP接口为例,完整的介绍接口自动化测试流程:从需求分析到用例设计,从脚本编写、测试执行到结果分析,并提供完整的用例设计及测试脚本。

接口自动化化实现方式

  1. 基本流程
    基本的接口功能自动化测试流程如下:
    需求分析 -> 用例设计 -> 脚本开发 -> 测试执行 -> 结果分析

  2. 需求分析
    需求分析是参考需求、设计等文档,在了解需求的基础上还需清楚内部的实现逻辑,并且可以在这一阶段提出需求、设计存在的不合理或遗漏之处。

  3. 用例设计
    用例设计是在理解接口测试需求的基础上,使用MindManager或XMind等思维导图软件编写测试用例设计,主要内容包括参数校验,功能校验、业务场景校验、安全性及性能校验等,常用的用例设计方法有等价类划分法,边界值分析法,场景分析法,因果图,正交表等。

接口自动化化实现方式

  1. 脚本开发
    依据上面编写的测试用例设计,我们使用Maven+Java+TestNg+Jenkins框架编写了相关自动化测试脚本。可以完整实现接口自动化测试、自动执行及邮件发送测试报告功能。
    5.1 相关Maven安装

5.2 接口调用
使用requests库,我们可以很方便的编写上述接口调用方法
5.3我们按照测试用例设计,依次编写每个功能的自动化测试脚本即可。
5.4 结果校验
在手工测试接口的时候,我们需要通过接口返回的结果判断本次测试是否通过,自动化测试也是如此。

5.4 执行测试

5.5 发送邮件报告
测试完成之后,我们可以使用TestNg模块提供的方法发送html格式测试报告。基本流程是读取测试报告 -> 添加邮件内容及附件 -> 连接邮件服务器 -> 发送邮件 -> 退出,示例代码如下:
复制代
6. 结果分析
打开nosetests运行完成后生成的测试报告,可以看出本次测试共执行了51条测试用例,50条成功,1条失败。