数据测试方法、装置、电子设备和存储介质制造方法及图纸

技术编号:30829078 阅读:17 留言:0更新日期:2021-11-18 12:37
本公开提供了一种数据测试方法、装置、电子设备和存储介质,涉及服务开发领域,具体涉及数据测试领域和智能检索领域,可应用于地图检索等场景。具体实现方案为:向基于旧版本数据运行的目标服务和基于新版本数据运行的目标服务分别发送测试样本;读取基于旧版本数据运行的目标服务响应于测试样本得到的第一运行结果;读取基于新版本数据运行的目标服务响应于测试样本得到的第二运行结果;基于与测试样本的类型匹配的比对机制,确定所述第一运行结果与第二运行结果之间的差异;以及基于所述差异,确定与基于新版本数据运行的目标服务对应的测试结果。应的测试结果。应的测试结果。

【技术实现步骤摘要】
数据测试方法、装置、电子设备和存储介质


[0001]本公开涉及服务开发领域,具体涉及数据测试领域和智能检索领域,可应用于地图检索等场景。

技术介绍

[0002]在数据上线后或数据上线之前,为了避免新上线数据对服务的影响,通常需要部署基于新版本数据运行的服务和基于旧版数据运行的服务,采用Diffy对该两个服务进行自动化测试。其中,Diffy是一种测试技术,能够自动检测服务,具体通过同时运行两个服务,来获取两个服务的运行结果,并根据两个服务的运行结果来推断基于新版本数据运行的服务存在的问题。

技术实现思路

