您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页生成大数据测试用例的方法和装置[发明专利]

生成大数据测试用例的方法和装置[发明专利]

来源:好走旅游网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 109901984 A(43)申请公布日 2019.06.18

(21)申请号 201711292433.9(22)申请日 2017.12.08

(71)申请人 北京京东尚科信息技术有限公司

地址 100195 北京市海淀区杏石口路65号

西杉创意园四区11号楼东段1-4层西段1-4层

申请人 北京京东世纪贸易有限公司(72)发明人 王沙 

(74)专利代理机构 中原信达知识产权代理有限

责任公司 11219

代理人 张一军 杨晓伟(51)Int.Cl.

G06F 11/36(2006.01)

权利要求书2页 说明书9页 附图4页

(54)发明名称

生成大数据测试用例的方法和装置(57)摘要

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

CN 109901984 ACN 109901984 A

权 利 要 求 书

1/2页

1.一种生成大数据测试用例的方法,其特征在于,所述方法包括:对大数据脚本进行静态分析,以得到静态分析结果;

根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图;

遍历所述拆分结果图,以生成测试用例集。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:读取配置的脚本提取关键字,以根据所述脚本提取关键字执行所述对大数据脚本进行静态分析的步骤。

3.根据权利要求2所述的方法,其特征在于,所述配置的脚本提取关键字包括:select、from和where;

所述对大数据脚本进行静态分析,以得到静态分析结果的步骤包括:从大数据脚本取出select子句中的目标字段名;从大数据脚本取出from子句中的源数据表名;从大数据脚本取出where子句中的提数条件;基于所述目标字段名、所述源数据表名以及所述提数条件构建关联关系图。

4.根据权利要求1所述的方法,其特征在于,所述预设的拆分规则包括:若所述提数条件满足:字段名与取值之间的比较连接符为“等于”,则将所述提数条件拆分成“所述字段名等于所述取值”以及“所述字段名不等于所述取值”两个条件分支;

若所述提数条件满足:字段名与取值之间的比较连接符为“大于”或“大于等于”或“小于”或“小于等于”,则将所述提数条件拆分成“所述字段名大于所述取值”、“所述字段名等于所述取值”和“所述字段名小于所述取值”三个条件分支;

若所述提数条件满足:一个字段名与另一字段名的比较连接符为“等于”,则将所述提数条件拆分成“所述一个字段名等于所述另一字段名”和“所述一个字段名不等于所述另一字段名”两个条件分支。

5.一种生成大数据测试用例的装置,其特征在于,所述装置包括:分析模块,用于对大数据脚本进行静态分析,以得到静态分析结果;拆分模块,用于根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图;

生成模块,用于遍历所述拆分结果图,以生成测试用例集。6.根据权利要求5所述的装置,其特征在于,所述装置还包括:读取模块,用于读取配置的脚本提取关键字,以使所述分析模块根据所述脚本提取关键字对所述对大数据脚本进行静态分析。

7.根据权利要求6所述的装置,其特征在于,所述配置的脚本提取关键字包括:select、from和where;

所述分析模块对大数据脚本进行静态分析,以得到静态分析结果包括:所述分析模块从大数据脚本取出select子句中的目标字段名;所述分析模块从大数据脚本取出from子句中的源数据表名;所述分析模块从大数据脚本取出where子句中的提数条件;所述分析模块基于所述目标字段名、所述源数据表名以及所述提数条件构建关联关系图。

8.根据权利要求5所述的装置,其特征在于,所述拆分模块根据的所述拆分规则包括:若所述提数条件满足:字段名与取值之间的比较连接符为“等于”,则将所述提数条件

2

CN 109901984 A

权 利 要 求 书

2/2页

拆分成“所述字段名等于所述取值”以及“所述字段名不等于所述取值”两个条件分支;

若所述提数条件满足:字段名与取值之间的比较连接符为“大于”或“大于等于”或“小于”或“小于等于”,则将所述提数条件拆分成“所述字段名大于所述取值”、“所述字段名等于所述取值”和“所述字段名小于所述取值”三个条件分支;

若所述提数条件满足:一个字段名与另一字段名的比较连接符为“等于”,则将所述提数条件拆分成“所述一个字段名等于所述另一字段名”和“所述一个字段名不等于所述另一字段名”两个条件分支。

9.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至4中任一所述的方法。

