闲鱼技术2022年度白皮书-技术质量主题-关于闲鱼测试数据构造,我有几条心得(中)

简介: 闲鱼技术2022年度白皮书-技术质量主题-关于闲鱼测试数据构造,我有几条心得

接上篇:https://developer.aliyun.com/article/1225729?spm=a2c6h.13148508.setting.33.595d4f0eudDbz0


二、 方案设计

 

如下图所示为闲鱼业务的整体架构图,造数平台需要触达多条业务线,支撑商品、订单、优惠等业务的数据构造,并为测试自动化工具提供数据支持。此外,我们期望合作方在进行产品验收时,也能以便捷的方式获取到数据。

 

image.png

业务架构图

 

基于以上愿景,造数平台系统内部设计考虑到了可扩展性、易用性两大方面,其整体架构图如下图所示,一是提供了用户进行模板化管理的入口,通过可插拔的配置来自定义搭建自己所需的造数场景;二是和各平台打通,发挥各平台的优势,达到敏捷高效造数的目的。

 

image.png

造数架构设计图

 

1. 支持动态化配置

 

为了方便后续不同业务的接入,并为自动化巡检、CI/CD、接口测试等提供数据支持,平台期望以一种确保数据源动态可插拔的方式来承接:不同业务可结合自身业务,配置不同接入源类型的元数据模板,并做到数据源隔离;而后再基于元数据模板进行自定义的业务模板配置,整体步骤如下:

 

在造数平台上对业务元数据进行配置管理

基于元数据进行业务模板化配置

造数PC端、闲鱼APP以及钉钉机器人上将共享一份配置

 

2. 打通多端造数入口

 

为了兼顾不同用户人群的使用体验,平台上层入口支持了三种PC工作台、闲鱼APP内和钉钉内交互机器人。三种渠道各有优势。

 

1) 闲鱼APP内

 

闲鱼APP内的优势在于可以自动获取设备环境信息。以商品域测试为例,闲鱼不同商品类型的发布入口不同,其中部分商品发布流程有一定时间成本。我们基于JS Bridge,拿到闲鱼app当前用户的登录态,一键发布宝贝,并获取到商品的schema信息跳转至商品详情页,方便测试同学进行快速验证。

 

image.png

闲鱼APP内发布商品,原文为gif

 

2) 钉钉内交互机器人

 

钉钉交互机器人的方式进行造数的优势在于便捷 、通用、简洁,可以和日常工作无缝衔接。举个栗子:验货宝业务是C2S2C的模式,中间部分订单节点的推进是需要联系开发或对应的服务商的。

 

遇到问题都需要拉群进行处理,如下图所示,我们将验货宝推单的功能做在钉钉内,支持机器人交互的方式进行推单,一是省去了联系开发和服务商推单的时间成本,二是如遇订单推进的相关问题,我们也可直接将错误信息反馈到群内,省去了换端的成本。

 

image.png

钉钉机器人交互

 

3) PC工作台

 

PC工作台操作的优势在于方便管理。在PC端,我们可以进行商品发布和订单模板的配置和自定义修改,其操作流程可参加上文中提及的动态化配置步骤。此外在PC端,我们还支持了模板克隆、以及批量造数等功能。

 

image.png

PC端批量造数

 

3. 提升数据覆盖度

 

目前平台主要覆盖了商品、交易、营销优惠三大业务线,支持构造商品、订单、交易履约以及营销优惠的数据构造。如下图所示为造数工厂目标覆盖的主要数据类型。

 

image.png

数据覆盖度

 

其中商品支持了诸如优品、营销以及一些基础商品类型的构造,目前全部类型都已覆盖完成。交易已支持C2C不同状态类型的订单构造,其他订单类型也已在持续接入中。

 

接下篇:https://developer.aliyun.com/article/1225726?groupCode=idlefish

相关文章
|
10月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
203 4
|
2月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
15天前
|
人工智能 Java 测试技术
单元测试覆盖率的自动控制技术
Jacoco是Java程序覆盖率工具,可以在pom.xml通过配置来自动控制程序的覆盖率
39 5
|
21天前
|
存储 测试技术 API
数据驱动开发软件测试脚本
今天刚提交了我的新作《带着ChatGPT玩转软件开发》给出版社,在写作期间跟着ChatGPT学到许多新知识。下面分享数据驱动开发软件测试脚本。
28 0
|
2月前
|
人工智能 资源调度 jenkins
精准化回归测试:大厂实践与技术落地解析
在高频迭代时代,全量回归测试成本高、效率低,常导致关键 bug 漏测。精准化测试通过代码变更影响分析,智能筛选高价值用例,显著提升测试效率与缺陷捕获率,实现降本增效。已被阿里、京东、腾讯等大厂成功落地,成为质量保障的新趋势。
|
4月前
|
安全 测试技术 持续交付
软考软件评测师——基于风险的测试技术
本文详细阐述了测试计划的核心要素与制定流程,涵盖测试范围界定、实施策略规划、资源配置及风险管理机制。通过风险识别方法论和评估模型,构建了完整的质量保障体系。同时,针对不同测试级别与类型提供具体配置建议,并提出技术选型原则与实施规范,确保测试活动高效有序开展,为项目成功奠定基础。内容结合实际经验,具有较强指导意义。
|
9月前
|
分布式计算 Shell MaxCompute
odps测试表及大量数据构建测试
odps测试表及大量数据构建测试
|
10月前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
118 11
|
10月前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
143 10
|
11月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
352 6