R2在全渠道业务线的落地

这篇具有很好参考价值的文章主要介绍了R2在全渠道业务线的落地。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

随着业务的增长,系统的高频率迭代,质量保障工作迫切需要引入更加科学高效的测试方法来助力业务高质量的交付。长城项目一期测试中,全渠道质量团队引入技术平台部R2技术,极大的提升了项目交付的质量。因此,本文将重点介绍全渠道质量团队是如何利用R2来保障业务质量的。

一、为什么引入R2?

全渠道长城项目是将全渠道现有交易能力下沉至交易中台,在技术系统层面实现了线上线下系统深度一体化,为零售的全渠道技术(人通、货通、场通、数据通)奠定了基石,贯穿从全渠道门店、商品、采购、促销、优惠券、通用下单、支付到售后的整个订单生命周期。项目涉及改动的应用多达27+,接口300+,业务范围极广。如果完全依赖传统的人工测试,那么在有限的时间内,不仅需要投入大量人力,同时也很难保证每次迭代回归覆盖了所有业务场景,最终也会影响项目交付的质量。

因此,为了更加全面的有效的覆盖线上的所有业务场景,全渠道质量团队调研了适用于长城项目改造前后数据对比的平台工具,最后在多种工具中选择了技术平台部的R2工具。R2的全称是Record和Replay,即录制和回放。测试同事与R2团队沟通试用后,发现它是一款非常适合于大型项目大量数据对比的辅助测试工具。另外,R2的接入也非常简单,仅需要在应用中接入所要求的pfinder版本,R2就可以找到测试的应用,并进行辅助测试。通过录制线上真实的流量,回放至线上或者测试环境中,不仅可以帮助测试完善业务测试用例,同时通过mock 上游jsf接口、mysql数据库、jimdb缓存的方式,可以屏蔽外部对于待测代码的影响,只关注于系统内部的代码改动。

基于以上R2的定位和特点,R2完全可以助力系统的技改类测试和回归测试。本文所介绍的长城项目属于技改类测试。

二、R2如何赋能全渠道生态业务测试?

首先,对相关接口进行线上流量的录制。然后,异步回放到待测应用中。最后,根据接口在线上和待测应用的diff结果以及录制的相关请求,综合分析和评估系统是否达到了上线标准。以长城项目促销业务为例,介绍如下。

2.1 录制和回放

由于长城项目的促销业务对用例的实时性要求高,因此采用实时DIFF助力回归测试。实时DIFF和离线DIFF的主要区别是:离线是先录制好线上流量,暂时不回放,等需要回放时再回放。而实时是录制完成后立刻开始异步回放,从而减少时效性对测试结果的影响。实时DIFF对应的录制和回放任务需要注意以下三点:

任务设置:设置任务名称,选择回放环境,选择被测试应用。如图2.1左上角所示。

链路设置:首先需要选择要实时DIFF的接口,每个接口分别开启接口回放和选择要回放的接口别名。注意:该别名是后续录制完流量要进行接口再次请求的别名。 然后设置接口响应相关的规则。其中,接口影响对比规则有3种,常用的是第一种和第二种,第三种需要自己写对比脚本。请求对比规则的equals method指进行整个方法的对比,会对比方法内的所有字段。可视化配置指需要设置忽略的字段,如果响应结果里有list类型则需要设置list内字段的排序,以保证数据比对的准确性。图2.1中展示了部分示例。

图2.1

应用设置:指选择录制的机器,后续会将这些机器上录制的流量异步回放到待测应用中。如图2.1中右下角所示,所选择的机器即为机器对应的IP。

2.2 结果分析

实时DIFF任务回放完成后,点击结果可以看到本次任务所录制的请求,及产生DIFF的请求有多少。如果有DIFF的任务,则可以通过对比结果查看具体是哪个方法的请求结果不一样。如图2.2所示。

图2.2

以促销的一个接口实时DIFF结果为例。图2.3和2.4分别是查询某个秒杀场次下对应sku的接口请求参数和响应结果,其中图2.3中接口入参主要包括门店id,场次和租户,响应结果中每个sku都包含该sku对应的促销id,促销价和限购信息,其中boundNumber表示活动限购数,surplusRepertory表示活动库存。

图2.3

图2.4左侧为当前的请求结果,右侧为历史录制的结果。可以发现左右两个结果中的同一个sku的同一个促销surplusRepertory对应的值不一样。对此,分析造成不同的原因如下:

(1)首先考虑到异步回放也会存在一定的时间差,所以实时查询的剩余库存可能不一致。但是历史版本里对应剩余库存是0,并且历史版本是线上最先进行请求的,这个请求是早于左侧的请求的,如果是时间差的原因,则只会出现左侧剩余库存小于右侧的,所以diff的原因不是时间差导致的。

