回归测试用例知识库维护、回归测试用例推荐方法和系统技术方案

技术编号:37552258 阅读:11 留言:0更新日期:2023-05-15 07:37
本发明专利技术涉及回归测试用例知识库维护、回归测试用例推荐方法和系统。维护时,根据第一变更和/或第二变更构建待变更数据元,存储至待变更集合中;获取所述待变更集合中的待变更数据元,根据获取到的待变更数据元定位所述回归测试用例知识库的更新位置;更新所述回归测试用例知识库。推荐时,获取代码变更影响的方法和被代码变更影响的分支语句,构建变更集合;基于变更集合从回归测试用例知识库中匹配第一候选对象集合;提取第一候选对象集合中各个候选对象对应的回归测试用例,作为推荐用例。本发明专利技术保证了存储的数据元的正确性,并基于分支和分支中的语句准确定位出较小数量级的回归测试用例范围,减少测试过程的人力浪费。减少测试过程的人力浪费。减少测试过程的人力浪费。

【技术实现步骤摘要】
回归测试用例知识库维护、回归测试用例推荐方法和系统


[0001]本专利技术涉及软件测试领域,具体涉及一种回归测试用例知识库维护、回归测试用例推荐方法和系统。

技术介绍

[0002]回归测试需要利用大量测试用例对未发布的软件版本进行测试,以确认修改是否引入其他错误或使其他代码产生新的错误,测试用例的数量直接影响了回归测试的工作量,自动推荐测试用例可以避免测试工作人员针对待测功能手动选择大量测试用例,降低了测试工作人员的工作量。由于软件版本更新频率的增加,为了降低回归测试的工作量和测试时间,如何进一步减少回归测试的测试用例数量成为了关注的热点。
[0003]现有技术中,存在较多通过覆盖率的方式获取功能测试用例对应的代码行,从而通过修改代码反推测试用例回归范围的工具,以期获取准确的测试用例的方式。现有技术中已存在的上述测试用例推荐工具,通过历史记录获取测试用例与代码行的对应关系,存储至数据库中,在自动推荐回归测试用例时查询数据库以获得待测用例。然而,若单一项目变更的代码修改了复用性较高的方法,上述工具会推荐出巨量的历史功能用例,从而导致测试工作人员的工作量不减反增。此外,用例功能变更后未及时维护导致用例数据库不准确,代码经过长时间的变更后,出现用例数据库的可信度降低,数据库需要不断重新进行用例和代码的关联操作,耗费大量人力维护;若数据库不进行更新,自动推荐回归测试用例时,易推荐出不合适的测试用例,增大了测试过程的报错机率,增加了测试工作人员测试工作量。

技术实现思路

