一种智能零售终端的库存数据一致性测试方法及系统与流程

摘要: 本发明涉及计算机软件测试,具体涉及一种智能零售终端的库存数据一致性测试方法及系统。背景技术:1、智能零售终端涵盖自动售货机、智能货柜等设备,广泛部署于商场、社区...
一种智能零售终端的库存数据一致性测试方法及系统与流程

本发明涉及计算机软件测试,具体涉及一种智能零售终端的库存数据一致性测试方法及系统。

背景技术:

1、智能零售终端涵盖自动售货机、智能货柜等设备,广泛部署于商场、社区场景,设备通过无线网络向云端后台持续上报商品库存变动消息。实际运营网络环境复杂多变,终端上报的库存消息常出现延迟送达、随机丢失、重复推送、发送乱序、字段内容篡改等传输异常。若云端后台针对异常消息的处理逻辑健壮性不足,会直接造成后台账面库存与终端内部真实物理库存数据不一致,引发多重业务风险:后台误判商品库存充足而不生成补货单据,导致货架空置、错失销售收益;库存账实不符还会造成财务核算数据失真,干扰商品进销存管控。

2、当前行业内针对终端库存一致性的测试手段存在明显短板:第一,网络异常依赖人工手动模拟,多采用插拔网线、人为限制带宽等粗放方式,测试效率低下,可复现的异常场景单一,无法模拟多类传输异常叠加的复杂网络波动;第二,缺少自动化持续比对机制,仅能人工抽查库存数据,无法在长时间测试周期内实时监测库存一致性变化趋势;第三,无标准化消息篡改注入能力,不能批量配置延迟区间、丢包概率、sku/数量篡改倍率、重复发送份数等精细化异常参数;第四,当检测出库存数据差异时,无法追溯该不一致现象对应的网络异常类型,难以快速定位后台库存处理逻辑缺陷。

3、现有测试方案难以在软件上线前充分暴露后台系统在不可靠数据传输场景下的库存处理漏洞,因此行业亟需一种能够系统化构造各类消息传输异常、自动完成库存数据比对、精确关联异常与账实差异的智能零售终端库存数据一致性测试方法。

技术实现思路

1、为此,本发明提供一种智能零售终端的库存数据一致性测试方法及系统,解决现有测试依靠人工模拟网络异常,可覆盖场景有限,缺少自动化持续比对能力,无法高效复现消息延迟、丢包、乱序等传输异常,难以在上线前充分暴露后台库存处理逻辑缺陷的问题。

2、为了实现上述目的,本发明提供如下技术方案:一种智能零售终端的库存数据一致性测试方法,包括:

3、s1、配置测试场景参数,确定参与测试的智能零售终端、测试时长、物理库存变化场景参数以及库存上报消息的篡改策略参数;

4、s2、根据所述物理库存变化场景参数,生成物理库存变化事件序列,将每一次库存变化事件记录为基准库存数据;

5、s3、在测试执行过程中,数据模拟网关拦截所述智能零售终端向后台系统发送的原始库存上报消息,根据所述篡改策略参数对所述原始库存上报消息执行对应的篡改操作,将篡改后/未经篡改的消息转发至后台系统;

6、s4、获取后台系统记录的各终端对应商品的库存快照数据,将所述库存快照数据与所述基准库存数据按时间序列进行对齐比对;

7、s5、当检测到所述库存快照数据与所述基准库存数据的差异超出预设容差阈值时,判定发生数据不一致事件,记录所述不一致事件的关联信息;测试结束后,汇总所有不一致事件,生成数据一致性测试报告。

8、作为智能零售终端的库存数据一致性测试方法优选方案,s1中,所述测试场景参数包括参与测试的终端id列表、测试时长、各商品sku的初始库存、销售速率概率分布函数、补货触发阈值、补货策略、补货延迟时长、换货事件触发概率、篡改策略;所述篡改策略配置单种/多种篡改操作叠加生效。

9、作为智能零售终端的库存数据一致性测试方法优选方案,所述销售速率概率分布函数为泊松分布,概率质量函数公式为:

10、

11、式中,为单位测试时长内商品销售出库件数;为单位时长实际销售件数,;为泊松分布均值,代表单位时长商品平均销售数量;为自然常数。

12、作为智能零售终端的库存数据一致性测试方法优选方案,s2中,生成所述物理库存变化事件序列的过程包括:基于预设的销售速率概率分布函数,在时间轴上随机生成商品销售出库事件序列;

13、基于预设的补货触发阈值,当模拟库存量低于所述补货触发阈值时,生成对应商品的补货入库事件序列,并计入补货延迟时长;

