生成大数据测试用例的方法和装置制造方法及图纸

技术编号:21398720 阅读:16 留言:0更新日期:2019-06-19 06:55
本发明专利技术公开了一种生成大数据测试用例的方法和装置,涉及计算机技术领域。其中,该方法包括:对大数据脚本进行静态分析,以得到静态分析结果;根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图;遍历所述拆分结果图,以生成测试用例集。通过以上步骤,能够自动生成测试用例,节约测试用例准备时间和人力成本,降低测试难度,使得测试用例覆盖更全面。

【技术实现步骤摘要】
生成大数据测试用例的方法和装置
本专利技术涉及计算机
,尤其涉及一种生成大数据测试用例的方法和装置。
技术介绍
目前,在对大数据脚本进行测试时,测试人员是先通过代码走读方式了解脚本中的代码逻辑,然后,再根据代码逻辑以及需求文档要求,人工设计测试用例。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:第一、代码走读过程对测试人员的技术要求较高;第二、大数据脚本中涉及的数据库、表、字段较多,测试人员理解起来费时费力;第三、测试用例设计取决于测试人员的专业水平,不同个体设计的测试用例差异较大;第四,测试用例设计工作比较分散,不仅会浪费测试人员较多的精力,而且很容易出现测试用例覆盖不全的情况。
技术实现思路
有鉴于此,本专利技术提供一种生成大数据测试用例的方法和装置,能够自动生成测试用例,节约测试用例准备时间和人力成本,降低测试难度,使得测试用例覆盖更全面。为实现上述目的,根据本专利技术的一个方面,提供了一种生成大数据测试用例的方法。本专利技术的生成大数据测试用例的方法包括:对大数据脚本进行静态分析,以得到静态分析结果;根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图;遍历所述拆分结果图,以生成测试用例集。可选地,所述方法还包括:读取配置的脚本提取关键字,以根据所述脚本提取关键字执行所述对大数据脚本进行静态分析的步骤。可选地,所述配置的脚本提取关键字包括:select、from和where;所述对大数据脚本进行静态分析,以得到静态分析结果的步骤包括:从大数据脚本取出select子句中的目标字段名;从大数据脚本取出from子句中的源数据表名;从大数据脚本取出where子句中的提数条件;基于所述目标字段名、所述源数据表名以及所述提数条件构建关联关系图。可选地,所述预设的拆分规则包括:若所述提数条件满足:字段名与取值之间的比较连接符为“等于”,则将所述提数条件拆分成“所述字段名等于所述取值”以及“所述字段名不等于所述取值”两个条件分支;若所述提数条件满足:字段名与取值之间的比较连接符为“大于”或“大于等于”或“小于”或“小于等于”,则将所述提数条件拆分成“所述字段名大于所述取值”、“所述字段名等于所述取值”和“所述字段名小于所述取值”三个条件分支;若所述提数条件满足:一个字段名与另一字段名的比较连接符为“等于”,则将所述提数条件拆分成“所述一个字段名等于所述另一字段名”和“所述一个字段名不等于所述另一字段名”两个条件分支。为实现上述目的,根据本专利技术的另一方面,提供了一种生成大数据测试用例的装置。本专利技术的生成大数据测试用例的装置包括:分析模块,用于对大数据脚本进行静态分析,以得到静态分析结果;拆分模块,用于根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图;生成模块,用于遍历所述拆分结果图,以生成测试用例集。可选地,所述装置还包括:读取模块,用于读取配置的脚本提取关键字,以使所述分析模块根据所述脚本提取关键字对所述对大数据脚本进行静态分析。可选地,所述配置的脚本提取关键字包括:select、from和where;所述分析模块对大数据脚本进行静态分析,以得到静态分析结果包括:所述分析模块从大数据脚本取出select子句中的目标字段名;所述分析模块从大数据脚本取出from子句中的源数据表名;所述分析模块从大数据脚本取出where子句中的提数条件;所述分析模块基于所述目标字段名、所述源数据表名以及所述提数条件构建关联关系图。可选地,所述拆分模块根据的所述拆分规则包括:若所述提数条件满足:字段名与取值之间的比较连接符为“等于”,则将所述提数条件拆分成“所述字段名等于所述取值”以及“所述字段名不等于所述取值”两个条件分支;若所述提数条件满足:字段名与取值之间的比较连接符为“大于”或“大于等于”或“小于”或“小于等于”,则将所述提数条件拆分成“所述字段名大于所述取值”、“所述字段名等于所述取值”和“所述字段名小于所述取值”三个条件分支;若所述提数条件满足:一个字段名与另一字段名的比较连接符为“等于”,则将所述提数条件拆分成“所述一个字段名等于所述另一字段名”和“所述一个字段名不等于所述另一字段名”两个条件分支。为实现上述目的,根据本专利技术的再一个方面,提供了一种电子设备。本专利技术的电子设备,包括:一个或多个处理器;以及,存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术的生成大数据测试用例的方法。为实现上述目的,根据本专利技术的又一个方面,提供了一种计算机可读介质。本专利技术的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术的生成大数据测试用例的方法。上述专利技术中的一个实施例具有如下优点或有益效果:通过对大数据脚本进行静态分析,根据预设的拆分规则对静态分析结果中的提数条件进行拆分,并通过遍历拆分结果图等步骤,能够自动生成测试用例,节约测试用例准备时间和人力成本,降低测试难度,使得测试用例覆盖更全面。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术一个实施例的生成大数据测试用例的方法的主要步骤示意图;图2a是根据本专利技术另一实施例的生成大数据测试用例的方法的主要步骤示意图;图2b是本专利技术实施例中构建的关联关系图的示意图;图3是根据本专利技术一个实施例的生成大数据测试用例的装置的主要模块的示意图;图4是根据本专利技术另一实施例的生成大数据测试用例的装置的主要模块的示意图;图5是本专利技术实施例可以应用于其中的示例性系统架构图;图6是适于用来实现本专利技术实施例的电子设备的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要指出的是,在不冲突的情况下,本专利技术中的实施例以及实施例中的特征可以相互组合。在介绍本专利技术实施例之前,首先对本专利技术实施例涉及的部分技术术语进行说明。Hadoop:一个由Apache基金会开发的分布式系统基础框架。基于这一框架,用户可以在不了解分布式底层细节的情况下,开发分布式程序。Hadoop主要由HDFS和MapReduce组成。Hive:是基于Hadoop的一个数据仓库基础架构,其提供了一系列的工具,用于进行数据提取、转换和加载。其可以把Hadoop下结构化数据文件映射为一张Hive中的表,并提供类sql查询功能,可以将sql语句装换为MapReduce任务进行运行。图1是根据本专利技术一个实施例的生成大数据测试用例的方法的主要步骤示意图。如图1所示,本专利技术实施例的生成大数据测试用例的方法包括:步骤S101、对大数据脚本进行静态分析,以得到静态分析结果。示例性的,所述大数据脚本可以是基于Hadoop和Hive框架开发的脚本。一般来说,大数据脚本可通过if分支执行不同的处理逻辑,在每个处理逻辑中可通过where子句、on子句等查本文档来自技高网...