[0004]为解决现有技术中回归测试用例推荐数量较大、测试用例数据库缺少自动维护的技术问题,本专利技术提出回归测试用例知识库维护、回归测试用例推荐方法和系统,实现准确推荐针对修改代码的回归测试用例,自动维护回归测试用例知识库,减少回归测试用例数量级同时兼顾回归测试效果的技术效果。
[0005]本专利技术提供一种回归测试用例知识库维护方法,具体包括:
[0006]根据第一变更和/或第二变更构建待变更数据元,存储至待变更集合中,其中,所述第一变更为测试用例内容变更,所述第二变更为代码变更;
[0007]判断待变更集合是否为空,若不为空,获取所述待变更集合中的待变更数据元,根据获取到的待变更数据元定位所述回归测试用例知识库的更新位置;
[0008]根据所述获取到的待变更数据元和所述更新位置更新所述回归测试用例知识库。
[0009]优选的,所述回归测试用例知识库维护方法之前,还包括:
[0010]录制被执行的测试用例,获取录制的测试用例对应的移动端代码覆盖率文件,根据所述移动端代码覆盖率文件构建第一文件,所述第一文件中包含方法及方法中的分支的代码集合;根据所述第一文件和被执行的测试用例构建数据元,将构建的数据元存储至回
归测试用例知识库中。
[0011]优选的,所述根据所述第一文件和被执行的测试用例构建数据元,包括:
[0012]提取被执行的测试用例的测试用例信息,将所述第一文件中的一个或多个数据块对应的代码信息与提取到的测试用例信息关联,以构建数据元;所述测试用例信息至少包括:测试用例名称、测试用例ID、测试用例步骤和测试用例结果;所述代码信息至少包括:类名、方法名、方法传入参数、方法和/或分支语句。
[0013]优选的,所述获取录制的测试用例对应的移动端代码覆盖率文件,包括:
[0014]获取被执行的测试用例信息,清除所述移动端代码覆盖率文件中与被执行的测试用例相关的历史覆盖率文件,从而获得最新的移动端代码覆盖率文件,以构建第一文件。
[0015]优选的,所述根据所述获取到的待变更数据元和所述更新位置更新所述回归测试用例知识库,包括:
[0016]确定待变更数据元的类型,基于所述待变更数据元的类型从更新方法集合中匹配目标更新方法,按照匹配到的目标更新方法利用所述获取到的待变更数据元和所述更新位置更新所述回归测试用例知识库;
[0017]所述待变更数据元的类型包括第一变更对应的待变更数据元和第二变更对应的待变更数据元,所述更新方法集合中至少包括测试用例录制、代码片段更新。
[0018]优选的,所述回归测试用例知识库维护方法之后,还包括:
[0019]获取实时代码变更信息,定位实时代码变更对应的方法和对应的分支语句,构建实时变更集合;
[0020]基于实时变更集合在所述回归测试用例知识库中搜索相同方法和对应的分支语句,提取对应的回归测试用例加入待测用例集合。
[0021]本专利技术还提供一种回归测试用例知识库维护系统,包括:
[0022]监测模块,用于根据第一变更和/或第二变更构建待变更数据元,存储至待变更集合中,其中,所述第一变更为测试用例内容变更,所述第二变更为代码变更;
[0023]用例管理模块,用于所述回归测试用例知识库中的数据元进行管理,所述用例管理模块至少包括:定位模块,用于判断待变更集合是否为空,若不为空,获取所述待变更集合中的待变更数据元,根据获取到的待变更数据元定位所述回归测试用例知识库的更新位置;更新模块,用于根据所述待变更数据元和所述更新位置更新所述回归测试用例知识库。
[0024]本专利技术还提供一种回归测试用例推荐方法,包括:
[0025]获取代码变更影响的方法和被代码变更影响的分支语句,构建变更集合;
[0026]基于所述变更集合从基于历史覆盖率文件预先构建的回归测试用例知识库中匹配第一候选对象集合,所述回归测试用例知识库中存储有数据元,数据元至少包括测试用例信息和方法、分支语句代码信息;
[0027]提取第一候选对象集合中各个候选对象对应的回归测试用例,作为推荐用例。
[0028]优选的,提取第一候选对象集合中各个候选对象对应的回归测试用例,作为推荐用例之前,包括:
[0029]根据第一候选对象集合中单个方法或分支语句对应的测试用例数量评价各个候选对象,若单个方法或分支语句对应的测试用例数量小于预设阈值,将与该单个方法或分支语句对应的候选对象加入第二候选对象集合中,否则,加入第三候选对象集合中;
[0030]基于回归测试用例将所述第三候选对象集合中各个子候选对象进行聚类,从聚类后的各个类中选择代表子候选对象加入所述第二候选对象集合中,将所述第二候选对象集合中各个候选对象对应的回归测试用例,作为推荐用例。
[0031]本专利技术还提供一种回归测试用例推荐系统,包括:
[0032]变更获取模块,用于获取代码变更影响的方法和被代码变更影响的分支语句,构建变更集合;
[0033]构建模块,用于基于所述变更集合从基于历史覆盖率文件预先构建的回归测试用例知识库中匹配第一候选对象集合,所述回归测试用例知识库中存储有数据元,数据元至少包括测试用例信息和方法、分支语句代码信息;
[0034]推荐模块,用于提取第一候选对象集合中各个候选对象对应的回归测试用例,作为推荐用例。
[0035]本专利技术实施方式相对于现有技术而言,本专利技术提供的回归测本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种回归测试用例知识库维护方法,其特征在于,所述回归测试用例知识库维护方法,具体包括:根据第一变更和/或第二变更构建待变更数据元,存储至待变更集合中,其中,所述第一变更为测试用例内容变更,所述第二变更为代码变更;判断待变更集合是否为空,若不为空,获取所述待变更集合中的待变更数据元,根据获取到的待变更数据元定位所述回归测试用例知识库的更新位置;根据所述获取到的待变更数据元和所述更新位置更新所述回归测试用例知识库。2.根据权利要求1所述的回归测试用例知识库维护方法,其特征在于,所述回归测试用例知识库维护方法之前,还包括:录制被执行的测试用例,获取录制的测试用例对应的移动端代码覆盖率文件,根据所述移动端代码覆盖率文件构建第一文件,所述第一文件中包含方法及方法中的分支的代码集合;根据所述第一文件和被执行的测试用例构建数据元,将构建的数据元存储至回归测试用例知识库中。3.根据权利要求2所述的回归测试用例知识库维护方法,其特征在于,所述根据所述第一文件和被执行的测试用例构建数据元,包括:提取被执行的测试用例的测试用例信息,将所述第一文件中的一个或多个数据块对应的代码信息与提取到的测试用例信息关联,以构建数据元;所述测试用例信息至少包括:测试用例名称、测试用例ID、测试用例步骤和测试用例结果;所述代码信息至少包括:类名、方法名、方法传入参数、方法和/或分支语句。4.根据权利要求2所述的回归测试用例知识库维护方法,其特征在于,所述获取录制的测试用例对应的移动端代码覆盖率文件,包括:获取被执行的测试用例信息,清除所述移动端代码覆盖率文件中与被执行的测试用例相关的历史覆盖率文件,从而获得最新的移动端代码覆盖率文件,以构建第一文件。5.根据权利要求1所述的回归测试用例知识库维护方法,其特征在于,所述根据所述获取到的待变更数据元和所述更新位置更新所述回归测试用例知识库,包括:确定待变更数据元的类型,基于所述待变更数据元的类型从更新方法集合中匹配目标更新方法,按照匹配到的目标更新方法利用所述获取到的待变更数据元和所述更新位置更新所述回归测试用例知识库;所述待变更数据元的类型包括第一变更对应的待变更数据元和第二变更对应的待变更数据元,所述更新方法集合中至少包括测试用例录制、代码片段更新。6.根据权利要求1所述的回归测试用例知识库维护方法,其特征在于,所述回归测试用例知识库维护方法之后,还包括:获取实时代码变更信息,定位实时代码变更对应的方法和对应的分支...

【专利技术属性】
技术研发人员:李欢高小洲陈希李春伟郑耀
申请(专利权)人:北京陌陌信息技术有限公司
类型:发明
国别省市:

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

1