分享好友 最新资讯首页 最新资讯分类 切换频道
订单导出的预发和线上的自动化对比工具
2024-12-28 02:11

订单导出需要将交易数据通过报表的形式导出并提供下载給商家,供商家发货、对账等。由于交易的场景非常多,承接多个业务(微商城、零售单店、零售连锁版、餐饮),订单类型很多,新老报表的字段覆盖交易、支付、会员、优惠、发货、退款、特定业务等,合计超过100个。每次代码变更(尤其是比较大的改动),如果想要手工验证指定时间段内的绝大多数场景下绝大多数订单类型的所有字段都没有问题,在前端页面点击下载报表,然后手工对比,将是非常大的工作量。因此,迫切需要一个自动化的对比工具,对比变更分支与线上分支的导出报表,找出和分析差异,修复问题。

为什么选择要在预发而不在QA进行呢? 因为订单导出的准确性不仅包含导出和下载功能(20%),更重要的是数据的准确性(80%)。而QA的数据不一定准确,且涵盖面不广,不准确的数据会导致错误的对比结果,对变更的影响造成很大的干扰,延误时间。 因此,这里直接选择用线上的数据来做对比,有时也会意外发现线上数据的一点问题。

先做出一个假定:如果master分支的线上逻辑是没有问题的,那么预发的branch分支导出的结果,应该跟线上保持一致; 如果线上的逻辑有问题,那么预发 branch 分支导出的结果,应该有部分跟线上不一致,且不一致的地方根据推断应该仅跟改动部分有关。 分两种情况:

  • 系统代码优化与重构:逻辑没有改动,那么预发和线上的导出结果应该完全一致。如果有不一致的情况发生,那么需要分析不一致的原因,决定是否可以接受和取舍。
  • 业务逻辑优化:比如在某个场景下,“订单类型”字段原来输出“分销买家订单”,现在需要输出“分销买家订单/拼团订单”,那么导出结果的不一致应该限于“订单类型”。当然,如果有其他报表字段的输出也依赖于“订单类型”字段,那么可能其他字段也会不一致,这时候需要进一步分析。

整体思路如下:

  • 使用 Python 来完成该任务,因为 Python 非常简洁实用 ,适合做质量要求不是非常高的接口测试工具;
  • 分别往预发和线上发送相同的请求,然后通过导出ID拿到预发请求的文件和线上请求的文件,然后读取并逐字段对比,打印出差异;
  • 将对比结果保存在 /tmp/cmp_export.txt , 发送邮件保存。
  • 不同店铺的不同业务配置的导出测试用例通过一个单独的配置文件来给出,测试用例配置与请求测试功能分离。

这里使用了闭包的技术来配置化地构造大量测试用例。参阅:Python使用闭包结合配置自动生成函数。

为了做一个尽可能通用一点的工具框架,需要将通用部分尽可能抽离出来。

从流程上看: 构造请求 - 发送请求 - 获取结果 - 比较结果并输出 。其中,具体请求会有所不同,获取结果的方式会有所不同,比较结果的方法可能不同。需要自定义请求构造函数、获取结果函数、比较函数。 不过从中也可以抽离通用部分。

  • 可以根据基本请求自动生成批量请求;
  • 发送 http rest 请求获取结果是通用的;
  • 逐行对比字段是通用的。

这里拆分成五个文件:

  • conf.py :工具的配置部分
  • common.py :包含可复用的基础功能函数,基本不用动;
  • cases.py :是测试用例构造部分;
  • export.py :是根据具体业务的定制化部分,需要实现 getFromService, compare 函数。
  • test.py :是测试入口,基本不用动。

test.py : 主测试程序。 只要运行 python test.py 即可。然后看看是否有 diff 。如果没有 diff ,那就说明预发和线上导出结果一致; 如果有 diff ,就需要仔细分析 diff ,找出原因并解决。


common.py


cases.py


export.py 定制化部分


conf.py



最新文章
魅影直播:一个创新互动和丰富娱乐内容并重的全新直播平台!
随着网络直播的普及,各种直播平台层出不穷,其中“魅影直播”凭借其独特的特色和创新玩法,逐渐吸引了大量用户的关注。作为一款
在Docker容器里安装WebSphere
记录下在在Docker容器里安装webshpere的步骤,前提是已经安装好了docker,能够正常使用。(1)docker安装websphere1.  获取镜像
哔哩哔哩b站引流获客策略与广告开户详细指南
B站引流获客策略与广告开户详细指南一、B站作为年轻人群娱乐平台的价值挖掘B站,这个充满活力与创意的视频分享平台,已逐步成为
竞价排名,如何让你的网站在竞争中胜出?
竞价排名是一种非常有效的网络营销策略,它可以让你的网站在搜索引擎结果页(SERP)中获得更高的排名,从而吸引更多的潜在客户。
“雪亮工程”大项目:这8个省市最值得关注,占全国6成多
    【CPS中安网 cps.com.cn】 2023年,受整个经济大环境的影响,各地千万级“雪亮工程”及社会治安视频监控项目招标大幅压
《爱在日落时》短剧在线观看,霸道少爷爱上我(电视剧)短剧在线观看,霸道少爷爱上我100集免费短剧在线观看
在线观看短剧《爱在日落时》及电视剧《霸道少爷爱上我》。这部短剧共100集,讲述了一段动人的爱情故事。剧中,一个霸道的少爷在
蛛丝马迹:“蓝艺传媒”是騙局吗?被骗不允许你还不知道,真相令人无法相信!
某天晚上,柳先生玩手机,浏览到一个网站,里面弹出一个链接被骗!不可信!细节回想就是猫腻揭开!!,在好奇心的驱使下,柳先生下载
淘宝新3:4闪图引流技术有什么运用
2019年01月02日王瑞-专研各种淘宝技术并持续更新,淘宝图片技术:如淘宝双图技术,淘宝白图技术等; 淘宝标题技术:如淘宝关键词
手机怎么屏蔽网址
在现代社会,智能手机已成为我们日常生活中不可或缺的一部分。然而,有时我们可能希望屏蔽某些网址,以避免访问不安全或不适宜的
寺库手表 国内疫情后奢侈品消费高速反弹,年轻一代成消费主力
寺库手表 国内疫情后奢侈品消费高速反弹,年轻一代成消费主力研究|陈小雅写 |赵子孟随着国内疫情消退,国民消费逐步恢复。其中,