10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至4中任一所述的方法。

3

CN 109901984 A

说 明 书

生成大数据测试用例的方法和装置

1/9页

技术领域

[0001]本发明涉及计算机技术领域,尤其涉及一种生成大数据测试用例的方法和装置。背景技术

[0002]目前,在对大数据脚本进行测试时,测试人员是先通过代码走读方式了解脚本中的代码逻辑,然后,再根据代码逻辑以及需求文档要求,人工设计测试用例。[0003]在实现本发明过程中,发明人发现现有技术中至少存在如下问题:第一、代码走读过程对测试人员的技术要求较高;第二、大数据脚本中涉及的数据库、表、字段较多,测试人员理解起来费时费力;第三、测试用例设计取决于测试人员的专业水平,不同个体设计的测试用例差异较大;第四,测试用例设计工作比较分散,不仅会浪费测试人员较多的精力,而且很容易出现测试用例覆盖不全的情况。

发明内容

[0004]有鉴于此,本发明提供一种生成大数据测试用例的方法和装置,能够自动生成测试用例,节约测试用例准备时间和人力成本,降低测试难度,使得测试用例覆盖更全面。[0005]为实现上述目的,根据本发明的一个方面,提供了一种生成大数据测试用例的方法。

[0006]本发明的生成大数据测试用例的方法包括:对大数据脚本进行静态分析,以得到静态分析结果;根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图;遍历所述拆分结果图,以生成测试用例集。[0007]可选地,所述方法还包括:读取配置的脚本提取关键字,以根据所述脚本提取关键字执行所述对大数据脚本进行静态分析的步骤。[0008]可选地,所述配置的脚本提取关键字包括:select、from和where;所述对大数据脚本进行静态分析,以得到静态分析结果的步骤包括:从大数据脚本取出select子句中的目标字段名;从大数据脚本取出from子句中的源数据表名;从大数据脚本取出where子句中的提数条件;基于所述目标字段名、所述源数据表名以及所述提数条件构建关联关系图。[0009]可选地,所述预设的拆分规则包括:若所述提数条件满足:字段名与取值之间的比较连接符为“等于”,则将所述提数条件拆分成“所述字段名等于所述取值”以及“所述字段名不等于所述取值”两个条件分支;若所述提数条件满足:字段名与取值之间的比较连接符为“大于”或“大于等于”或“小于”或“小于等于”,则将所述提数条件拆分成“所述字段名大于所述取值”、“所述字段名等于所述取值”和“所述字段名小于所述取值”三个条件分支;若所述提数条件满足:一个字段名与另一字段名的比较连接符为“等于”,则将所述提数条件拆分成“所述一个字段名等于所述另一字段名”和“所述一个字段名不等于所述另一字段名”两个条件分支。

[0010]为实现上述目的,根据本发明的另一方面,提供了一种生成大数据测试用例的装置。

4

CN 109901984 A[0011]

说 明 书

2/9页

本发明的生成大数据测试用例的装置包括:分析模块,用于对大数据脚本进行静

态分析,以得到静态分析结果;拆分模块,用于根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图;生成模块,用于遍历所述拆分结果图,以生成测试用例集。

[0012]可选地,所述装置还包括:读取模块,用于读取配置的脚本提取关键字,以使所述分析模块根据所述脚本提取关键字对所述对大数据脚本进行静态分析。[0013]可选地,所述配置的脚本提取关键字包括:select、from和where;所述分析模块对大数据脚本进行静态分析,以得到静态分析结果包括:所述分析模块从大数据脚本取出select子句中的目标字段名;所述分析模块从大数据脚本取出from子句中的源数据表名;所述分析模块从大数据脚本取出where子句中的提数条件;所述分析模块基于所述目标字段名、所述源数据表名以及所述提数条件构建关联关系图。[0014]可选地,所述拆分模块根据的所述拆分规则包括:若所述提数条件满足:字段名与取值之间的比较连接符为“等于”,则将所述提数条件拆分成“所述字段名等于所述取值”以及“所述字段名不等于所述取值”两个条件分支;若所述提数条件满足:字段名与取值之间的比较连接符为“大于”或“大于等于”或“小于”或“小于等于”,则将所述提数条件拆分成“所述字段名大于所述取值”、“所述字段名等于所述取值”和“所述字段名小于所述取值”三个条件分支;若所述提数条件满足:一个字段名与另一字段名的比较连接符为“等于”,则将所述提数条件拆分成“所述一个字段名等于所述另一字段名”和“所述一个字段名不等于所述另一字段名”两个条件分支。[0015]为实现上述目的,根据本发明的再一个方面,提供了一种电子设备。[0016]本发明的电子设备,包括:一个或多个处理器;以及,存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明的生成大数据测试用例的方法。[0017]为实现上述目的,根据本发明的又一个方面,提供了一种计算机可读介质。[0018]本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明的生成大数据测试用例的方法。