(2)从DIFF结果来看,问题为待测应用查询的剩余库存不同。通过分析发现,左侧每一个sku对应的剩余库存都是等于活动库存的,有订单产生剩余库存也没有做相应的变化。然后,通过相同场景的模拟定位发现待测应用对于设置了活动库存的场景,没有进行活动剩余库存动态变更,这样就会造成sku超卖的情况,影响业务运营。

图2.4

三、R2赋能全渠道的收益如何?

3.1 R2在全渠道的接入和使用情况

全渠道从2021.12开始接入R2,在R2团队的指导下,1天内快速完成了27个核心应用和320个接口的接入,目前接入约79+个应用。长城项目在2021年12月份上线以后到2022年2月正式开始切流期间, 使用R2进行实时DIFF和离线DIFF,同时在后续的切流过程和切流完成后核心接口也采用实时DIFF测试,从而保证了系统的稳定性。

图3.1

图3.1展示了全渠道应用接入R2的发展情况,横坐标表示时间,纵坐标表示每个月全渠道已经接入R2的应用数。2021年12月底长城开始上线,为了更好的监控长城项目的质量,全渠道核心应用于该月陆续接入R2,并利用R2进行线上流量录制,回放到待测应用中,提前监控待测应用,提前发现不一致的地方,并及早的进行修复和优化。因为前期大部分应用接入了R2,所以后期新增的应用没有明显的变化。2022年2月切量完成后,2022年3月新增部分需求,然后继续对该部分需求接入R2进行测试。

图3.2

图3.2展示了全渠道使用R2进行实时DIFF和离线DIFF的任务数,横坐标表示时间,纵坐标表示任务数。蓝色表示实时DIFF任务,橘色是离线DIFF任务。2021年12月是各个应用接入R2的开始阶段,因此实时和离线DIFF任务想对都比较多。另外,开始时有的应用是一个接口建一个任务,但实际上其实一个应用可以将多个接口根据每个接口录制和回放的规则单独设置,即只需建一个任务即可。2022年2月完成切量前,大部分是研发使用R2进行长城项目的数据对比。2022年3月份测试使用R2进行日常项目和需求测试。其中,根据每个业务线的情况,对于实效性要求强的业务会优先选择实时DIFF,对实效性不强的业务还可以选择离线DIFF。从数据来看,使用实时DIFF进行需求测试居多。

3.2 长城项目中使用R2发现的业务数据问题

以促销和商品线接入R2进行实时DIFF为例,图3.3展示了长城上线前通过R2发现的bug数量。其中,商品&促销共发现140+问题,其中商品B端发现了76个问题,C端发现了37个问题。另外,促销B端发现了27个问题,促销C端发现了30个问题。图中B端指的运营管理后台,C端指七鲜前端。

图3.3

另外,基于R2对比结果可以发现,商品涉及的属性相对较多,所以R2会将切流前后每一个不一致的字段对比出来。其中,商品B端对比不一致的字段主要有商品状态、图片丢失、商品描述、商品名称、商品品牌等。导致这些数据不一致的主要原因是:(1)数据同步问题;(2)对于某些字段0和null的不一致;(3)字段没有对齐。使用R2的优势是,可以提前将这些不一致的对比出来,进行修复和优化,降低了项目上线的风险。

图3.3中展示的促销B端对比发现的问题主要是促销活动切流后查不到,但是C端可以命中,主要原因是数据同步异常和产品功能没有对齐,因此需要进行系统的数据修复和开发与产品对齐功能,从而保障上线质量。C端问题集中在用户实时请求后响应结果中只要有字段或者值不同,都将被对比出来。促销C端的问题也集中在了数据同步的问题。因此,R2在验证数据同步逻辑时起到了非常重要的作用。

四、总结和建议

本文主要介绍了全渠道质量团队是如何利用R2来保障业务质量的。从为什么引入R2开始,一步步介绍引入R2到全渠道落地及收益情况。基于长城项目促销业务,详细介绍了全渠道接入R2的应用情况和R2的使用情况,以及R2助力发现的问题汇总。最后,基于长城项目使用R2测试经验,提出一下几点使用建议:

来保障业务质量的。

(1)使用R2进行任务设置时,可以将一个应用的相关接口建立为一个任务,尽量不要一个接口建一个任务。

(2)可以借助R2获取一些接口的入参,将接口相关的参数进行沉淀,完善自动化测试用例。

(3)对于有DIFF的接口响应,可以在研发修复之后,直接进行DIFF回放测试,不需要重新执行任务。另外,对实时性要求高的,可以借助DeepTest进行手动模拟DIFF的请求进行验证。实时性要求不高的就可以借助R2的离线DIFF回放功能。

(4)对于返回结果结构复杂的,可以设置要对比的字段或者要过滤的字段,并沉淀一个任务模版,后期稍作改动就可以复用,提高创建任务的效率。

作者:京东零售 杨亚晓

