「干货」接口自动化实践:高效智能接口场景自动巡检方案

上一篇 / 下一篇  2022-08-22 17:09:58 / 个人分类:接口测试

背景

在介绍接口自动化之前先给大家分享一下我所理解的“业务中台”的概念:业务中台是将企业的核心能力以数字化形式沉淀为各种服务中心,其目的是“提供企业能够快速,低成本创新的能力”。加我VX:atstudy-js 回复“测试”,进入 自动化测试学习交流群~~

业务中台的核心是“构建企业共享服务中心”,所以业务中台提供的能力,往往是通用、共用的,涉及多个业务线或者多个应用共同使用,属于基础建设的能力。

例如公司内部的业务a、业务b同时有订单、登录等功能,可以将这部分功能抽离剥出,形成一个公共的能力,供不同的业务使用。在订单或登录功能出现变更时,可直接更新中台服务即可,业务侧在非必要情况下无需同步更新。

基于业务中台的概念下,就很经常出现一个情况,中台提供的接口实际是正常的,但是业务侧在聚合使用时,可能出现由于业务侧自身的部分接口异常,导致用户使用该功能出现异常。

此时用户反馈可能根据该页面功能模块直接反馈到中台,但是经过一系列定位下来后发现,其实非业务中台侧的报错。

除了上述反馈的问题现象外,作为中台服务(服务端)层的测试人员,做UI自动化明显会与业务侧的巡检产生大面积的耦合,所以我们可以通过接口自动化来完成后端服务的功能巡检。

接口自动化

单接口自动化

很多公司都有单接口自动化,主要用于确保接口可调用成功,确保后端服务的接口不能报错,无法真实的模拟业务侧用户的实际操作行为,可能存在因为某个接口异常从而导致用户无法使用某个功能。

聚合接口自动化

聚合接口自动化的目的在于,模拟用户真实操作行为,提前梳理沉淀该功能涉及的全部接口,包含业务侧接口、业务中台接口以及接口之间的依赖关系,通过将用户行为涉及到的接口全部聚合在一起完成的自动化巡检,提前发现由于后端服务异常导致用户功能使用异常的场景。

当然如果业务侧有做UI自动化巡检,那我们接口巡检的时机可与业务侧错开来,提高巡检的频率,提早发现问题。

这边给大家简单分享下我在项目中是如何做聚合接口自动化巡检的。

高效智能接口场景自动巡检方案

步骤1:梳理某个功能涉及到的所有接口

以流程图的形式梳理某个功能所涉及到的所有接口,以及接口之间的依赖关系,以“订单功能”为例,梳理普通客户下单的前置操作和后置操作相关的接口依赖,其中:

1.前置操作包括:用户登录成功、获取商品列表、打开指定商品详情等。

2.后置操作包括:用户创建订单后发起订单支付、支付成功等。

下图为普通用户创建订单涉及到的基础接口依赖关系(仅供参考):

根据图中涉及到的接口,获取到对应的接口文档,选择自己熟悉的自动化框架,完成业务场景接口自动化脚本。

步骤2:选择合适的告警通知方式

确认告警通知方式:邮件、钉钉机器人等,建议根据公司内部惯用的方式进行通知。

例如有的公司习惯使用邮件来进行相关工作通知,那么你就可以选择通过邮件来告警通知相关人员;如果公司内部使用钉钉作为内部的沟通交流方式,那可以直接使用的钉钉机器人进行巡检预警。


添加微信:atstudy-js  或者扫描下方二维码,备注“博客”邀请你进入Python自动化测试学习交流群~


TAG:

 

评分:0

我来说两句

Open Toolbar