[0019]上述发明中的一个实施例具有如下优点或有益效果:通过对大数据脚本进行静态分析,根据预设的拆分规则对静态分析结果中的提数条件进行拆分,并通过遍历拆分结果图等步骤,能够自动生成测试用例,节约测试用例准备时间和人力成本,降低测试难度,使得测试用例覆盖更全面。

[0020]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

[0021]附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

[0022]图1是根据本发明一个实施例的生成大数据测试用例的方法的主要步骤示意图;[0023]图2a是根据本发明另一实施例的生成大数据测试用例的方法的主要步骤示意图;[0024]图2b是本发明实施例中构建的关联关系图的示意图;

[0025]图3是根据本发明一个实施例的生成大数据测试用例的装置的主要模块的示意

5

CN 109901984 A

说 明 书

3/9页

图;

[0026]

图4是根据本发明另一实施例的生成大数据测试用例的装置的主要模块的示意图5是本发明实施例可以应用于其中的示例性系统架构图;

图6是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。

图;

[0027][0028]

具体实施方式

[0029]以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。[0030]需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以相互组合。

[0031]在介绍本发明实施例之前,首先对本发明实施例涉及的部分技术术语进行说明。[0032]Hadoop:一个由Apache基金会开发的分布式系统基础框架。基于这一框架,用户可以在不了解分布式底层细节的情况下,开发分布式程序。Hadoop主要由HDFS和MapReduce组成。

[0033]Hive:是基于Hadoop的一个数据仓库基础架构,其提供了一系列的工具,用于进行数据提取、转换和加载。其可以把Hadoop下结构化数据文件映射为一张Hive中的表,并提供类sql查询功能,可以将sql语句装换为MapReduce任务进行运行。

[0034]图1是根据本发明一个实施例的生成大数据测试用例的方法的主要步骤示意图。如图1所示,本发明实施例的生成大数据测试用例的方法包括:[0035]步骤S101、对大数据脚本进行静态分析,以得到静态分析结果。[0036]示例性的,所述大数据脚本可以是基于Hadoop和Hive框架开发的脚本。一般来说,大数据脚本可通过if分支执行不同的处理逻辑,在每个处理逻辑中可通过where子句、on子句等查询满足提数条件的数据。通过对大数据脚本进行静态分析,能够获取大数据脚本中用到的数据库名、表名、字段名、以及用于查询数据的提数条件。[0037]步骤S102、根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图。[0038]其中,所述拆分结果图可以为树状图,包括:源数据表节点、拆分后的条件分支以及预期结果节点。所述预期结果节点可包括:节点1(将得到的数据过滤),节点2(将得到的数据保存至结果表)。另外,所述拆分结果图还可包括中间表(或称为“临时表”)节点。[0039]步骤S103、遍历所述拆分结果图,以生成测试用例集。[0040]其中,所述测试用例集由与所述拆分结果图中的每条路径对应的测试用例构成。所述测试用例可包括:操作步骤、以及预期结果。例如,在一具体示例中,测试用例1包括:条件n1、条件n6、条件n8、条件n12、预期结果“将得到的数据保存至结果表”;测试用例2包括:条件n1、条件n7、条件n8、条件n13、预期结果“将得到的数据过滤”。另外,在具体实施时,可将生成的测试用例集保存在excel文件中。[0041]在本发明实施例中,通过对大数据脚本进行静态分析,根据预设的拆分规则对静

6

CN 109901984 A

说 明 书

4/9页

态分析结果中的提数条件进行拆分,并通过遍历拆分结果图等步骤,能够自动生成测试用例,节约测试用例准备时间和人力成本,降低测试难度,使得测试用例覆盖更全面。

