数据处理方法及装置转让专利

申请号 : CN201610584292.7

文献号 : CN106227661B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蔡怡峰魏学峰王鹏朱永俊严路王昱杰

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明公开了一种数据处理方法及装置。其中,该方法包括:获取第一短语集合和第二短语集合,其中,第一短语集合包括对第一条件集合中的条件进行切词得到的多个短语,第二短语集合包括对第二条件集合中的条件进行切词得到的多个短语;从第一短语集合中筛选出第一目标短语,其中,第一目标短语的权重高于第一短语集合中除第一目标短语以外的其他短语的权重;从第二条件集合中筛选出至少一个目标条件,其中,至少一个目标条件与第二目标短语相关联,第二目标短语为第二短语集合中与第一目标短语相匹配的短语;根据至少一个目标条件在预设维度上进行数据处理。本发明解决了现有技术中的应用程序数据处理复杂度较高的技术问题。

权利要求 :

1.一种数据处理方法,其特征在于,包括:

获取第一短语集合和第二短语集合,其中,所述第一短语集合包括对第一条件集合中的条件进行切词得到的多个短语,所述第二短语集合包括对第二条件集合中的条件进行切词得到的多个短语,其中,所述第一条件集合为已有测试用例库和缺陷条件库,所述第二条件集合为已执行测试的测试用例和缺陷条件;

从所述第一短语集合中筛选出第一目标短语,其中,所述第一目标短语的权重高于所述第一短语集合中除所述第一目标短语以外的其他短语的权重,其中,权重用来表示一个词语在文档中的重要程度;

从所述第二条件集合中筛选出至少一个目标条件,其中,所述至少一个目标条件与第二目标短语相关联,所述第二目标短语为所述第二短语集合中与所述第一目标短语相匹配的短语;

根据所述至少一个目标条件在预设维度上进行数据处理。

2.根据权利要求1所述的方法,其特征在于,从所述第一短语集合中筛选出第一目标短语包括:获取所述第一短语集合中的每个第一短语所关联的文件数和文件总数;

根据所述文件数和所述文件总数获取每个所述第一短语的权重;

按照所述权重从高到低的顺序选择至少一个权重最高的所述第一短语作为所述第一目标短语。

3.根据权利要求2所述的方法,其特征在于,根据所述文件数和所述文件总数获取每个所述第一短语的权重包括:获取所述文件总数和所述文件数之商的对数;

将所述对数与所述文件数之积作为所述第一短语的权重。

4.根据权利要求1所述的方法,其特征在于,所述第二条件集合为测试用例的集合,从所述第二条件集合中筛选出至少一个目标条件包括:对所述第二短语集合中的短语与所述第一目标短语进行匹配,得到匹配后的短语;

将所述匹配后的短语所关联的测试用例作为所述至少一个目标条件。

5.根据权利要求4所述的方法,其特征在于,根据所述至少一个目标条件在预设维度上进行数据处理包括:获取与所述第一目标短语相关联的所有测试用例的第一数量;

获取所述匹配后的短语所关联的测试用例的第二数量;

将所述第二数量中成功执行的测试用例的数量与所述第二数量的比值作为所述第一目标短语相关联的测试用例的覆盖率。

6.根据权利要求1所述的方法,其特征在于,所述第二条件集合为缺陷条件的集合,从所述第二条件集合中筛选出至少一个目标条件包括:对所述第二短语集合中的短语与所述第一目标短语进行匹配,得到匹配后的短语;

将所述匹配后的短语所关联的缺陷条件作为所述至少一个目标条件。

7.根据权利要求1所述的方法,其特征在于,所述第二条件集合为评论数据的集合,从所述第二条件集合中筛选出至少一个目标条件包括:对所述第二短语集合中的短语与所述第一目标短语进行匹配,得到匹配后的短语;

将所述匹配后的短语所关联的评论数据作为所述至少一个目标条件。

8.根据权利要求1所述的方法,其特征在于,根据所述至少一个目标条件在预设维度上进行数据处理包括:接收第一指令,所述第一指令用于指示在所述预设维度上对目标时间段和/或目标版本的应用程序进行数据处理;

在所述预设维度上对所述第一指令所指示的所述目标时间段或者所述目标版本应用程序进行数据处理;

推送所述数据处理的结果。

9.根据权利要求1所述的方法,其特征在于,从所述第二条件集合中筛选出至少一个目标条件包括:获取与所述第一目标短语关联的第三目标短语;

将与所述第一目标短语和所述第三目标短语都匹配的短语作为所述第二目标短语;

从所述第二条件集合中筛选出于所述第二目标短语相关联的所述至少一个目标条件。

10.一种数据处理装置,其特征在于,包括:

获取单元,用于获取第一短语集合和第二短语集合,其中,所述第一短语集合包括对第一条件集合中的条件进行切词得到的多个短语,所述第二短语集合包括对第二条件集合中的条件进行切词得到的多个短语,其中,所述第一条件集合为已有测试用例库和缺陷条件库,所述第二条件集合为已执行测试的测试用例和缺陷条件;

第一筛选单元,用于从所述第一短语集合中筛选出第一目标短语,其中,所述第一目标短语的权重高于所述第一短语集合中除所述第一目标短语以外的其他短语的权重,其中,权重用来表示一个词语在文档中的重要程度;

