作者:闲鱼技术——羲竹
背景
随着闲鱼业务的高速发展,其商品类型、交易模板以及互动玩法日趋丰富。造数常常需要耗费测试同学大量的时间,其根本问题归纳为以下接口和抽象类的区别几点:
- 1. 人工成本高:商品、订单的类型与状态笛卡尔乘积后多达上百种,数据种类丰富且构造流程长,测试过程费时又费力;
- 2. 造数门槛高:商品数据构造往往和账户类型、人群等有强耦合关系,无论是测试验收还是跨部门协作时,都需要测试同学投入很多额外的时间辅助数据构造;
- 3. 测试工具无数据支撑:在自动化测试、性能测试过程时,需要丰富的数据类型作为驱动。
为了解决以上问题,闲鱼接口自动化测试设计了一套各业务可快速接入,并在PC、闲鱼AP机器人角斗场P内和钉钉上appearance均可使用的测试数据构造解决方案,cicd工具旨在提升测试效率的同时,更机器人大乱斗好地推进测试左移。
方案设计
如下图所示为闲鱼业务的整体架构图,造数平台需要触达多条业务线,支撑商品、订单、优惠等业务机器人股票的数据构造,并为测试自动化工具提供数产品生命周期据支持。此外,我们期望合作方在进行产品验收时,也能以便捷的方式获取到数据。
业务架构图.png
基于以上愿景,造数平台系统内部设计考虑到了可扩展性、易用性两大方产品设计专业面,其整体架构图如下图所示,一是提供了用户进行模板化管理的入口,通过可插拔的配置来自定义搭建自己所需的造数场景;二是和各平台打通,发挥各平台的优势,达到敏捷高效产品质量法造数的目的。
造数架构设计图.png
支持动态化配置
为了方便appetite后续不同业务的接入,并为自动化巡检、CI/CD机器人总动员、接口测试等提供数据支持接口测试,平台期望以一种确保数据源动态可插拔的方式来承接:不同业务可结合接口是什么自身业务,配置不同接入源类型的元数据模板,并做到数据源隔离;而后机器人角斗场再基于元数据模板进行自定义的业务模板配置,整体步骤如下:
- 1. 在造数平台上对业务元数据进行配置管理;
- 2. 基于元数据进行业产品设计专业务模板化配置;
- 3. 造数PC端、闲接口是什么鱼APP以及钉钉机器人上将共appstore享一份配置;
打通多端造数入口
为了兼顾不同用户产品运营人群的使用体验,平台上层入口支持了三种:PC工作台、闲鱼APP内产品介绍和apple钉钉内交互机器人。三种渠道各有优势。
闲鱼APP内
闲鱼APP内的appearance优势在于可以自动接口卡获取设备环境信息。以商品域测试为例,闲鱼不同商品类型的发布入口不同,其中部分商品发布流程有一定时间成本。我们基于JS Bridge,拿到闲鱼app当前用户的登录态,一键发布宝贝,并获取到商品的schema信息跳转至产品定位商品详情页,方便测试同学进行快速验证。 再替换一产品下
闲鱼APP内发布商品.gif
钉钉内交互机器人
钉钉交互机器人接口类型的方式进行造数的优势在于便捷 、通用、简洁,可以和日常工作无缝衔接。 举个栗子:验货宝业务是C2S2C的模式,中间部分订单节点的推进是需要联系开发或对应的服务商的。遇到问题都需要拉群进行处理,如下图所示,我们将验货宝推单的功能做在钉钉内,支持机器产品设计专业人交互的方式进行推单,一是省去了联系开发和服务商推单的时间成本,二是如遇订单推进的相关问题,我们也可直接将错误信息反接口是什么馈到群内,省去了换端的成本。
钉钉cicd是什么意思机器人交互.pn产品质量法g
PC工作台
PC产品工作台操作的优势在于方便管理。在PC端,我们可以进行商品发appetite布和订application单模板的配置和自定义修接口英文改,其操作流程可参加上文中机器人大乱斗提及的动态化配置步骤。此外在PC端,我approve们接口文档还支持了模板克接口crc错误计数隆、以及批量造数等功能。
PC端批量造数.png
提升数据覆盖度
目前平台主要覆盖了商品、交易、营销优惠三大业务线,支持构造商品、订单、交易履约以及营销优惠的数据构造。如下图所示为造数工厂目标覆盖的主要数据类型。
数据覆盖度.png
其中接口和抽象类的区别商品支持了诸如优品、营销接口crc错误计数以及一些基础商品类型的构造,目前机器人股票全部类型都已覆盖完成。交易已支持C2C不同状态类型的订单构造,其他订单类型也已在持续接入中。
效果及展望
造数工厂未上线之前,无论是接口类型业务测试、产品设计验收还是机器人大乱斗跨部门合作,都需要牺牲测试同学的大量时间构造数据。现如今我们以最小的建设成本,搭建了一套具有可配置、可扩展能力的造数工具平台,支持大家自主获取数据,工作效率得产品策略以大幅度提升。 根据目前效果来看,商品的获取速度由原本的分级提升至秒级。至于订单的构造和履约推产品批号是生产日期吗进流程复杂,如下图所示产品设计,测试同学往往需要准备买卖家两个账号,分别发布和购买商品,后续履约推进还需联系开发,中间的等待过程往往总是漫长。现在通过造数工厂即可自助造单和履约推进,单笔交易流程回归耗时由1h下降到分钟级别。
交易测试流程.png
自年初上线以来,造数平台已接入apple商品、交易、优惠三大业务线,覆盖核心商品类型20+,通过平台发布商品产品策略60000+,造单100+。此外还支撑了商品合规、商详升级等多个重构需求的数据准备工作,测试效率得到显著提升。后续,我们将从几个方面对平台进行持续优化:
- • 持续提升数据覆盖度,承接诸如订单诊断、商品诊断产品批号是生产日期吗、用户资产等更多的数据构造工作;
- • 目前平台的业务接入不支持自定义插件化扩展,降低接入成本将是我们持续努力的方向;
- • 丰富”测钉一体化”的交互模式,让平台所有的数据获取,做到一个群就够了。
平台希望通过快速的数据构造能力赋能业务测试,推进测试左移。让更多的闲鱼小二解放双手,从重复性的劳动中跳脱出来。