[0042]图2a是根据本发明另一实施例的生成大数据测试用例的方法的主要步骤示意图。如图2a所示,本发明实施例的生成大数据测试用例的方法包括:[0043]步骤S201、读取配置的脚本提取关键字。[0044]其中,所述脚本提取关键字可包括:select、from和where。另外,所述脚本提取关键字还可包括:join、left outer join和on等大数据脚本中用于数据查询的常用词。[0045]在具体实施时,可预先在配置文件中设置脚本提取关键字。然后,在该步骤中,读取配置文件中的脚本提取关键字,并可将所有脚本提取关键字组成一个list(列表)。[0046]步骤S202、根据所述脚本提取关键字对大数据脚本进行静态分析,以得到静态分析结果。

[0047]在该步骤中,需要根据读取的所有的脚本提取关键字对大数据脚本进行静态分析。示例性的,当list中的脚本提取关键字包括select、from和where时,该步骤可包括:从大数据脚本取出select子句中的目标字段名;从大数据脚本取出from子句中的源数据表名;从大数据脚本取出where子句中的提数条件;基于所述目标字段名、所述源数据表名以及所述提数条件构建关联关系图。在具体实施时,当所述脚本提取关键字还可包括on等其他关键字时,步骤S202还包括:从大数据脚本取出on子句中的提数条件,取出中间表(临时表)名,以及,根据其他关键字从大数据脚本中取出的内容等。进而,基于提取的所有数据表、字段、提数条件等内容构建关联关系图。[0048]例如,若从大数据脚本中提取的源数据表为Database1.table1(数据库1中的表1,简称“T1”)、Database1.table2(数据库1中的表2,简称“T2”),对表T1进行数据提取处理得到的中间表(临时表)TempT1,对表T2进行数据提取处理得到的中间表(临时表)TempT2,且从大数据脚本中提取的提数条件为:“T1.字段1=值1And T1.字段2>值2”,“T2.字段1=值3”,以及“on TempT1.字段1=TempT2.字段2”,则可构建如图2b所示的关联关系图。如图2b所示,在该关联关系图中:第一层为源数据表T1图标、源数据表T2图标,第二层为提数条件“T1.字段1=值1And T1.字段2>值2”图标、提数条件“T2.字段1=值3”图标;第三层为中间表TempT1图标、中间表TempT2图标;第四层为提数条件“on TempT1.字段1=TempT2.字段2”;第五层为用于存储目标字段(即从大数据脚本中的select子句中提取的表字段)数据的结果表图标。并且,该关联关系图还可包括用于表示各层图标之间关联关系的有向箭头。[0049]在本发明实施例中,通过预先配置脚本提取关键字,并根据读取的脚本提取关键字对大数据脚本进行静态分析,便于快速定位大数据脚本中的关键程序节点,提高静态分析的效率。另外,通过步骤S202将大数据脚本中用到的数据表、字段、提数条件等提取出来,并用图示出其关联关系,降低了熟悉大数据脚本的难度。因此,与现有的代码走读方式相比,本发明实施例通过自动解析大数据脚本,大大节省了人力成本,提高了工作效率。[0050]步骤S203、根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图。[0051]其中,所述预设的拆分规则如表1所示,其具体包括:若所述提数条件满足:字段名与取值之间的比较连接符为“等于”,则将所述提数条件拆分成“所述字段名等于所述取值”以及“所述字段名不等于所述取值”两个条件分支;若所述提数条件满足:字段名与取值之

7

CN 109901984 A

说 明 书

5/9页

间的比较连接符为“大于”或“大于等于”或“小于”或“小于等于”,则将所述提数条件拆分成“所述字段名大于所述取值”、“所述字段名等于所述取值”和“所述字段名小于所述取值”三个条件分支;若所述提数条件满足:一个字段名与另一字段名的比较连接符为“等于”,则将所述提数条件拆分成“所述一个字段名等于所述另一字段名”和“所述一个字段名不等于所述另一字段名”两个条件分支。[0052]表1

[0053]

步骤S204、遍历所述拆分结果图,以生成测试用例集。

[0055]其中,所述测试用例集由与所述拆分结果图中的每条路径对应的测试用例构成。所述测试用例可包括:操作步骤、以及预期结果。在具体实施时,可将生成的测试用例集保存在excel文件中。

