一种回归测试方法及装置、存储介质制造方法及图纸

技术编号:38262949 阅读:11 留言:0更新日期:2023-07-27 10:22
本申请实施例提供了一种回归测试方法及装置、存储介质,包括:从Git开发代码库中查找有代码变化的文件,并确定文件调用的函数名称;从预设调用链图谱中查找函数名称对应的函数节点;预设调用链图谱为针对目标版本的代码进行抽象语法树AST分析得到的函数调用关系图谱;从预设调用链图谱中查找与函数节点关联的第一测试用例,用以执行回归测试。用以执行回归测试。用以执行回归测试。

【技术实现步骤摘要】
一种回归测试方法及装置、存储介质


[0001]本申请涉及软件测试领域,尤其涉及一种回归测试方法及装置、存储介质。

技术介绍

[0002]回归测试是软件测试团队质量保障的重要手段,然而随着项目的不断迭代,项目规模的增大,需要的测试用例也会持续增加,完成测试的人力资源和时间成本也在升高。通常情况下,回归测试范围由研发、软件测试团队成员的经验评估生成;容易造成测试遗漏的问题。

技术实现思路

[0003]本申请实施例提供一种回归测试方法及装置、存储介质,能够提高测试范围的覆盖准确性。
[0004]本申请的技术方案是这样实现的:
[0005]第一方面,本申请实施例提出一种回归测试方法,所述方法包括:
[0006]从Git开发代码库中查找有代码变化的文件,并确定所述文件调用的函数名称;
[0007]从预设调用链图谱中查找所述函数名称对应的函数节点;所述预设调用链图谱为针对目标版本的代码进行抽象语法树AST分析得到的函数调用关系图谱;
[0008]从所述预设调用链图谱中查找与所述函数节点关联的第一测试用例,用以执行回归测试。
[0009]可选的,所述从预设调用链图谱中查找所述函数名称对应的函数节点之前,所述方法还包括:
[0010]对所述目标版本的代码进行代码扫描和AST分析,得到代码所在的模块包含的文件包含的类对函数的调用关系数据;
[0011]基于所述调用关系数据,生成以函数为基本单位的所述预设调用链图谱。
[0012]可选的,所述从所述预设调用链图谱中查找与所述函数节点关联的第一测试用例之后,所述方法还包括:
[0013]获取所述第一测试用例的第一用例调用次数;
[0014]获取回归测试的测试信息;
[0015]基于所述测试信息和所述第一用例调用次数,从所述第一测试用例中选择目标测试用例以执行回归测试。
[0016]可选的,所述方法还包括:
[0017]确定并执行所述目标版本的代码对应的测试用例;
[0018]在执行完所述测试用例后,获取并解析系统日志,得到用例执行过程中调用的关系数据;
[0019]基于所述关系数据,确定每个关系数据关联的用例名称;
[0020]将所述用例名称作为一种属性数据添加至所述预设调用链图谱中对应的节点中;
[0021]所述从所述预设调用链图谱中查找与所述函数节点关联的第一测试用例,包括:
[0022]从所述预设调用链图谱中查找所述函数节点的第一属性数据;并从第一属性数据中确定所述第一测试用例。
[0023]可选的,所述从预设调用链图谱中查找所述函数名称对应的函数节点之后,所述方法还包括:
[0024]从所述预设调用链图谱中查找与所述函数节点关联的关联节点;
[0025]若查找到所述关联节点,则从所述预设调用链图谱中查找与所述关联节点关联的第二测试用例,以利用所述第一测试用例和所述第二测试用例执行回归测试;
[0026]若未查找到所述关联节点,则利用所述第一测试用例执行回归测试。
[0027]可选的,所述从Git开发代码库中查找有代码变化的文件,并确定所述文件调用的函数名称,包括:
[0028]根据代码提交标识,获取有代码变化的文件;
[0029]通过Git代码管理工具自带的命令git diff file解析所述文件,得到所述文件调用的所述函数名称。
[0030]可选的,所述预设调用链图谱存储在Neo4j图形数据库中。
[0031]第二方面,本申请实施例提出一种回归测试装置,所述设备包括:
[0032]查找单元,用于从Git开发代码库中查找有代码变化的文件;从预设调用链图谱中查找所述函数名称对应的函数节点;所述预设调用链图谱为针对目标版本的代码进行抽象语法树AST分析得到的函数调用关系图谱;从所述预设调用链图谱中查找与所述函数节点关联的第一测试用例,用以执行回归测试;
[0033]确定单元,用于确定所述文件调用的函数名称。
[0034]第三方面,本申请实施例提出一种回归测试装置,所述回归测试装置包括:处理器及存储器;所述处理器执行存储器存储的运行程序时实现上述回归测试方法。
[0035]第四方面,本申请实施例提出一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述回归测试方法。
[0036]本申请实施例提供了一种回归测试方法及装置、存储介质,该方法包括:从Git开发代码库中查找有代码变化的文件,并确定文件调用的函数名称;从预设调用链图谱中查找函数名称对应的函数节点;预设调用链图谱为针对目标版本的代码进行抽象语法树AST分析得到的函数调用关系图谱;从预设调用链图谱中查找与函数节点关联的第一测试用例,用以执行回归测试。采用上述方法实现方案,基于对目标版本的代码的AST分析,生成表征函数调用关系的预设调用链图谱,每查找到有代码变化的文件,确定文件调用的函数名称,并基于预设调用链图谱查找对应的函数节点以及与函数节点关联的第一测试用例,以执行回归测试,能够基于预设调用链图谱精准覆盖到更改后的测试范围,提高了测试范围的覆盖准确性。
附图说明
[0037]图1为本申请实施例提供的一种回归测试方法的流程图;
[0038]图2为本申请实施例提供的一种示例性的预设调用链图谱的示意图;
[0039]图3为本申请实施例提供的一种回归测试装置的结构示意图一;
[0040]图4为本申请实施例提供的一种回归测试装置的结构示意图二。
具体实施方式
[0041]为了能够更加详尽地了解本申请实施例的特点与
技术实现思路
,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
[0042]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0043]在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。还需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
[0044]本申请实施例提供一种回归测试方法,如图1所示,该方法可以包括:
[0045]S101、从Git开发代码库中查找有代码变化的文件,并确定文件调用的函数名称。
[0046]本申请实施例提供的一种回归测试方法是基于Git开发代码库中文件、类、函数的变化进行测试用例的动态选择来执行回归测试的场景下。
[0047]在本申请实施例中,每检测到向Git开发代本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种回归测试方法,所述方法包括:从Git开发代码库中查找有代码变化的文件,并确定所述文件调用的函数名称;从预设调用链图谱中查找所述函数名称对应的函数节点;所述预设调用链图谱为针对目标版本的代码进行抽象语法树AST分析得到的函数调用关系图谱;从所述预设调用链图谱中查找与所述函数节点关联的第一测试用例,用以执行回归测试。2.根据权利要求1所述的方法,所述从预设调用链图谱中查找所述函数名称对应的函数节点之前,所述方法还包括:对所述目标版本的代码进行代码扫描和AST分析,得到代码所在的模块包含的文件包含的类对函数的调用关系数据;基于所述调用关系数据,生成以函数为基本单位的所述预设调用链图谱。3.根据权利要求1所述的方法,所述从所述预设调用链图谱中查找与所述函数节点关联的第一测试用例之后,所述方法还包括:获取所述第一测试用例的第一用例调用次数;获取回归测试的测试信息;基于所述测试信息和所述第一用例调用次数,从所述第一测试用例中选择目标测试用例以执行回归测试。4.根据权利要求1所述的方法,所述方法还包括:确定并执行所述目标版本的代码对应的测试用例;在执行完所述测试用例后,获取并解析系统日志,得到用例执行过程中调用的关系数据;基于所述关系数据,确定每个关系数据关联的用例名称;将所述用例名称作为一种属性数据添加至所述预设调用链图谱中对应的节点中;所述从所述预设调用链图谱中查找与所述函数节点关联的第一测试用例,包括:从所述预设调用链图谱中查找所述函数节点的第一属性数据;并从第一属性数据中确定所述第一测试用例。5.根据权利要求1所述的方...

【专利技术属性】
技术研发人员:冯超裴建官李学军
申请(专利权)人:联想凌拓科技有限公司
类型:发明
国别省市:

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

1