一种数据测试方法和装置制造方法及图纸

技术编号:21453776 阅读:30 留言:0更新日期:2019-06-26 04:43
本发明专利技术公开了一种数据测试方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据预期需求对被测模型的结果字段分类,并确定分类得到的各类结果字段对应的期望业务逻辑;解析被测模型中与各类结果字段对应的关键字,以确定各类结果字段对应的实际业务逻辑;确定实际业务逻辑与所述期望业务逻辑一致后,按照与期望业务逻辑一致的实际业务逻辑,验证被测模型的结果数据,从而完成所述被测模型的数据测试。该实施方式能够高效清晰地找出测试字段对应的处理逻辑,克服大数据测试中无法测试业务逻辑和定位业务逻辑计算中的问题的缺陷,对于代码能力不高的测试人员也可完成业务逻辑的测试验证,降低测试工作量,提高测试效率。

【技术实现步骤摘要】
一种数据测试方法和装置
本专利技术涉及计算机
,尤其涉及一种数据测试方法和装置。
技术介绍
随着互联网行业不断成熟,电商对于大数据的依赖也越来越大,人们对于数据型产品的需求也越来越多,这些数据型产品需要通过大数据计算才能满足需求,比如电商中的数据爬虫,数据清洗,数据整合、匹配等,数据产品系统的关键就是数据的正确性,测试同时如何才能保障系统质量,帮助开发人员更好的定位问题显得尤为重要。目前很多大数据计算大多通过Spark(专为大规模数据处理而设计的快速通用的计算引擎)或者HiveSQL(Hive是基于Hadoop构建的一套数据仓库分析系统,提供丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL(结构化查询语言)查询功能,可以将SQL语句转换为MapReduce(一个并行计算与运行软件框架)任务进行运行,通过自己的SQL去查询分析需要的内容,这套SQL简称HiveSQL,)计算,而这些计算对于用户来说又都是透明的,目前大数据测试的一般方法是按照需求及原定的业务逻辑,按照测试的思路将全量的数据源运行一遍,运行出期望结果,再使用开发代码运行出实际结果,将期望结果与实际结果对比,但仅通过测试结果数据只能判断结果的正确与否,但一旦测试结果不一致,对于带有复杂业务逻辑的计算无法定位到计算过程的问题(SQL计算对于测试完全透明,且通过MapReduce计算更无从查起),这样对于大数据的测试就失去了测试的意义。此外,对于几百行代码的SQL计算,逻辑复杂且代码不易读,目前还没有很好的办法解析SQL,简化SQL,分析其中的业务逻辑,必须要求SQL能力很强的测试人员才能清晰分析其中的逻辑和错误,因此,这种方法通常对测试人员的代码能力要求较高,需要自行编写出可以实现的代码才能运行出期望结果。并且,计算时涉及表和字段很多,且数据量巨大,通过全量计算期望结果来验证数据的的方式计算效率过低,且当期望结果计算错误时反而会更影响测试进度,既要验证实际结果还要保证期望结果的正确,增加了测试的工作量。当前的业务逻辑测试都是需要开发人员打印日志,在程序执行的时候,通过观察日志查看业务逻辑处理是否正确,再通过返回值和数据库保存及交接系统的处理来发现问题和定位问题。当前的业务逻辑测试方法无法应用于大数据测试,尤其是SQL的测试,当前的SQL测试对于其业务逻辑无法测试,也无法定位SQL的问题,遇到问题需要提交开发端去查找和定位。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:当前的大数据测试无法测试业务逻辑和定位业务逻辑计算中的问题;对测试人员的代码能力要求较高,测试工作量大且测试效率低。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据测试方法和装置,能够高效清晰地找出测试字段对应的处理逻辑,克服大数据测试中无法测试业务逻辑和定位业务逻辑计算中的问题的缺陷,对于代码能力不高的测试人员也可完成业务逻辑的测试验证,降低测试工作量,提高测试效率。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据测试方法。一种数据测试方法,包括:对被测模型的结果字段分类,并确定所述分类得到的各类结果字段对应的期望业务逻辑;解析所述被测模型中与所述各类结果字段对应的关键字,以确定所述各类结果字段对应的实际业务逻辑;确定所述实际业务逻辑与所述期望业务逻辑一致后,按照与所述期望业务逻辑一致的实际业务逻辑,验证所述被测模型的结果数据,从而完成所述被测模型的数据测试。可选地,解析所述被测模型中与所述各类结果字段对应的关键字,以确定所述各类结果字段对应的实际业务逻辑的步骤,包括:解析与所述各类结果字段对应的关键字,以得到与所述各类结果字段相关的数据源集合、逻辑和查询条件;根据所述数据源集合、逻辑和查询条件,确定所述各类结果字段对应的实际业务逻辑。可选地,根据预期需求对被测模型的结果字段分类,且所述分类得到的各类结果字段包括业务主字段,还包括关联所得字段和/或计算所得字段。可选地,确定所述实际业务逻辑与所述期望业务逻辑一致的步骤,包括:若所述结果字段为业务主字段,则确定所述业务主字段对应的实际业务逻辑与该业务主字段对应的期望业务逻辑包括相同的逻辑,且该业务主字段与根据该期望业务逻辑获取到的数据源集合中的字段一致;若所述结果字段为关联所得字段,则确定所述关联所得字段与根据该关联所得字段对应的期望业务逻辑获取到的数据源集合中的字段一致;若所述结果字段为计算所得字段,则确定所述计算所得字段对应的实际业务逻辑与该计算所得字段对应的期望业务逻辑包括相同的数据源集合、逻辑和查询条件。可选地,按照与所述期望业务逻辑一致的实际业务逻辑,验证所述被测模型的结果数据的步骤,包括:按照与所述期望业务逻辑一致的实际业务逻辑,对所述被测模型的结果数据进行数据抽样验证和数据汇总验证,其中:以一业务主字段作为目标业务主字段,从测试数据中抽取与目标结果数据记录对应的一条测试数据,其中,所述目标结果数据记录为所述目标业务主字段的值等于预设值的一条结果数据记录;使用抽取的该条测试数据,执行与所述期望业务逻辑一致的实际业务逻辑,并将得到的结果数据与通过所述期望业务逻辑得到的期望结果数据比对,以完成所述数据抽样验证;以及,按字段计算测试数据中与目标结果数据记录集合对应的多条测试数据的汇总值,以得到汇总的测试数据,其中,所述目标结果数据记录集合为所述目标业务主字段的值等于所述预设值的所有结果数据记录的集合;使用所述汇总的测试数据,与所述期望业务逻辑一致的实际业务逻辑,并将得到的结果数据与通过所述期望业务逻辑得到的期望结果数据比对,以完成所述数据汇总验证;根据所述数据抽样验证和所述数据汇总验证的结果得到所述数据测试的结果。根据本专利技术实施例的另一方面,提供了一种数据测试装置。一种数据测试装置,包括:分类模块,用于对被测模型的结果字段分类,并确定所述分类得到的各类结果字段对应的期望业务逻辑;解析模块,用于解析所述被测模型中与所述各类结果字段对应的关键字,以确定所述各类结果字段对应的实际业务逻辑;验证模块,用于确定所述实际业务逻辑与所述期望业务逻辑一致;测试模块,用于按照与所述期望业务逻辑一致的实际业务逻辑,验证所述被测模型的结果数据,从而完成所述被测模型的数据测试。可选地,所述解析模块还用于:解析与所述各类结果字段对应的关键字,以得到与所述各类结果字段相关的数据源集合、逻辑和查询条件;根据所述数据源集合、逻辑和查询条件,确定所述各类结果字段对应的实际业务逻辑。可选地,所述分类模块包括分类子模块:用于根据预期需求对被测模型的结果字段分类,且所述分类得到的各类结果字段包括业务主字段,还包括关联所得字段和/或计算所得字段。可选地,所述验证模块还用于:若所述结果字段为业务主字段,则确定所述业务主字段对应的实际业务逻辑与该业务主字段对应的期望业务逻辑包括相同的逻辑,且该业务主字段与根据该期望业务逻辑获取到的数据源集合中的字段一致;若所述结果字段为关联所得字段,则确定所述关联所得字段与根据该关联所得字段对应的期望业务逻辑获取到的数据源集合中的字段一致;若所述结果字段为计算所得字段,则确定所述计算所得字段对应的实际业务逻辑与该计算所得字段本文档来自技高网
...

