接口自动化可以怎么做?(接口自动化测试的基本步骤)

知梧 379 2022-07-12


接口测试分为分为单接口测试和多接口业务串联测试,接口测试本质是测试接口传入正确的或错误的参数,服务端的处理逻辑是否正确。

1. 其中单接口测试分为业务等价类测试、参数规则边界测试和安全测试三个维度:

(1)业务等价类测试。业务等价类分为单接口的有效等价类和单接口的无效等价类。例如登录接口,在用户名和密码输入合法的前提下,有效等价类是“正确的用户名 + 正确的密码”这一组合,无效等价类包括“正确的用户名 + 错误的密码”、“错误的用户名 + 错误的密码”、“错误的用户名 + 正确的密码”等组合。需要注意的是,我们不仅要找出所有的“有效等价类”(有效等价类毕竟是最常见的业务流程,往往不会忘记),也要找出所有的“无效等价类”。

(2)参数规则边界测试。参数规则边界测试是对接口请求体参数、字段,基于需求的边界值做限制。例如登录的用户名和密码中,字符类型和字符长度限制。在不多数互联网公司,这类限制大多由前端处理。但严格来讲,不仅前端要处理参数、字段的边界,服务端也是需要在接口层级做参数、字段边界的校验的。因为服务端的校验才是最可靠的;此外,基于前后端的C/S架构、B/S架构,如果在服务端做了参数规则校验,那么新开发的各个客户端,就算没有处理对应逻辑,也是不会出现错误数据的,而客户端处理的话,就需要对各个类型的客户端限制参数字段的边界。

(3)安全测试。为防止任何人随意调用接口,我们会给接口加上鉴权限制,这就需要测试接口的安全性。比如接口header里加token和不加token,加cookie和不加cookie等。

2. 多接口业务串联测试

       接口之间是有业务关联的,例如订单创建后,订单支付接口应该可以拿最新的订单号支付成功;而订单支付成功后,订单详情接口应该要能拿到最新的订单支付状态,即依赖于订单支付接口的数据,都能够获取到正确的数据。

       在单接口测试通过的基础上,再去测试多接口业务串联测试。单接口测试通过,代表单个接口的代码处理没有问题,这时候把业务相关联的接口串联起来,测试通过就代表业务流程没有问题。

      测试工具我们选择Jmeter、Postman等都可以。

      在做好接口测试后,我们可以对单接口进行封装,实现接口自动化测试(推荐在产品需求第一次开发时,就可以写接口测试的脚本,接口测试通过后,单接口测试的脚本可以直接集成到接口自动化脚本中,非常高效方便)。接口自动化测试方法、框架有很多,如果代码基础比较薄弱,推荐的方法是采用Jmeter + Ant + Jenkins + Git + 邮件服务器的方式来实现。该方法的优点是:

  1. 对代码要求不高,非常有利于开发基础不强的测试团队;

  2. 测试数据、测试用例通过Json文件来管理,且可以和测试脚本一起可以实现分布式管理、多端开发接口测试脚本;

  3. Jenkins 定时发送测试报告,并基于日志定位问题。

      如果有Python基础,采用Python + Request + Jenkins + Git + 邮件服务器来做接口自动化,也会很灵活。


接口自动化测试的基本流程

1、需求分析
2、挑选需要做自动化测试的功能接口
3、设计测试用例
4、搭建我们的自动化测试环境
5、设计自动化测试项目的整体架构
6、编写脚本代码
7、运行测试用例脚本
8、生成自动化测试报告

一、需求分析

1、了解项目的基本业务
根据需求文档,去熟悉一些基本功能

2、了解项目中使用到的接口
通过接口文档,熟悉接口的请求与响应(目前主流的接口文档主要有YAPI、swagger)

请求(url、方法(get/post…)、请求参数(header、body)、各个字段说明)
响应(响应数据、状态码)

二、自动化接口挑选

根据时间、人员、接口复杂程度去做选择,把接口清单整理出来,统一放入一个txt文件
image.png

三、设计自动化测试用例

跟功能测试用例一样的,如果功能测试阶段有设计过测试用例,则直接拿过来使用
1、单接口测试用例(颗粒度比较小)
2、业务功能测试用例(多个接口)

单接口测试用例模板如下:
image.png

多接口测试用例:

image.png

四、搭建自动化测试环境

主要看使用哪种语言编写脚本,这里我使用的是python,所以要搭建python运行的本地环境
1、安装python,添加至系统环境变量中
2、安装pycharm编译器

五、设计自动化执行框架

整体目录结构:
api:接口对象层
cases:业务实现层
report:测试报告
tools:工具层
data:数据层
run_all.py 运行入口

六、编写代码

使用python进行编写

七、执行用例

目前主流的单元测试框架为pytest,我个人是使用pytest的

八、测试报告

测试报告模板有很多,可自行选择,如html、allure等。



版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:6个常见的API接口在线管理平台,推荐四个强大的API管理平台!
下一篇:webservice接口开发详解(附完整流程demo)webservice接口的开发和调用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~