[0003]基于此,本公开提供了一种提高测试精度的数据测试方法、装置、电子设备和存储介质。
[0004]根据本公开的一个方面,提供了一种数据测试方法,包括:向基于旧版本数据运行的目标服务和基于新版本数据运行的目标服务分别发送测试样本;读取基于旧版本数据运行的目标服务响应于测试样本得到的第一运行结果;读取基于新版本数据运行的目标服务响应于测试样本得到的第二运行结果;基于与测试样本的类型匹配的比对机制,确定第一运行结果与第二运行结果之间的差异;以及基于差异,确定与基于新版本数据运行的目标服务对应的测试结果。
[0005]根据本公开的另一个方面,提供了一种数据测试装置,包括:样本发送模块,用于向基于旧版本数据运行的目标服务和基于新版本数据运行的目标服务分别发送测试样本;第一结果读取模块,用于读取基于旧版本数据运行的目标服务响应于测试样本得到的第一运行结果;第二结果读取模块,用于读取基于新版本数据运行的目标服务响应于测试样本得到的第二运行结果;差异确定模块,用于基于与测试样本的类型匹配的比对机制,确定第一运行结果与第二运行结果之间的差异;以及结果确定模块,用于基于差异,确定与基于新版本数据运行的目标服务对应的测试结果。
[0006]根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的数据测试方法。
[0007]根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的数据测试方法。
[0008]根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开提供的数据测试方法。
[0009]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0010]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0011]图1是根据本公开实施例的数据测试方法和装置的应用场景示意图;
[0012]图2是根据本公开实施例的数据测试方法的流程示意图;
[0013]图3是根据本公开实施例的生成测试样本的原理示意图;
[0014]图4是根据本公开实施例的确定第一运行结果与第二运行结果之间的差异的原理示意图;
[0015]图5是根据本公开实施例的上线新版本数据的原理示意图;
[0016]图6是根据本公开实施例的数据测试装置的结构框图;以及
[0017]图7是用来实施本公开实施例的数据测试方法的电子设备的框图。
具体实施方式
[0018]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0019]本公开提供了一种数据测试方法,该方法包括样本发送阶段、运行结果读取阶段、结果比对阶段和测试结果确定阶段。在样本发送阶段中,向基于旧版本数据运行的目标服务和基于新版本数据运行的目标服务分别发送测试样本。在运行结果读取阶段中,读取基于旧版本数据运行的目标服务响应于测试样本得到的第一运行结果,并读取基于新版本数据运行的目标服务响应于测试样本得到的第二运行结果。在结果比对阶段,基于与测试样本的类型匹配的比对机制,确定第一运行结果与第二运行结果之间的差异。在测试结果确定阶段,基于差异确定与基于新版本数据运行的目标服务对应的测试结果。
[0020]以下将结合图1对本公开提供的方法和装置的应用场景进行描述。
[0021]图1是根据本公开实施例的数据测试方法和装置的应用场景示意图。
[0022]如图1所示,该实施例的场景100包括终端设备110和服务器120,该终端设备110可以通过网络与服务器120进行通信,网络可以包括有线或无线通信链路。
[0023]如图1所示,该服务器120中例如可以部署有提供服务的应用,提供的服务例如可以包括查询服务、导航服务等。该提供的服务需要基于数据来运行。例如,对于查询服务需要基于数据库中的数据来运行,以从数据库中查找到用户查询的数据。例如,导航服务需要基于高精地图(High

Definition Map)来运行,以从高精地图中定位到导航路线。在需要对服务运行所依赖的数据进行更新时,为了保证数据的更新不影响服务的运行,在新版数据上线之前,需要部署diff环境,在该diff环境中,服务基于新版数据而运行,并对该diff环境中的服务和基于旧版数据运行的服务(线上环境中的服务)进行自动化接口差异测试(diff测试)。
[0024]示例性地,diff环境和线上环境可以均部署于服务器120中,该服务器120提供有可供调用的第一接口121和第二接口122,以通过调用第一接口121来实现对基于旧版数据运行的服务的调用,通过调用第二接口122来实现对基于新版本数据运行的目标服务的调用。相应地,在进行diff测试时,终端设备110例如可以将分别作为多个样本的多组参数130
依次传入该第一接口121和第二接口122,以使得基于旧版数据运行的服务根据传入的参数来运行,得到第一运行结果140,并使得基于新版本数据运行的目标服务根据传入的参数来运行,得到第二运行结果150。
[0025]如此,终端设备110可以通过分析第一运行结果140和第二运行结果150,得到diff测试的测试结果160。例如,终端设备可以将第一运行结果140与金标准进行对比,得到对比结果A;同时将第二运行结果与金标准进行对比,得到对比结果B。随后,基于结果A与结果B得到diff测试的测试结果。其中,金标准由人工依据线上服务的返回信息进行标注而得到,指示根据经验确定的运行结果的标准结果。可以理解的是,上述得到测试结果的方法还可以采用本公开下文描述的方法,本公开对此不做限定。
[0026]其中,作为多个样本的多组参数130例如可以由人工线下构造得到。或者可以为线上实时产生的请求本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据测试方法,包括:向基于旧版本数据运行的目标服务和基于新版本数据运行的目标服务分别发送测试样本;读取基于所述旧版本数据运行的所述目标服务响应于所述测试样本得到的第一运行结果;读取基于所述新版本数据运行的所述目标服务响应于所述测试样本得到的第二运行结果;基于与所述测试样本的类型匹配的比对机制,确定所述第一运行结果与所述第二运行结果之间的差异;以及基于所述差异确定与基于所述新版本数据运行的目标服务对应的测试结果。2.根据权利要求1所述的方法,还包括通过以下方式生成所述测试样本:获取基于所述旧版本数据运行的目标服务响应的多个历史请求数据,及基于所述旧版本数据运行的目标服务响应于所述多个历史请求数据分别得到的多个历史运行结果;其中,所述多个历史请求数据中的每个历史请求数据包括查询词;基于所述查询词,确定所述多个历史请求数据中的目标请求数据,作为所述测试样本;以及基于所述多个历史运行结果中响应于所述测试样本得到的历史运行结果,确定所述测试样本的类型。3.根据权利要求2所述的方法,其中,确定所述多个历史请求数据中的目标请求数据包括:确定所述多个历史请求数据包括的查询词中出现次数高于预定次数的目标查询词;以及确定所述多个历史请求数据中包括所述目标查询词的请求数据,得到所述目标请求数据。4.根据权利要求1所述的方法,其中,所述测试样本的类型包括响应于测试样本得到的运行结果为精准信息的精准需求类型;所述方法还包括:获取为所述精准需求类型的测试样本分配的主需求信息;确定所述第一运行结果与所述第二运行结果之间的差异包括:确定所述第一运行结果中所述主需求信息的第一召回信息及所述第二运行结果中所述主需求信息的第二召回信息;以及基于所述第一召回信息和所述第二召回信息,确定所述第一运行结果与所述第二运行结果之间是否存在差异。5.根据权利要求4所述的方法,其中,所述测试样本包括所述精准需求类型的多个第一样本;所述第一运行结果包括分别对应所述多个第一样本的多个第一子结果,所述第二运行结果包括分别对应所述多个第一样本的多个第二子结果;所述多个第一子结果和所述多个第二子结果中的每个结果均包括按序排列的多个需求信息;所述第一召回信息包括以下至少之一:所述多个第一子结果中的第一目标结果,其中,所述第一目标结果中排在较前位置的第一预定数量个需求信息包括所述主需求信息;
所述多个第一子结果中第二目标结果的第一比例,其中,所述第二目标结果中排在较前位置的第二预定数量个需求信息包括所述主需求信息;所述主需求信息针对所述多个第一子结果中每个结果的第一位置;所述第二召回信息包括以下至少之一:所述多个第二子结果中的第三目标结果,其中,所述第三目标结果中排在较前位置的第一预定数量个需求信息包括所述主需求信息;所述多个第二子结果中第四目标结果的第二比例,其中,所述第四目标结果中排在较前位置的第二预定数量个需求信息包括所述主需求信息;所述主需求信息针对所述多个第二子结果中每个结果的第二位置。6.根据权利要求5所述的方法,其中,基于所述第一召回信息和所述第二召回信息,确定所述第一运行结果与所述第二运行结果之间是否存在差异包括以下至少之一:在所述第一比例和所述第二比例之间的差值大于预定差值的情况下,确定所述第一运行结果与所述第二运行结果之间存在差异;在所述多个第一样本中第一目标样本的数量大于第三预定数量的情况下,确定所述第一运行结果与所述第二运行结果之间存在差异,其中,响应于所述第一目标样本得到所述第一目标结果,但响应于所述第一目标样本得不到所述第三目标结果;或者响应于所述第一目标样本得到所述第一目标结果和所述第三目标结果,但所述主需求信息针对得到的所述第一目标结果的第一位置相较于所述主需求信息针对得到的所述第三目标结果的第二位置靠前。7.根据权利要求4所述的方法,其中,所述测试样本的类型还包括除所述精准需求类型外的其他类型;所述测试样本包括所述其他类型的多个第二样本,所述第一运行结果包括分别对应所述多个第二样本的多个第一子结果,所述第二运行结果包括分别对应所述多个第二样本的多个第二子结果;所述多个第一子结果和所述多个第二子结果中的每个结果均包括按序排列的多个需求信息;确定所述第一运行结果与所述第二运行结果之间的差异还包括:在所述多个第二样本中第二目标样本的比例大于预定比例的情况下,确定所述第一运行结果与所述第二运行结果之间存在差异,其中,对应所述第二目标样本的第一子结果中的目标需求信息与对应所述第二目标样本的第二子结果中的目标需求信息相一致,所述目标需求信息为所述多个需求信息中排在较前位置的第四预定数量个信息,其中,在所述第一运行结果与所述第二运行结果之间存在差异的情况下,与基于所述新版本数据运行的目标服务对应的测试结果为测试失败。8.根据权利要求1所述的方法,还包括:针对部署有所述目标服务的多个电子设备,确定所述多个电子设备中的目标电子设备所部署的目标服务为基于所述新版本数据运行的目标服务,其中,所述新版本数据已被上传至所述目标电子设备,且未针对所述目标电子设备所部署的目标服务进行数据测试,其中,所述新版本数据被分级上传至所述多个电子设备,针对所述多个电子设备,在与上传了所述新版本数据的第一电子设备所部署的目标服务对应的测试结果为测试成功的情况下,所述新版本数据被上传至位于所述第一电子设备的下一级的第二电子设备。
9.一种数据测试装置,包括:样本发送模块,用于向基于旧版本数据运行的目标服务和基于新版本数据运行的目标服务分别发送测试样本;第一结果读取模块,用于读取基于所述旧版本数据运行的所述目标服务响应于所述测试样本得到的第一运行结果;第二结果读取模块,用于读取基于所述新版本数据运行的所述目标服务响应于所述测试样本得到的第二运行结果;差异确定模块,用于基于与所述测试样本的类型匹...

【专利技术属性】
技术研发人员:徐玲郭太苹孙建丽陈静
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1