本申请涉及软件测试领域,尤其涉及一种回归测试方法及装置、存储介质。
背景技术:
1、回归测试是软件测试团队质量保障的重要手段,然而随着项目的不断迭代,项目规模的增大,需要的测试用例也会持续增加,完成测试的人力资源和时间成本也在升高。通常情况下,回归测试范围由研发、软件测试团队成员的经验评估生成;容易造成测试遗漏的问题。
技术实现思路
1、本申请实施例提供一种回归测试方法及装置、存储介质,能够提高测试范围的覆盖准确性。
2、本申请的技术方案是这样实现的:
3、第一方面,本申请实施例提出一种回归测试方法,所述方法包括:
4、从git开发代码库中查找有代码变化的文件,并确定所述文件调用的函数名称;
5、从预设调用链图谱中查找所述函数名称对应的函数节点;所述预设调用链图谱为针对目标版本的代码进行抽象语法树ast分析得到的函数调用关系图谱;
6、从所述预设调用链图谱中查找与所述函数节点关联的第一测试用例,用以执行回归测试。
7、可选的,所述从预设调用链图谱中查找所述函数名称对应的函数节点之前,所述方法还包括:
8、对所述目标版本的代码进行代码扫描和ast分析,得到代码所在的模块包含的文件包含的类对函数的调用关系数据;
9、基于所述调用关系数据,生成以函数为基本单位的所述预设调用链图谱。
10、可选的,所述从所述预设调用链图谱中查找与所述函数节点关联的第一测试用例之后,所述方法还包括:
11、获取所述第一测试用例的第一用例调用次数;
12、获取回归测试的测试信息;
13、基于所述测试信息和所述第一用例调用次数,从所述第一测试用例中选择目标测试用例以执行回归测试。
14、可选的,所述方法还包括:
15、确定并执行所述目标版本的代码对应的测试用例;
16、在执行完所述测试用例后,获取并解析系统日志,得到用例执行过程中调用的关系数据;
17、基于所述关系数据,确定每个关系数据关联的用例名称;
18、将所述用例名称作为一种属性数据添加至所述预设调用链图谱中对应的节点中;
19、所述从所述预设调用链图谱中查找与所述函数节点关联的第一测试用例,包括:
20、从所述预设调用链图谱中查找所述函数节点的第一属性数据;并从第一属性数据中确定所述第一测试用例。
21、可选的,所述从预设调用链图谱中查找所述函数名称对应的函数节点之后,所述方法还包括:
22、从所述预设调用链图谱中查找与所述函数节点关联的关联节点;
23、若查找到所述关联节点,则从所述预设调用链图谱中查找与所述关联节点关联的第二测试用例,以利用所述第一测试用例和所述第二测试用例执行回归测试;
24、若未查找到所述关联节点,则利用所述第一测试用例执行回归测试。
25、可选的,所述从git开发代码库中查找有代码变化的文件,并确定所述文件调用的函数名称,包括:
26、根据代码提交标识,获取有代码变化的文件;
27、通过git代码管理工具自带的命令git diff file解析所述文件,得到所述文件调用的所述函数名称。
28、可选的,所述预设调用链图谱存储在neo4j图形数据库中。
29、第二方面,本申请实施例提出一种回归测试装置,所述设备包括:
30、查找单元,用于从git开发代码库中查找有代码变化的文件;从预设调用链图谱中查找所述函数名称对应的函数节点;所述预设调用链图谱为针对目标版本的代码进行抽象语法树ast分析得到的函数调用关系图谱;从所述预设调用链图谱中查找与所述函数节点关联的第一测试用例,用以执行回归测试;
31、确定单元,用于确定所述文件调用的函数名称。
32、第三方面,本申请实施例提出一种回归测试装置,所述回归测试装置包括:处理器及存储器;所述处理器执行存储器存储的运行程序时实现上述回归测试方法。
33、第四方面,本申请实施例提出一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述回归测试方法。
34、本申请实施例提供了一种回归测试方法及装置、存储介质,该方法包括:从git开发代码库中查找有代码变化的文件,并确定文件调用的函数名称;从预设调用链图谱中查找函数名称对应的函数节点;预设调用链图谱为针对目标版本的代码进行抽象语法树ast分析得到的函数调用关系图谱;从预设调用链图谱中查找与函数节点关联的第一测试用例,用以执行回归测试。采用上述方法实现方案,基于对目标版本的代码的ast分析,生成表征函数调用关系的预设调用链图谱,每查找到有代码变化的文件,确定文件调用的函数名称,并基于预设调用链图谱查找对应的函数节点以及与函数节点关联的第一测试用例,以执行回归测试,能够基于预设调用链图谱精准覆盖到更改后的测试范围,提高了测试范围的覆盖准确性。
1.一种回归测试方法,所述方法包括:
2.根据权利要求1所述的方法,所述从预设调用链图谱中查找所述函数名称对应的函数节点之前,所述方法还包括:
3.根据权利要求1所述的方法,所述从所述预设调用链图谱中查找与所述函数节点关联的第一测试用例之后,所述方法还包括:
4.根据权利要求1所述的方法,所述方法还包括:
5.根据权利要求1所述的方法,所述从预设调用链图谱中查找所述函数名称对应的函数节点之后,所述方法还包括:
6.根据权利要求1所述的方法,所述从git开发代码库中查找有代码变化的文件,并确定所述文件调用的函数名称,包括:
7.根据权利要求1所述的方法,所述预设调用链图谱存储在neo4j图形数据库中。
8.一种回归测试装置,所述回归测试装置包括:
9.一种回归测试装置,所述回归测试装置包括:处理器及存储器;所述处理器执行存储器存储的运行程序时实现如权利要求1-7任一项所述的方法。
10.一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法。