【技术保护点】
1.一种数据测试方法,其特征在于,包括:对被测模型的结果字段分类,并确定所述分类得到的各类结果字段对应的期望业务逻辑;解析所述被测模型中与所述各类结果字段对应的关键字,以确定所述各类结果字段对应的实际业务逻辑;确定所述实际业务逻辑与所述期望业务逻辑一致后,按照与所述期望业务逻辑一致的实际业务逻辑,验证所述被测模型的结果数据,从而完成所述被测模型的数据测试。

【技术特征摘要】
1.一种数据测试方法,其特征在于,包括:对被测模型的结果字段分类,并确定所述分类得到的各类结果字段对应的期望业务逻辑;解析所述被测模型中与所述各类结果字段对应的关键字,以确定所述各类结果字段对应的实际业务逻辑;确定所述实际业务逻辑与所述期望业务逻辑一致后,按照与所述期望业务逻辑一致的实际业务逻辑,验证所述被测模型的结果数据,从而完成所述被测模型的数据测试。2.根据权利要求1所述的方法,其特征在于,解析所述被测模型中与所述各类结果字段对应的关键字,以确定所述各类结果字段对应的实际业务逻辑的步骤,包括:解析与所述各类结果字段对应的关键字,以得到与所述各类结果字段相关的数据源集合、逻辑和查询条件;根据所述数据源集合、逻辑和查询条件,确定所述各类结果字段对应的实际业务逻辑。3.根据权利要求1所述的方法,其特征在于,根据预期需求对被测模型的结果字段分类,且所述分类得到的各类结果字段包括业务主字段,还包括关联所得字段和/或计算所得字段。4.根据权利要求3所述的方法,其特征在于,确定所述实际业务逻辑与所述期望业务逻辑一致的步骤,包括:若所述结果字段为业务主字段,则确定所述业务主字段对应的实际业务逻辑与该业务主字段对应的期望业务逻辑包括相同的逻辑,且该业务主字段与根据该期望业务逻辑获取到的数据源集合中的字段一致;若所述结果字段为关联所得字段,则确定所述关联所得字段与根据该关联所得字段对应的期望业务逻辑获取到的数据源集合中的字段一致;若所述结果字段为计算所得字段,则确定所述计算所得字段对应的实际业务逻辑与该计算所得字段对应的期望业务逻辑包括相同的数据源集合、逻辑和查询条件。5.根据权利要求3所述的方法,其特征在于,按照与所述期望业务逻辑一致的实际业务逻辑,验证所述被测模型的结果数据的步骤,包括:按照与所述期望业务逻辑一致的实际业务逻辑,对所述被测模型的结果数据进行数据抽样验证和数据汇总验证,其中:以一业务主字段作为目标业务主字段,从测试数据中抽取与目标结果数据记录对应的一条测试数据,其中,所述目标结果数据记录为所述目标业务主字段的值等于预设值的一条结果数据记录;使用抽取的该条测试数据,执行与所述期望业务逻辑一致的实际业务逻辑,并将得到的结果数据与通过所述期望业务逻辑得到的期望结果数据比对,以完成所述数据抽样验证;以及,按字段计算测试数据中与目标结果数据记录集合对应的多条测试数据的汇总值,以得到汇总的测试数据,其中,所述目标结果数据记录集合为所述目标业务主字段的值等于所述预设值的所有结果数据记录的集合;使用所述汇总的测试数据,与所述期望业务逻辑一致的实际业务逻辑,并将得到的结果数据与通过所述期望业务逻辑得到的期望结果数据比对,以完成所述数据汇总验证;根据所述数据抽样验证和所述数据汇总验证的结果得到所述数据测试的结果。6.一种数据测试装置,其特征在于,包括:分类模块,用于对被测模型的结果字段分类,并确定所述分类得到的各类结果字段...

【专利技术属性】
技术研发人员:贺玉娇
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1