第二筛选单元,用于从所述第二条件集合中筛选出至少一个目标条件,其中,所述至少一个目标条件与第二目标短语相关联,所述第二目标短语为所述第二短语集合中与所述第一目标短语相匹配的短语;

处理单元,用于根据所述至少一个目标条件在预设维度上进行数据处理。

11.根据权利要求10所述的装置,其特征在于,所述第一筛选单元包括:第一获取模块,用于获取所述第一短语集合中的每个第一短语所关联的文件数和文件总数;

第二获取模块,用于根据所述文件数和所述文件总数获取每个所述第一短语的权重;

选择模块,用于按照所述权重从高到低的顺序选择至少一个权重最高的所述第一短语作为所述第一目标短语。

12.根据权利要求11所述的装置,其特征在于,所述第二获取模块包括:获取子模块,用于获取所述文件总数和所述文件数之商的对数;

处理子模块,用于将所述对数与所述文件数之积作为所述第一短语的权重。

13.根据权利要求10所述的装置,其特征在于,所述第二条件集合为测试用例的集合,所述第二筛选单元包括:第一匹配模块,用于对所述第二短语集合中的短语与所述第一目标短语进行匹配,得到匹配后的短语;

第一处理模块,用于将所述匹配后的短语所关联的测试用例作为所述至少一个目标条件。

14.根据权利要求13所述的装置,其特征在于,所述处理单元包括:第三获取模块,用于获取与所述第一目标短语相关联的所有测试用例的第一数量;

第四获取模块,用于获取所述匹配后的短语所关联的测试用例的第二数量;

第二处理模块,用于将所述第二数量中成功执行的测试用例的数量与所述第二数量的比值作为所述第一目标短语相关联的测试用例的覆盖率。

15.根据权利要求10所述的装置,其特征在于,所述第二条件集合为缺陷条件的集合,所述第二筛选单元包括:第二匹配模块,用于对所述第二短语集合中的短语与所述第一目标短语进行匹配,得到匹配后的短语;

第三处理模块,用于将所述匹配后的短语所关联的缺陷条件作为所述至少一个目标条件。

16.根据权利要求10所述的装置,其特征在于,所述第二条件集合为评论数据的集合,所述第二筛选单元包括:第三匹配模块,用于对所述第二短语集合中的短语与所述第一目标短语进行匹配,得到匹配后的短语;

第四处理模块,用于将所述匹配后的短语所关联的评论数据作为所述至少一个目标条件。

17.根据权利要求10所述的装置,其特征在于,所述处理单元包括:接收模块,用于接收第一指令,所述第一指令用于指示在所述预设维度上对目标时间段和/或目标版本的应用程序进行数据处理;

第五处理模块,用于在所述预设维度上对所述第一指令所指示的所述目标时间段或者所述目标版本应用程序进行数据处理;

推送模块,用于推送所述数据处理的结果。

18.根据权利要求10所述的装置,其特征在于,所述第二筛选单元包括:第五获取模块,用于获取与所述第一目标短语关联的第三目标短语;

第六处理模块,用于将与所述第一目标短语和所述第三目标短语都匹配的短语作为所述第二目标短语;

筛选模块,用于从所述第二条件集合中筛选出于所述第二目标短语相关联的所述至少一个目标条件。

说明书 :

数据处理方法及装置

技术领域

[0001] 本发明涉及互联网领域,具体而言,涉及一种数据处理方法及装置。

背景技术

[0002] 应用程序代码的测试质量数据的可视化是测试管理中的重要一环。传统的测试覆盖率等方法只能显示代码级的质量数据。具体地,如图1所示,质量数据可视化可以通过代码的测试覆盖率来实现,图1显示了当测试执行完成后,应用程序代码被执行到的行覆盖率(Line Coverage)和分支覆盖率(Branch Coverage)。但是,对于功能测试人员和管理者来说,代码级测试覆盖率无法直接对应到应用程序的功能模块。开发人员在开发应用程序代码时,代码文件和应用程序内的功能模块并不是一一对应的关系。一个代码文件可能被多个功能模块调用,一个功能模块也会调用多个代码文件。测试人员在拿到代码测试覆盖率之后,无法知道哪部分模块的测试已经充分,哪部分模块的测试还未完成。测试管理人员也无法根据代码覆盖率来做出测试质量的细化评估和后续测试计划。
[0003] 此外,如图2和图3所示,如果需要根据应用程序的模块来查看应用程序的测试覆盖率和缺陷数据,则需要在设计用例和提交Bug时,预先配置应用程序模块并进行人工筛选。但是,人工配置的模块列表需要定期的人工维护来增加、删除或修改;再者,编写用例、缺陷的测试人员和配置模块的人,两者在应用程序模块的划分上可能并不一致;再者,应用程序模块的名字会随着时间产生变化,当模块名发生变化时,老的用例和缺陷的模块划分需要全部重新填写,维护量巨大。综上,现有技术中存在应用程序数据处理复杂度较高的技术问题。
[0004] 针对上述的问题,目前尚未提出有效的解决方案。

发明内容