来源:京东云开发者社区文章来源地址https://www.toymoban.com/news/detail-632518.html

到了这里,关于R2在全渠道业务线的落地的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阳光能源,创造永远:光模块的未来”:随着大数据、区块链、云计算和5G的发展,光模块成为满足不断增长的数据流量需求的关键技术

    光模块的类型介绍: 为了适应不同的应用需求,不同参数和功能的光模块应运而生。光模块的分类方式及类型详见如下: 🔎封装形式🔍: 📣📢光模块按照封装形式来分有以下几种常见类型:SFP、SFP+、SFP28、QSFP+、QSFP28以及QSFP-DD。 📣📢SFP光模块是GBIC的升级版,最高速率

    2024年04月29日
    浏览(44)
  • Mysql中如果建立了索引,索引所占的空间随着数据量增长而变大,这样无论写入还是查询,性能都会有所下降,怎么处理?

    索引所占空间的增长确实会对MySQL数据库的写入性能和查询性能造成影响,这主要是由于索引数据过多时会导致磁盘I/O操作变得非常频繁,从而使性能下降。为此,可以采取以下几种方式来减缓这种影响:   1. 限制索引的大小:可以考虑为索引指定大小限制,在存储时仅存储

    2023年04月23日
    浏览(52)
  • 在企业中应用的区块链应能够扩容以满足业务条线的需求

    发表时间:2022年8月19日 信息来源:bsvblockchain.org 企业将业务条线(LoB)应用迁移至BSV区块链涉及到对业务的重大规划和评估。在采用新的架构之前,决策过程中的多个阶段的问题需要解决。 对于企业来说,将公链应用于关键的业务条线(LoB)之中没有什么值得担心的问题。

    2023年04月16日
    浏览(43)
  • S2B2C平台协同管理业务详解 | 数商云S2B2C系统赋能新能源汽车行业高价值增长

    今年上半年,我国新能源汽车产业依然保持着高速发展的强劲态势,根据中国汽车工业协会发布的汽车产业半年报,2022上半年我国新能源汽车产销同比增长1.2倍,市场占有率已达21.6%。面对新能源汽车大蓝海市场,新能源汽车赛道也不断迎来新的入局者,除了传统造车企业,

    2024年01月15日
    浏览(56)
  • 百分比图:解读数据,驱动业务增长

    在当今信息爆炸的时代,数据成为了各行各业决策的重要依据。而在数据展示的众多形式中, 百分比图 凭借其简洁直观的表达方式和强大的信息传递能力,成为了企业和组织不可或缺的工具。本文将带您一同探索百分比图的魅力,揭示其在决策智慧中的重要作用。   百分比

    2024年02月05日
    浏览(66)
  • 智能搜索引擎 | 驱动电商业务增长实践

    开放搜索是阿里集团搜索业务中台,基于大数据深度学习在线服务体系打造的智能搜索云服务产品。拥有核心引擎、召回排序、搜索引导、充分开放等核心能力,可应用在电商行业、教育行业、内容行业等场景。目前帮助数千家客户搭建自己的搜索业务。 实践案例:https://

    2024年02月11日
    浏览(56)
  • 如何消除“信息孤岛”对业务增长的威胁?

    根据CMSWire的数据,员工平均每天要花36%的时间来查找和整合信息。但44%的情况下,他们找不到信息。这种时间和精力的浪费就是信息孤岛造成的。 什么是信息孤岛? 当部门存储数据并限制其他人访问数据时,就会出现信息孤岛,从而导致协作减少、重复工作、生产力下降。

    2024年02月14日
    浏览(38)
  • 公司运营数据分析大屏:引领企业决策,驱动业务增长

    在数字化时代,数据已经成为企业决策的关键。为了更好地 洞察市场趋势 、 优化业务流程 、 提升运营效率 ,越来越多的企业开始引入数据分析大屏以分析公司运营状况。这一创新举措不仅改变了传统的管理模式,更引领企业迈向智能化决策的新篇章。 公司运营数据分析大

    2024年01月16日
    浏览(64)
  • 开源模型应用落地-业务优化篇(六)

    一、前言     经过线程池优化、请求排队和服务实例水平扩容等措施,整个AI服务链路的性能得到了显著地提升。但是,作为追求卓越的大家,绝不会止步于此。我们的目标是在降低成本和提高效率方面不断努力,追求最佳结果。如果你们在实施AI项目方面有经验,那一定会

    2024年02月22日
    浏览(49)
  • 开源模型应用落地-业务整合篇(四)

    一、前言     通过学习第三篇文章,我们已经成功地建立了IM与AI服务之间的数据链路。然而,我们目前面临一个紧迫需要解决的安全性问题,即非法用户可能会通过获取WebSocket的连接信息,顺利地连接到我们的服务。这不仅占用了大量的无效连接和资源,还对业务数据带来

    2024年01月24日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包