【技术保护点】
1.一种生成大数据测试用例的方法,其特征在于,所述方法包括:对大数据脚本进行静态分析,以得到静态分析结果;根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图;遍历所述拆分结果图,以生成测试用例集。

【技术特征摘要】
1.一种生成大数据测试用例的方法,其特征在于,所述方法包括:对大数据脚本进行静态分析,以得到静态分析结果;根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图;遍历所述拆分结果图,以生成测试用例集。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:读取配置的脚本提取关键字,以根据所述脚本提取关键字执行所述对大数据脚本进行静态分析的步骤。3.根据权利要求2所述的方法,其特征在于,所述配置的脚本提取关键字包括:select、from和where;所述对大数据脚本进行静态分析,以得到静态分析结果的步骤包括:从大数据脚本取出select子句中的目标字段名;从大数据脚本取出from子句中的源数据表名;从大数据脚本取出where子句中的提数条件;基于所述目标字段名、所述源数据表名以及所述提数条件构建关联关系图。4.根据权利要求1所述的方法,其特征在于,所述预设的拆分规则包括:若所述提数条件满足:字段名与取值之间的比较连接符为“等于”,则将所述提数条件拆分成“所述字段名等于所述取值”以及“所述字段名不等于所述取值”两个条件分支;若所述提数条件满足:字段名与取值之间的比较连接符为“大于”或“大于等于”或“小于”或“小于等于”,则将所述提数条件拆分成“所述字段名大于所述取值”、“所述字段名等于所述取值”和“所述字段名小于所述取值”三个条件分支;若所述提数条件满足:一个字段名与另一字段名的比较连接符为“等于”,则将所述提数条件拆分成“所述一个字段名等于所述另一字段名”和“所述一个字段名不等于所述另一字段名”两个条件分支。5.一种生成大数据测试用例的装置,其特征在于,所述装置包括:分析模块,用于对大数据脚本进行静态分析,以得到静态分析结果;拆分模块,用于根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图;生成模块,...

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

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

1