[0005] 本发明实施例提供了一种数据处理方法及装置,以至少解决现有技术中的应用程序数据处理复杂度较高的技术问题。
[0006] 根据本发明实施例的一个方面,提供了一种数据处理方法,包括:获取第一短语集合和第二短语集合,其中,所述第一短语集合包括对第一条件集合中的条件进行切词得到的多个短语,所述第二短语集合包括对第二条件集合中的条件进行切词得到的多个短语;从所述第一短语集合中筛选出第一目标短语,其中,所述第一目标短语的权重高于所述第一短语集合中除所述第一目标短语以外的其他短语的权重;从所述第二条件集合中筛选出至少一个目标条件,其中,所述至少一个目标条件与第二目标短语相关联,所述第二目标短语为所述第二短语集合中与所述第一目标短语相匹配的短语;根据所述至少一个目标条件在预设维度上进行数据处理。
[0007] 根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:获取第一短语集合和第二短语集合,其中,所述第一短语集合包括对第一条件集合中的条件进行切词得到的多个短语,所述第二短语集合包括对第二条件集合中的条件进行切词得到的多个短语;从所述第一短语集合中筛选出第一目标短语,其中,所述第一目标短语的权重高于所述第一短语集合中除所述第一目标短语以外的其他短语的权重;从所述第二条件集合中筛选出至少一个目标条件,其中,所述至少一个目标条件与第二目标短语相关联,所述第二目标短语为所述第二短语集合中与所述第一目标短语相匹配的短语;根据所述至少一个目标条件在预设维度上进行数据处理。
[0008] 在本发明实施例中,采用对测试用例库和缺陷条件库进行分词得到第一短语集合,以及对已经执行的测试用例进行分词得到第二短语集合的方式,通过对第二短语集合中的短语与第一短语集合中的短语进行匹配,将匹配成功的第二短语集合中的短语关联的测试用例作为第一短语集合中的第一目标短语名下的测试用例,达到了自动提取游戏的功能模块以及根据游戏的功能模块自动划分和查看测试过程中的质量数据的目的,从而实现了降低人力成本和游戏数据处理的复杂度的技术效果,进而解决了现有技术中的应用程序数据处理复杂度较高的技术问题。

附图说明

[0009] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0010] 图1是根据现有技术的一种数据处理方法的示意图;
[0011] 图2是根据现有技术的另一种数据处理方法的示意图;
[0012] 图3是根据现有技术的又一种数据处理方法的示意图;
[0013] 图4是根据本发明实施例的一种可选的数据处理方法的流程图;
[0014] 图5是根据本发明实施例的另一种可选的数据处理方法的流程图;
[0015] 图6是根据本发明实施例的又一种可选的数据处理方法的流程图;
[0016] 图7是根据本发明实施例的又一种可选的数据处理方法的流程图;
[0017] 图8是根据本发明实施例的模块的用例测试覆盖率的示意图;
[0018] 图9是根据本发明实施例的人工定义功能模块的名称的示意图;
[0019] 图10是根据本发明实施例的缺陷列表的示意图;
[0020] 图11是根据本发明实施例接收第一指令的界面示意图;
[0021] 图12是根据本发明实施例的一种可选的数据处理装置的示意图;
[0022] 图13是根据本发明实施例的终端的硬件结构示意图。

具体实施方式