14、基于预设的换货事件触发概率,生成换货出库与换货入库的配对事件序列。

15、作为智能零售终端的库存数据一致性测试方法优选方案,s2中,所述基准库存数据包括每一次库存变化事件的时间戳、终端id、商品sku、变化类型、变化数量、变化后库存量。

16、作为智能零售终端的库存数据一致性测试方法优选方案,s3中,所述篡改操作包括:

17、延迟发送:将所述原始库存上报消息暂存至缓冲区,达到预设延迟时长后再转发至后台系统;

18、丢弃消息:按照预设丢弃概率,随机丢弃部分所述原始库存上报消息,不向后台系统进行转发;

19、篡改内容:修改所述原始库存上报消息中的库存数量字段/商品sku字段为预设篡改值后转发至后台系统;

20、重复发送:将同一条所述原始库存上报消息复制多份,按预设间隔分次转发至后台系统;

21、乱序发送:将多条所述原始库存上报消息的发送顺序打乱后转发至后台系统。

22、作为智能零售终端的库存数据一致性测试方法优选方案,s4中,所述对齐比对包括:

23、按照预设时间间隔,从后台系统调取各测试终端下各商品sku的实时所述库存快照数据;

24、以终端id、商品sku、时间戳为对齐维度,将所述库存快照数据与所述基准库存数据中的对应时刻库存值进行匹配;

25、计算同一维度下所述库存快照数据与所述基准库存数据的差值绝对值,将所述差值绝对值与预设容差阈值进行比较。

26、作为智能零售终端的库存数据一致性测试方法优选方案,s5中,所述不一致事件的关联信息包括:事件发生时间戳、终端id、商品sku、后台系统记录库存值、基准库存值、差异绝对值、差异方向、当前生效的篡改策略标签。

27、作为智能零售终端的库存数据一致性测试方法优选方案,还包括基于所述数据一致性测试报告,将所述不一致事件与对应篡改策略进行关联分析,识别后台系统库存处理逻辑的缺陷类型;

28、所述缺陷类型包括:消息延迟导致的库存更新滞后缺陷、消息丢失导致的库存缺失缺陷、消息重复导致的库存重复累加缺陷、消息乱序导致的库存状态错乱缺陷、消息内容错误导致的库存偏差缺陷。

29、本发明还提供一种智能零售终端的库存数据一致性测试系统,采用上述的智能零售终端的库存数据一致性测试方法,包括:

30、参数配置单元:用于配置测试场景参数,确定参与测试的智能零售终端、测试时长、物理库存变化场景参数以及库存上报消息的篡改策略参数;

31、基准数据生成单元:用于根据所述物理库存变化场景参数,生成物理库存变化事件序列,将每一次库存变化事件记录为基准库存数据;

32、报文劫持篡改单元:用于在测试执行过程中,数据模拟网关拦截所述智能零售终端向后台系统发送的原始库存上报消息,根据所述篡改策略参数对所述原始库存上报消息执行对应的篡改操作,将篡改后/未经篡改的消息转发至后台系统;

33、库存数据比对单元:用于获取后台系统记录的各终端对应商品的库存快照数据,将所述库存快照数据与所述基准库存数据按时间序列进行对齐比对;

34、异常数据与报告输出单元:用于当检测到所述库存快照数据与所述基准库存数据的差异超出预设容差阈值时,判定发生数据不一致事件,记录所述不一致事件的关联信息;测试结束后,汇总所有不一致事件,生成数据一致性测试报告。

35、本发明具有如下优点:

36、第一、支持消息延迟、消息丢弃、消息内容篡改、消息重复发送、消息乱序发送五类传输异常,且可自由叠加多种异常策略,完整还原真实复杂网络波动场景,大幅拓宽库存一致性测试覆盖范围。

37、第二、从测试场景配置、基准库存数据模拟、异常消息注入、后台库存快照比对,到测试报告输出均可自动化执行,能够接入持续集成流水线,减少人工操作,提升长期回归测试效率。

38、第三、每一条库存不一致事件均绑定对应生效的篡改策略标识,可直接建立网络传输异常与后台库存处理缺陷的因果关联,便于研发人员快速定位问题根源。

39、第四、整体采用纯软件架构实现,无需购置昂贵的专业网络损伤仪,也无需大量实体智能零售终端,依托普通测试服务器即可完成整套测试流程,降低测试硬件投入。

40、第五、可基于测试报告自动匹配异常类型,识别出更新滞后、库存缺失、重复累加、库存错乱、库存偏差五类后台逻辑缺陷,省去人工逐条核对差异的工作量。