[0056]在本发明实施例中,通过预先配置脚本提取关键字,并根据读取的脚本提取关键字对大数据脚本进行静态分析,便于快速定位大数据脚本中的关键程序节点,提高静态分析的效率;通过对静态分析结果中的提数条件进行拆分,并通过遍历拆分结果图,能够自动生成测试用例,提高测试用例对代码的覆盖度。

[0057]图3是根据本发明一个实施例的生成大数据测试用例的装置的主要模块的示意图。如图3所示,本发明实施例的生成大数据测试用例的装置300包括:分析模块301、拆分模块302、生成模块303。[0058]分析模块301,用于对大数据脚本进行静态分析,以得到静态分析结果。[0059]示例性的,所述大数据脚本可以是基于Hadoop和Hive框架开发的脚本。一般来说,大数据脚本可通过if分支执行不同的处理逻辑,在每个处理逻辑中可通过where子句、on子句等查询满足提数条件的数据。通过分析模块301对大数据脚本进行静态分析,能够获取大数据脚本中用到的数据库名、表名、字段名、以及用于查询数据的提数条件。[0060]拆分模块302,用于根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图。[0061]其中,所述拆分结果图可以为树状图,包括:源数据表节点、拆分后的条件分支以及预期结果节点。所述预期结果节点可包括:节点1(将得到的数据过滤),节点2(将得到的数据保存至结果表)。另外,所述拆分结果图还可包括中间表(或称为“临时表”)节点。[0062]生成模块303,用于遍历所述拆分结果图,以生成测试用例集。

8

[0054]

CN 109901984 A[0063]

说 明 书

6/9页

其中,所述测试用例集由与所述拆分结果图中的每条路径对应的测试用例构成。

所述测试用例可包括:操作步骤、以及预期结果。在具体实施时,可将生成的测试用例集保存在excel文件中。

[0064]在本发明实施例的装置中,通过分析模块301对大数据脚本进行静态分析,通过拆分模块302对静态分析结果中的提数条件进行拆分,并通过生成模块303遍历拆分结果图等,能够自动生成测试用例,节约测试用例准备时间和人力成本,降低测试难度,使得测试用例覆盖更全面。

[0065]图4是根据本发明另一实施例的生成大数据测试用例的装置的主要模块的示意图。如图4所示,本发明实施例的生成大数据测试用例的装置400包括:读取模块401、分析模块402、拆分模块403、生成模块404。[0066]读取模块401,用于读取配置的脚本提取关键字。[0067]其中,所述脚本提取关键字可包括:select、from和where。另外,所述脚本提取关键字还可包括:join、left outer join和on等大数据脚本中用于数据查询的常用词。在具体实施时,可预先在配置文件中设置脚本提取关键字。然后,在该步骤中,读取配置文件中的脚本提取关键字,并可将所有脚本提取关键字组成一个list(列表)。[0068]分析模块402,用于根据所述脚本提取关键字对大数据脚本进行静态分析,以得到静态分析结果。[0069]其中,分析模块402需要根据读取的所有的脚本提取关键字对大数据脚本进行静态分析。示例性的,当list中的脚本提取关键字包括select、from和where时,分析模块402根据所述脚本提取关键字对大数据脚本进行静态分析,以得到静态分析结果可包括:分析模块402从大数据脚本取出select子句中的目标字段名;从大数据脚本取出from子句中的源数据表名;分析模块402从大数据脚本取出where子句中的提数条件;分析模块402基于所述目标字段名、所述源数据表名以及所述提数条件构建关联关系图。[0070]例如,若分析模块402从大数据脚本中提取的源数据表为Database1.table1(数据库1中的表1,简称“T1”)、Database1.table2(数据库1中的表2,简称“T2”),对表T1进行数据提取处理得到的中间表(临时表)TempT1,对表T2进行数据提取处理得到的中间表(临时表)TempT2,且分析模块402从大数据脚本中提取的提数条件为:“T1.字段1=值1And T1.字段2>值2”,“T2.字段1=值3”,以及“on TempT1.字段1=TempT2.字段2”,则分析模块402构建的关联关系图可满足:第一层为源数据表T1图标、源数据表T2图标,第二层为提数条件“T1.字段1=值1And T1.字段2>值2”图标、提数条件“T2.字段1=值3”图标;第三层为中间表TempT1图标、中间表TempT2图标;第四层为提数条件“on TempT1.字段1=TempT2.字段2”图标,第五层为用于存储目标字段(即从大数据脚本中的select子句中提取的表字段)数据的结果表图标。并且,该关联关系图还可包括用于表示各层图标之间关联关系的有向箭头。[0071]在本发明实施例中,通过读取模块401读取预先配置的脚本提取关键字,并通过分析模块402根据脚本提取关键字对大数据脚本进行静态分析,便于快速定位大数据脚本中的关键程序节点,提高静态分析的效率。另外,通过分析模块402将大数据脚本中用到的数据表、字段、提数条件等提取出来,并用图示出其关联关系,降低了熟悉大数据脚本的难度。因此,与现有的代码走读方式相比,本发明实施例通过分析模块402自动解析大数据脚本,大大节省了人力成本,提高了工作效率。