[0023] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0024] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0025] 名词解释:
[0026] 测试库:或称测试用例库、用例库。测试库通过半结构化的文本记录了测试用例和测试执行记录。其中,测试用例通常包含用例名称、用例描述、前提条件、操作步骤、期待结果和备注等字段。测试执行记录除了上述字段外,还包含了执行结果(通过/失败/未执行等)。
[0027] 缺陷:又名Bug,是测试过程中发现并记录下来的问题。缺陷通常包含缺陷名、详细描述、严重级别等字段。
[0028] 切词:又名分词,指的是将一个自然语句切分成一个个单独的词。
[0029] 代码测试覆盖率:一般简称测试覆盖率,常常被拿来作为衡量测试结果的指标。其中最常见的是代码行覆盖率,就是度量被测代码中每个可执行语句被执行到的比率。覆盖率取值0%~100%,100%表示所执行的测试运行到了软件中的每一行的可执行代码。
[0030] 实施例1
[0031] 根据本发明实施例,提供了一种可以通过本申请装置实施例执行的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0032] 根据本发明实施例,提供了一种数据处理方法。
[0033] 图4是根据本发明实施例的数据处理方法的流程图,以下结合图4对本发明实施例所提供的数据处理方法做具体介绍,如图4所示,该数据处理方法主要包括如下步骤:
[0034] 步骤S402,获取第一短语集合和第二短语集合,其中,第一短语集合包括对第一条件集合中的条件进行切词得到的多个短语,第二短语集合包括对第二条件集合中的条件进行切词得到的多个短语;
[0035] 步骤S404,从第一短语集合中筛选出第一目标短语,其中,第一目标短语的权重高于第一短语集合中除第一目标短语以外的其他短语的权重;
[0036] 步骤S406,从第二条件集合中筛选出至少一个目标条件,其中,至少一个目标条件与第二目标短语相关联,第二目标短语为第二短语集合中与第一目标短语相匹配的短语;
[0037] 步骤S408,根据至少一个目标条件在预设维度上进行数据处理。
[0038] 在本发明实施例中,采用对测试用例库和缺陷条件库进行分词得到第一短语集合,以及对已经执行的测试用例进行分词得到第二短语集合的方式,通过对第二短语集合中的短语与第一短语集合中的短语进行匹配,将匹配成功的第二短语集合中的短语关联的测试用例作为第一短语集合中的第一目标短语名下的测试用例,达到了自动提取应用程序的功能模块以及根据应用程序的功能模块自动划分和查看测试过程中的质量数据的目的,从而实现了降低人力成本和应用程序数据处理的复杂度的技术效果,进而解决了现有技术中的应用程序数据处理复杂度较高的技术问题。
[0039] 可选地,在一些实施例中,上述第一条件集合可以是游戏已经有的测试用例库和缺陷条件库,第二条件集合可以是已经执行测试的测试用例和缺陷条件的集合,在从第一条件集合中筛选出第一目标短语后,匹配第二条件集合中与第一目标短语对应的目标条件,目标条件包括测试用例和/或缺陷条件,将筛选出的目标条件对应到第一目标短语后,就可以获取每个第一目标短语的测试覆盖率。具体地,已知每个第一目标短语所关联的全部测试用例和缺陷条件,还获取了第二条件集合中已经执行的第一目标短语匹配的第二目标短语所关联的目标条件,从而可以计算第一目标短语所表示的模块的测试覆盖率等信息。
[0040] 本实施例中的数据处理方法所处理的数据可以来源于游戏用例库或缺陷库,由于游戏用例库或缺陷库中可以切词得到的候选短语非常多,因此,可以计算每个短语的引用计数,通过引用计数值获得该短语的权重,筛选出权重最高的短语作为游戏的模块名,被筛选出的模块名即为该第一目标短语。此外,目标条件可以为与该第一目标短语相匹配所得到的测试用例。
[0041] 可选地,从第一短语集合中筛选出第一目标短语包括:获取第一短语集合中的每个第一短语所关联的文件数和文件总数;根据文件数和文件总数获取每个第一短语的权重;按照权重从高到低的顺序选择至少一个第一短语作为第一目标短语。文件总数可以是第一短语关联的所有文件的数目,文件数可以是文件总数中已经执行测试的文件的数目。
[0042] 图5是根据本发明实施例的另一种数据处理方法的流程图,以下结合图5对本实施例获取第一目标短语的方法进行说明,如图5所示,该数据处理方法包括:
[0043] 步骤S501,开始;
[0044] 步骤S502,获得所有游戏项目的集合(如测试用例集合)。
[0045] 可选地,在执行完成步骤S502之后,可以依次执行步骤S503至步骤S506:
[0046] 步骤S503,遍历集合中每一个游戏项目(如测试用例);
[0047] 步骤S504,切词提取候选短语,即对测试用例集合中的所有测试用例进行切词,得到第一短语集合;
[0048] 步骤S505,计算候选短语的引用计数;
[0049] 步骤S506,判断集合遍历是否完成。
[0050] 可选地,在执行完成步骤S506之后,若判断结果为否,则返回执行步骤S503,若判断结果为是,则可以依次执行步骤S507至步骤S510:
[0051] 步骤S507,遍历集合中每一个游戏项目;
[0052] 步骤S508,将候选短语按照引用计数倒序排列;
[0053] 步骤S509,筛选出该游戏项目的模块名列表;
[0054] 步骤S510,判断集合遍历是否完成;
[0055] 可选地,在执行完成步骤S510之后,若判断结果为否,则返回执行步骤S507,若判断结果为是,则可以依次执行步骤S511至步骤S512:
[0056] 步骤S511,获得所有游戏项目的模块名;
[0057] 步骤S512,结束。
[0058] 其中,在自动提取模块名时,以引用计数作为切词短语权重的度量。本方案中的引用计数是指所有游戏项目中,包含某个短语的游戏项目个数。计算引用计数时,对游戏的测试用例名称进行切词,以切词结果为关键字,建立从短语到游戏项目id的映射。如,游戏A,游戏B和游戏C的切词结果分别为[X,Y],[X,Z]和[Y,Z],建立短语到游戏项目的反向映射,结果为,{X:[A,B],Y:[A,C],Z:[B,C]}。引用计数为该短语包含项目的个数。在如上的例子中,短语X,Y和Z的引用计数均为2。
[0059] 可选地,执行步骤S503至步骤S506可以切词提取所有游戏项目的候选短语,并计算每个候选短语的引用计数;执行步骤S507至步骤S510可以对每个游戏项目的候选短语按引用计数进行倒序排序,筛选出该游戏项目的模块名列表。
[0060] 在一些实施例中,根据引用计数获取每个候选短语的权重。可选地,根据文件数和文件总数获取每个第一短语的权重包括:获取文件总数和文件数之商的对数;将对数与文件数之积作为第一短语的权重。具体地,权重用来评估一个词语在特定文档中的重要程序。词频,是指给定词语在所有文档中出现的次数;某一特定词语的逆向文档频率,可以由文件总数除以包含该词语的文件的数目,再将得到的商取对数得到。使用词频乘以逆向文档频率,获得的值可以表示候选短语的权重,值越大权重越高。将权重最高的前N个候选短语(即第一目标短语)作为游戏项目的模块名列表。可见,第一目标短语可以是一个或者多个。
[0061] 可选地,图6是根据本发明实施例的又一种数据处理方法的流程图,如图6所示,该数据处理方法包括:
[0062] 步骤S601,开始;
[0063] 步骤S602,获得游戏项目的所有测试用例集合;
[0064] 步骤S603,遍历集合中每一个测试用例;
[0065] 步骤S604,对测试用例名称进行切词;
[0066] 步骤S605,对切词结果进行去重、去噪;
[0067] 步骤S606,更新候选短语对应的游戏项目列表;
[0068] 步骤S607,判断集合遍历是否完成。
[0069] 可选地,在执行完成步骤S607之后,若判断结果为否,则返回执行步骤S603,若判断结果为是,则执行步骤S608:
[0070] 步骤S608,结束。
[0071] 具体地,可以获得某个游戏的所有测试用例名称,对测试用例名称进行中文切词,进而对切词后的结果进行去重,并过滤掉短语中包含的单字、数字和字母等无效词语,剩余短语作为模块名的候选短语。在步骤S606中,可以使用字典作为存储候选短语对应游戏项目列表的数据结构,如多个游戏项目对应的数据结构为:{候选短语X:[游戏项目A,游戏项目B],候选短语Y:[游戏项目B,游戏项目C]}。当出现新的候选短语时,可以在字典中添加新的键值;当候选短语包含新的游戏项目时,可以将该游戏项目添加到候选短语的列表中。
[0072] 每完整地执行一次步骤S601至S608,即可建立某个游戏项目所有候选短语到该游戏项目的对应关系;当完成所有游戏项目的遍历时,可获得所有候选短语与所有游戏项目的对应关系。由于从单个游戏项目出发,提取出的候选短语具有相同的权重值,直接筛选时缺少依据。通过对所有游戏项目进行切词,并计算候选短语对所有游戏项目的引用计数值,可以获得每个候选短语的权重。权重越大,则该候选短语成为模块名的概率就更高。
[0073] 综上,在完整地执行一次步骤S601至S608之后,已计算并获得每个候选短语的游戏项目列表,如,{候选短语X:[游戏项目A,游戏项目B]}。该候选短语的列表长度,即为该候选短语的引用计数值。进而执行上述步骤S507至步骤S510,可以根据每个候选短语的引用计数值,对候选短语进行倒序排序,并取其中的数个作为游戏模块名列表。
[0074] 可选地,第二条件集合为测试用例的集合,从第二条件集合中筛选出至少一个目标条件包括:对第二短语集合中的短语与第一目标短语进行匹配,得到匹配后的短语;将匹配后的短语所关联的测试用例作为至少一个目标条件。
[0075] 例如,在对用例执行库(即第二条件集合)进行模块名匹配(即确定与第一目标短语相匹配的第二目标短语)时,检测测试用例的用例名称、用例描述、前提条件、操作步骤、期待结果和备注,对这些文本字段进行切词。当以上多项切分出的词汇短语中有一项匹配某个模块名时,认为该测试用例与该模块名匹配,该测试用例即目标条件。因此,与任意一个第一目标短语所匹配的目标条件可以为一个,也可以为多个。
[0076] 具体地,可以通过下述方式来获得匹配后的短语:获得用户筛选出的执行库中所有测试用例,及用例的用例名称、用例描述、前提条件、操作步骤、期待结果和备注;依次对执行库中测试用例的用例名称、用例描述、前提条件、操作步骤、期待结果和备注进行切词,进而检查切分出的词汇短语(即第二短语集合中的短语)是否匹配该应用程序的模块名(即第一目标短语),如果匹配,则将匹配的短语所关联的执行库中的测试用例挂靠在该第一目标短语名下。
[0077] 可选地,根据至少一个目标条件在预设维度上进行数据处理包括:获取与第一目标短语相关联的所有测试用例的第一数量;获取匹配后的短语所关联的测试用例的第二数量;将第二数量中成功执行的测试用例的数量与第二数量的比值作为第一目标短语相关联的测试用例的覆盖率。
[0078] 例如,对每一个模块,可以查看它执行的测试用例的成功/失败/未执行数,进而通过预设公式计算出该模块的测试用例执行覆盖率,其中,该预设公式为C=S/(S+F+U),其中,C为该覆盖率,S为执行成功的测试用例的数值,F为执行失败的测试用例的数值,U为未执行的测试用例的数值。
[0079] 可选地,第二条件集合为缺陷条件的集合,从第二条件集合中筛选出至少一个目标条件包括:对第二短语集合中的短语与第一目标短语进行匹配,得到匹配后的短语;将匹配后的短语所关联的缺陷条件作为至少一个目标条件。
[0080] 具体地,可以通过下述方式来获得匹配后的短语:在匹配时使用缺陷的名称、详细信息进行切词,并匹配模块名。模块缺陷数的匹配和处理步骤具体如下:获得用户筛选出的已经确定的或者已经处理的所有缺陷,包括缺陷的名称、详细描述;依次对缺陷的名称、详细描述进行切词,检查切分出的词汇短语是否匹配该应用程序的模块名,如果匹配,则将该缺陷挂靠在该模块名下;对每一个应用程序模块,记录它挂靠的缺陷数量并展示给用户。
[0081] 可选地,第二条件集合为评论数据的集合,从第二条件集合中筛选出至少一个目标条件包括:对第二短语集合中的短语与第一目标短语进行匹配,得到匹配后的短语;将匹配后的短语所关联的评论数据作为至少一个目标条件。
[0082] 根据游戏的用例库、缺陷库(也可应用于其他保存文本的数据库)自动提取出应用程序的功能模块名(即第一目标短语),将匹配后的短语所关联的评论数据作为至少一个目标条件,例如,该目标条件可以为将网上用户对应用程序的评论数据按应用程序模块分类等。
[0083] 可选地,图7是根据本发明实施例的又一种数据处理方法的流程图,如图7所示,该数据处理方法包括:
[0084] 步骤S701,开始;
[0085] 步骤S702,选择游戏项目;
[0086] 步骤S703,自动提取游戏模块(即自动提取游戏模块的模块名,步骤参见上述实施例);
[0087] 步骤S704,人工配置游戏模块。
[0088] 可选地,在执行完成步骤S704之后,可以依次执行步骤S705至步骤S708:
[0089] 步骤S705,筛选用例执行条件;
[0090] 步骤S706,查看模块级的用例执行覆盖率,即每个模块下的测试用例的被执行的比率;
[0091] 步骤S707,点击某个具体模块,如图8所示,点击展示的某个模块,显示相应的测试用例的执行覆盖率;
[0092] 步骤S708,查看该模块的未执行用例列表。
[0093] 可选地,在执行完成步骤S704之后,还可以依次执行步骤S709至步骤S712:
[0094] 步骤S709,筛选缺陷条件;
[0095] 步骤S710,查看模块级的缺陷分布;
[0096] 步骤S711,点击某个具体模块;
[0097] 步骤S712,查看该模块的缺陷列表,缺陷列表显示了哪些缺陷被解决,哪些缺陷还没有被解决。
[0098] 可选地,在执行步骤S708或步骤S712之后,可以执行步骤S713:
[0099] 步骤S713,结束。
[0100] 用户还可以通过系统UI筛选出希望查看的用例执行/缺陷条件,系统自动地将筛选出来的用例执行/缺陷数据划分到游戏的功能模块中去,并统计出对应的质量数据。用户可以点击某个具体的模块(如图8所示的模块),可以查看该模块对应的数据列表。其中,用户通过浏览器访问网站后,可以点击“使用默认配置”,由系统自动分析提取游戏的功能模块。也可以点击自定义配置,对功能模块进行增删改等微调,如图9所示,用户从用例集名称中选出模块名称。对于用例测试覆盖率来说,可以看到该模块下未被执行的用例列表,而对于缺陷来说,则可以看到该模块下的缺陷列表,如图10所示。
[0101] 可选地,根据至少一个目标条件在预设维度上进行数据处理包括:接收第一指令,第一指令用于指示在预设维度上对目标时间段和/或目标版本的应用程序进行数据处理;在预设维度上对第一指令所指示的目标时间段或者目标版本应用程序进行数据处理;推送数据处理的结果。
[0102] 用户通过图11所示的界面填写需要查询的应用程序的版本名、查询时间(开始时间和结束时间)和基线等,图11所示的界面用于查询itest执行任务的执行覆盖率,点击提交后生成第一指令,也就是在分析第一指令所指示的应用程序的版本名和查询时间内的测试覆盖率。
[0103] 可选地,从第二条件集合中筛选出至少一个目标条件包括:获取与第一目标短语关联的第三目标短语;将与第一目标短语和第三目标短语都匹配的短语作为第二目标短语;从第二条件集合中筛选出于第二目标短语相关联的至少一个目标条件。
[0104] 例如,某个游戏系统在开发初期叫“副本”,因此用例库和缺陷库中所有相关的文本都有“副本”短语。在开发的后期改叫“地下城”,那后续的用例和缺陷也随之改变。如果直接使用本方案,自动获取到的模块名就会包含“副本”和“地下城”两个,将“副本”和“地下城”这两个短语进行关联,在进行第一目标短语的匹配时,可以自动将“地下城”匹配为“副本”,并且将“地下城”关联的目标条件划分到“副本”名下,将“副本”和“地下城”这两个短语所关联的测试用例和/或缺陷条件等同时作为副本的测试用例和缺陷条件进行分析。
[0105] 可选地,本实施例中的上述方法可以根据游戏的功能模块,自动划分和查看测试过程中的质量数据,包括测试覆盖率,缺陷数据等,无需人工筛选分类。按照功能模块展示的质量数据对测试管理具有更直观的效果。
[0106] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0107] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
[0108] 实施例2
[0109] 根据本发明实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,该数据处理装置主要用于执行本发明实施例上述内容所提供的数据处理方法,以下对本发明实施例所提供的数据处理装置做具体介绍:
[0110] 图12是根据本发明实施例的数据处理装置的示意图,如图12所示,该数据处理装置主要包括:
[0111] 获取单元10,用于获取第一短语集合和第二短语集合,其中,第一短语集合包括对第一条件集合中的条件进行切词得到的多个短语,第二短语集合包括对第二条件集合中的条件进行切词得到的多个短语;
[0112] 第一筛选单元20,用于从第一短语集合中筛选出第一目标短语,其中,第一目标短语的权重高于第一短语集合中除第一目标短语以外的其他短语的权重;
[0113] 第二筛选单元30,用于从第二条件集合中筛选出至少一个目标条件,其中,至少一个目标条件与第二目标短语相关联,第二目标短语为第二短语集合中与第一目标短语相匹配的短语;
[0114] 处理单元40,用于根据至少一个目标条件在预设维度上进行数据处理。
[0115] 在本发明实施例中,采用对测试用例库和缺陷条件库进行分词得到第一短语集合,以及对已经执行的测试用例进行分词得到第二短语集合的方式,通过对第二短语集合中的短语与第一短语集合中的短语进行匹配,将匹配成功的第二短语集合中的短语关联的测试用例作为第一短语集合中的第一目标短语名下的测试用例,达到了自动提取游戏的功能模块以及根据游戏的功能模块自动划分和查看测试过程中的质量数据的目的,从而实现了降低人力成本和游戏数据处理的复杂度的技术效果,进而解决了现有技术中的应用程序数据处理复杂度较高的技术问题。
[0116] 可选地,第一筛选单元20包括:第一获取模块,用于获取第一短语集合中的每个第一短语所关联的文件数和文件总数;第二获取模块,用于根据文件数和文件总数获取每个第一短语的权重;选择模块,用于按照权重从高到低的顺序选择至少一个第一短语作为第一目标短语。
[0117] 可选地,第二获取模块包括:获取子模块,用于获取文件总数和文件数之商的对数;处理子模块,用于将对数与文件数之积作为第一短语的权重。
[0118] 可选地,第二条件集合为测试用例的集合,第二筛选单元30包括:第一匹配模块,用于对第二短语集合中的短语与第一目标短语进行匹配,得到匹配后的短语;第一处理模块,用于将匹配后的短语所关联的测试用例作为至少一个目标条件。
[0119] 可选地,处理单元40包括:第三获取模块,用于获取与第一目标短语相关联的所有测试用例的第一数量;第四获取模块,用于获取匹配后的短语所关联的测试用例的第二数量;第二处理模块,用于将第二数量中成功执行的测试用例的数量与第二数量的比值作为第一目标短语相关联的测试用例的覆盖率。
[0120] 可选地,第二条件集合为缺陷条件的集合,第二筛选单元30包括:第二匹配模块,用于对第二短语集合中的短语与第一目标短语进行匹配,得到匹配后的短语;第三处理模块,用于将匹配后的短语所关联的缺陷条件作为至少一个目标条件。
[0121] 可选地,第二条件集合为评论数据的集合,第二筛选单元30包括:第三匹配模块,用于对第二短语集合中的短语与第一目标短语进行匹配,得到匹配后的短语;第四处理模块,用于将匹配后的短语所关联的评论数据作为至少一个目标条件。
[0122] 可选地,处理单元40包括:接收模块,用于接收第一指令,第一指令用于指示在预设维度上对目标时间段和/或目标版本的应用程序进行数据处理;第五处理模块,用于在预设维度上对第一指令所指示的目标时间段或者目标版本应用程序进行数据处理;推送模块,用于推送数据处理的结果。
[0123] 可选地,第二筛选单元30包括:第五获取模块,用于获取与第一目标短语关联的第三目标短语;第六处理模块,用于将与第一目标短语和第三目标短语都匹配的短语作为第二目标短语;筛选模块,用于从第二条件集合中筛选出于第二目标短语相关联的至少一个目标条件。
[0124] 在本发明实施例中,该数据处理装置可以对测试用例库和缺陷条件库进行分词得到第一短语集合,以及对已经执行的测试用例进行分词得到第二短语集合,通过对第二短语集合中的短语与第一短语集合中的短语进行匹配,将匹配成功的第二短语集合中的短语关联的测试用例作为第一短语集合中的第一目标短语名下的测试用例,达到了自动提取游戏的功能模块以及根据游戏的功能模块自动划分和查看测试过程中的质量数据的目的,从而实现了降低人力成本和游戏数据处理的复杂度的技术效果,进而解决了现有技术中的应用程序数据处理复杂度较高的技术问题。
[0125] 实施例3
[0126] 根据本发明实施例,还提供了一种用于实施上述数据处理方法的终端,如图13所示,该终端(服务器)主要包括处理器901、摄像头902、显示器903、数据接口904、存储器905和网络接口906,其中:
[0127] 数据接口904则主要通过数据传输的方式将第一目标短语和至少一个目标条件传输给处理器901。
[0128] 存储器905主要用于存储第一短语集合、第二短语集合、第一条件集合和第二条件集合。
[0129] 网络接口906主要用于与服务器进行网络通信,为数据处理提供数据支持。
[0130] 显示器903主要用于显示该数据处理的结果。
[0131] 处理器901主要用于执行如下操作:
[0132] 获取第一短语集合和第二短语集合,其中,第一短语集合包括对第一条件集合中的条件进行切词得到的多个短语,第二短语集合包括对第二条件集合中的条件进行切词得到的多个短语;从第一短语集合中筛选出第一目标短语,其中,第一目标短语的权重高于第一短语集合中除第一目标短语以外的其他短语的权重;从第二条件集合中筛选出至少一个目标条件,其中,至少一个目标条件与第二目标短语相关联,第二目标短语为第二短语集合中与第一目标短语相匹配的短语;根据至少一个目标条件在预设维度上进行数据处理。
[0133] 处理器901还用于获取第一短语集合中的每个第一短语所关联的文件数和文件总数;根据文件数和文件总数获取每个第一短语的权重;按照权重从高到低的顺序选择至少一个第一短语作为第一目标短语。
[0134] 处理器901还用于获取文件总数和文件数之商的对数;将对数与文件数之积作为第一短语的权重。
[0135] 处理器901还用于对第二短语集合中的短语与第一目标短语进行匹配,得到匹配后的短语;将匹配后的短语所关联的测试用例作为至少一个目标条件。
[0136] 处理器901还用于获取与第一目标短语相关联的所有测试用例的第一数量;获取匹配后的短语所关联的测试用例的第二数量;将第二数量中成功执行的测试用例的数量与第二数量的比值作为第一目标短语相关联的测试用例的覆盖率。
[0137] 处理器901还用于对第二短语集合中的短语与第一目标短语进行匹配,得到匹配后的短语;将匹配后的短语所关联的缺陷条件作为至少一个目标条件。
[0138] 处理器901还用于对第二短语集合中的短语与第一目标短语进行匹配,得到匹配后的短语;将匹配后的短语所关联的评论数据作为至少一个目标条件。
[0139] 处理器901还用于接收第一指令,第一指令用于指示在预设维度上对目标时间段和/或目标版本的应用程序进行数据处理;在预设维度上对第一指令所指示的目标时间段或者目标版本应用程序进行数据处理;推送数据处理的结果。
[0140] 处理器901还用于获取与第一目标短语关联的第三目标短语;将与第一目标短语和第三目标短语都匹配的短语作为第二目标短语;从第二条件集合中筛选出于第二目标短语相关联的至少一个目标条件。
[0141] 可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
[0142] 实施例4
[0143] 本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于存储本发明实施例的数据处理方法的程序代码。
[0144] 可选地,在本实施例中,上述存储介质可以位于移动通信网络、广域网、城域网或局域网的网络中的多个网络设备中的至少一个网络设备。
[0145] 可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
[0146] S1,获取第一短语集合和第二短语集合,其中,第一短语集合包括对第一条件集合中的条件进行切词得到的多个短语,第二短语集合包括对第二条件集合中的条件进行切词得到的多个短语;
[0147] S2,从第一短语集合中筛选出第一目标短语,其中,第一目标短语的权重高于第一短语集合中除第一目标短语以外的其他短语的权重;
[0148] S3,从第二条件集合中筛选出至少一个目标条件,其中,至少一个目标条件与第二目标短语相关联,第二目标短语为第二短语集合中与第一目标短语相匹配的短语;
[0149] S4,根据至少一个目标条件在预设维度上进行数据处理。
[0150] 可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0151] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:从第一短语集合中筛选出第一目标短语包括:获取第一短语集合中的每个第一短语所关联的文件数和文件总数;根据文件数和文件总数获取每个第一短语的权重;按照权重从高到低的顺序选择至少一个第一短语作为第一目标短语。
[0152] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:根据文件数和文件总数获取每个第一短语的权重包括:获取文件总数和文件数之商的对数;将对数与文件数之积作为第一短语的权重。
[0153] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:第二条件集合为测试用例的集合,从第二条件集合中筛选出至少一个目标条件包括:对第二短语集合中的短语与第一目标短语进行匹配,得到匹配后的短语;将匹配后的短语所关联的测试用例作为至少一个目标条件。
[0154] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:根据至少一个目标条件在预设维度上进行数据处理包括:获取与第一目标短语相关联的所有测试用例的第一数量;获取匹配后的短语所关联的测试用例的第二数量;将第二数量中成功执行的测试用例的数量与第二数量的比值作为第一目标短语相关联的测试用例的覆盖率。
[0155] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:第二条件集合为缺陷条件的集合,从第二条件集合中筛选出至少一个目标条件包括:对第二短语集合中的短语与第一目标短语进行匹配,得到匹配后的短语;将匹配后的短语所关联的缺陷条件作为至少一个目标条件。
[0156] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:第二条件集合为评论数据的集合,从第二条件集合中筛选出至少一个目标条件包括:对第二短语集合中的短语与第一目标短语进行匹配,得到匹配后的短语;将匹配后的短语所关联的评论数据作为至少一个目标条件。
[0157] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:根据至少一个目标条件在预设维度上进行数据处理包括:接收第一指令,第一指令用于指示在预设维度上对目标时间段和/或目标版本的应用程序进行数据处理;在预设维度上对第一指令所指示的目标时间段或者目标版本应用程序进行数据处理;推送数据处理的结果。
[0158] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:从第二条件集合中筛选出至少一个目标条件包括:获取与第一目标短语关联的第三目标短语;将与第一目标短语和第三目标短语都匹配的短语作为第二目标短语;从第二条件集合中筛选出于第二目标短语相关联的至少一个目标条件。
[0159] 可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
[0160] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0161] 上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0162] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0163] 在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0164] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0165] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0166] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。