背景
在介绍接口自动化之前先给大家分享一下我所理解的“业务中台”的概念:业务中台是将企业的核心能力以数字化形式沉淀为各种服务中心,其目的是“提供企业能够快速,低成本创新的能力”。
例如公司内部的业务a、业务b同时有订单、登录等功能,可以将这部分功能抽离剥出,形成一个公共的能力,供不同的业务使用。在订单或登录功能出现变更时,可直接更新中台服务即可,业务侧在非必要情况下无需同步更新。
基于业务中台的概念下,就很经常出现一个情况,中台提供的接口实际是正常的,但是业务侧在聚合使用时,可能出现由于业务侧自身的部分接口异常,导致用户使用该功能出现异常。
除了上述反馈的问题现象外,,做UI自动化明显会与业务侧产生大面积的耦合,所以我们可以通过接口自动化来完成后端服务的功能巡检。
接口自动化
单接口自动化
很多公司都有单接口自动化,主要用于确保接口可调用成功,确保后端服务的接口不能报错,无法真实的模拟业务侧用户的实际操作行为,可能存在因为某个接口异常从而导致用户无法使用某个功能。
聚合接口自动化
聚合接口自动化的目的在于,模拟用户真实操作行为,提前梳理沉淀该功能涉及的全部接口,包含业务侧接口、业务中台接口以及接口之间的依赖关系,通过将用户行为涉及到的接口全部聚合在一起完成的自动化巡检,提前发现由于后端服务异常导致用户功能使用异常的场景。
当然如果业务侧有做UI自动化巡检,那我们接口巡检的时机可与业务侧错开来,提高巡检的频率,提早发现问题。
这边给大家简单分享下是如何做聚合接口自动化巡检的。
高效智能接口场景自动巡检方案
梳理某个功能涉及到的所有接口
以流程图的形式梳理某个功能所涉及到的所有接口,以及接口之间的依赖关系,以“订单功能”为例,梳理普通客户下单的前置操作和后置操作相关的接口依赖,其中:
1.前置操作包括:用户登录成功、获取商品列表、打开指定商品详情等。
2.后置操作包括:用户创建订单后发起订单支付、支付成功等。
下图为普通用户创建订单涉及到的基础接口依赖关系(仅供参考):
根据图中涉及到的接口,获取到对应的接口文档,选择自己熟悉的自动化框架,完成业务场景接口自动化脚本。
根据图中涉及到的接口,获取到对应的接口文档,选择自己熟悉的自动化框架,完成业务场景接口自动化脚本。