9

CN 109901984 A[0072]

说 明 书

7/9页

拆分模块403,用于根据预设的拆分规则对所述静态分析结果中的提数条件进行

拆分,以得到拆分结果图。[0073]其中,所述拆分模块403所根据的拆分规则具体包括:若所述提数条件满足:字段名与取值之间的比较连接符为“等于”,则将所述提数条件拆分成“所述字段名等于所述取值”以及“所述字段名不等于所述取值”两个条件分支;若所述提数条件满足:字段名与取值之间的比较连接符为“大于”或“大于等于”或“小于”或“小于等于”,则将所述提数条件拆分成“所述字段名大于所述取值”、“所述字段名等于所述取值”和“所述字段名小于所述取值”三个条件分支;若所述提数条件满足:一个字段名与另一字段名的比较连接符为“等于”,则将所述提数条件拆分成“所述一个字段名等于所述另一字段名”和“所述一个字段名不等于所述另一字段名”两个条件分支。[0074]生成模块404,用于遍历所述拆分结果图,以生成测试用例集。[0075]其中,所述测试用例集由与所述拆分结果图中的每条路径对应的测试用例构成。所述测试用例可包括:操作步骤、以及预期结果。在具体实施时,可将生成的测试用例集保存在excel文件中。

[0076]在本发明实施例的装置中,通过读取模块401读取脚本提取关键字,通过分析模块402根据读取的脚本提取关键字对大数据脚本进行静态分析,便于快速定位大数据脚本中的关键程序节点,提高静态分析的效率;通过拆分模块403对静态分析结果中的提数条件进行拆分,并通过生成模块404遍历拆分结果图,能够自动生成测试用例,提高测试用例对代码的覆盖度。

[0077]图5示出了可以应用本发明实施例的生成大数据测试用例的方法或生成大数据测试用例的装置的示例性系统架构500。[0078]如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。[0079]用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。[0080]服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所发送的请求提供支持的后台管理服务器。后台管理服务器可以对接收到的请求进行分析等处理,并将处理结果(例如生成的测试用例)反馈给终端设备。[0081]需要说明的是,本发明实施例中的生成大数据测试用例的方法一般由服务器505执行,相应地,生成大数据测试用例的装置一般设置于服务器505中。[0082]应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。[0083]另外,在一些情况下,可以应用本发明实施例的生成大数据测试用例的方法或生成大数据测试用例的装置的示例性系统架构也可以不包括终端设备501、502、503和网络504,即只包括服务器505。应该理解,在这些情况下,服务器505可以是具有显示屏并且支持程序运行的各种电子设备。

[0084]图6示出了适于用来实现本发明实施例的电子设备的计算机系统600的结构示意

10

CN 109901984 A

说 明 书

8/9页

图。图6示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

[0085]如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。

[0086]以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。[0087]特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。

[0088]需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

[0089]附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际

11

CN 109901984 A

说 明 书

9/9页

上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

[0090]描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括分析模块、拆分模块和生成模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,分析模块还可以被描述为“对大数据脚本进行静态分析的模块”。[0091]作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行以下流程:对大数据脚本进行静态分析,以得到静态分析结果;根据预设的拆分规则对所述静态分析结果中的提数条件进行拆分,以得到拆分结果图;遍历所述拆分结果图,以生成测试用例集。[0092]上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

12

CN 109901984 A

说 明 书 附 图

1/4页

图1

图2a

13

CN 109901984 A

说 明 书 附 图

2/4页

图2b

图3

14

CN 109901984 A

说 明 书 附 图

3/4页

图4

图5

15

CN 109901984 A

说 明 书 附 图

4/4页

图6

16

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务