接上篇:https://developer.aliyun.com/article/1225729?spm=a2c6h.13148508.setting.33.595d4f0eudDbz0
二、 方案设计
如下图所示为闲鱼业务的整体架构图,造数平台需要触达多条业务线,支撑商品、订单、优惠等业务的数据构造,并为测试自动化工具提供数据支持。此外,我们期望合作方在进行产品验收时,也能以便捷的方式获取到数据。
业务架构图
基于以上愿景,造数平台系统内部设计考虑到了可扩展性、易用性两大方面,其整体架构图如下图所示,一是提供了用户进行模板化管理的入口,通过可插拔的配置来自定义搭建自己所需的造数场景;二是和各平台打通,发挥各平台的优势,达到敏捷高效造数的目的。
造数架构设计图
1. 支持动态化配置
为了方便后续不同业务的接入,并为自动化巡检、CI/CD、接口测试等提供数据支持,平台期望以一种确保数据源动态可插拔的方式来承接:不同业务可结合自身业务,配置不同接入源类型的元数据模板,并做到数据源隔离;而后再基于元数据模板进行自定义的业务模板配置,整体步骤如下:
• 在造数平台上对业务元数据进行配置管理。
• 基于元数据进行业务模板化配置。
• 造数PC端、闲鱼APP以及钉钉机器人上将共享一份配置。
2. 打通多端造数入口
为了兼顾不同用户人群的使用体验,平台上层入口支持了三种:PC工作台、闲鱼APP内和钉钉内交互机器人。三种渠道各有优势。
1) 闲鱼APP内
闲鱼APP内的优势在于可以自动获取设备环境信息。以商品域测试为例,闲鱼不同商品类型的发布入口不同,其中部分商品发布流程有一定时间成本。我们基于JS Bridge,拿到闲鱼app当前用户的登录态,一键发布宝贝,并获取到商品的schema信息跳转至商品详情页,方便测试同学进行快速验证。
闲鱼APP内发布商品,原文为gif
2) 钉钉内交互机器人
钉钉交互机器人的方式进行造数的优势在于便捷 、通用、简洁,可以和日常工作无缝衔接。举个栗子:验货宝业务是C2S2C的模式,中间部分订单节点的推进是需要联系开发或对应的服务商的。
遇到问题都需要拉群进行处理,如下图所示,我们将验货宝推单的功能做在钉钉内,支持机器人交互的方式进行推单,一是省去了联系开发和服务商推单的时间成本,二是如遇订单推进的相关问题,我们也可直接将错误信息反馈到群内,省去了换端的成本。
钉钉机器人交互
3) PC工作台
PC工作台操作的优势在于方便管理。在PC端,我们可以进行商品发布和订单模板的配置和自定义修改,其操作流程可参加上文中提及的动态化配置步骤。此外在PC端,我们还支持了模板克隆、以及批量造数等功能。
PC端批量造数
3. 提升数据覆盖度
目前平台主要覆盖了商品、交易、营销优惠三大业务线,支持构造商品、订单、交易履约以及营销优惠的数据构造。如下图所示为造数工厂目标覆盖的主要数据类型。
数据覆盖度
其中商品支持了诸如优品、营销以及一些基础商品类型的构造,目前全部类型都已覆盖完成。交易已支持C2C不同状态类型的订单构造,其他订单类型也已在持续接入中。
接下篇:https://developer.aliyun.com/article/1225726?groupCode=idlefish