基于调用关系的回归测试的方法、装置和回归测试系统与流程

文档序号:36251152发布日期:2023-12-02 23:15阅读:47来源:国知局
基于调用关系的回归测试的方法与流程

本技术涉及回归测试,具体而言,涉及一种基于调用关系的回归测试的方法、装置、计算机可读存储介质和回归测试系统。


背景技术:

1、随着微服务架构技术在银行系统中的运用,每个业务功能被定义成一个微服务组件,其组件化、可复用、可替换的性能使得通过编排组合的方式就能达到提高交付质量、缩短交付周期的效果,但也存在组合调用关系的复杂和易变性。因此对于代码优化、需求调整、异动质检和数据库实体变更等所引起的函数内部逻辑以及组合调用关系的变化,会一定程度上影响一些服务交易的功能。

2、软件回归测试用于产品整体测试后期快速迭代的过程中开发人员对代码的需求变更以及数据库实体变更所引起的预期功能变化的检验。在实际回归测试中,测试人员更希望获取可能引起功能变化的交易名称或者直接对测试案例的精准定位分析。已有的静态的代码分析在多条件分支情况下会产生冗余的调用关系数据。已有的动态的代码分析存在层级调用关系过多的情况。同时,两者对于数据库实体变更所引起的交易接口功能变化难以识别,因此,目前的回归测试分析的效率和可靠性较低。


技术实现思路

1、本技术的主要目的在于提供一种基于调用关系的回归测试的方法、装置、计算机可读存储介质和回归测试系统,以至少解决现有技术中回归测试分析的效率和可靠性较低的问题。

2、为了实现上述目的,根据本技术的一个方面,提供了一种基于调用关系的回归测试的方法,包括:获取多个测试案例,所述测试案例用于对目标对象进行测试;获取调用关系,其中,所述调用关系为所述测试案例执行中产生的调用关系或者两个所述测试案例之间的调用关系;在所述目标对象发生变更的情况下,生成组件服务编码,其中,所述目标对象为数据库的数据表和/或软件代码,所述组件服务编码与变更的所述目标对象一一对应;根据所述组件服务编码确定目标调用接口,根据所述目标调用接口调用目标调用关系,其中,所述目标调用关系的数量小于或者等于所述调用关系的数量,所述目标调用关系为所述目标对象发生变更受影响的所述调用关系;根据所述目标调用关系确定目标测试案例,以使得基于所述目标测试案例进行回归测试,其中,所述目标测试案例的数量小于或者等于所述测试案例的数量,所述目标测试案例为所述目标对象发生变更受影响的所述测试案例。

3、可选地,在获取调用关系之前,所述方法还包括:根据多个所述测试案例执行测试工作,并得到测试信息,其中,所述测试信息为测试过程中多个所述测试案例执行的顺序和关系的信息;根据所述测试信息构建调用关系库,其中,所述调用关系库中包括所述调用关系和所述测试案例的业务跟踪号,所述业务跟踪号用于对所述测试案例跟踪定位。

4、可选地,在所述目标对象为所述软件代码的情况下,在所述目标对象发生变更的情况下,生成组件服务编码,包括:获取第n次提交的所述软件代码和第n+1次提交的所述软件代码,其中,n≥1;比较第n次提交的所述软件代码和第n+1次提交的所述软件代码是否相同;在第n次提交的所述软件代码和第n+1次提交的所述软件代码不相同的情况下,确定不相同的第n次提交的所述软件代码的部分和第n+1次提交的至少部分所述软件代码的部分为差异代码区域;根据所述差异代码区域生成所述组件服务编码,其中,所述组件服务编码映射至所述差异代码区域。

5、可选地,在所述目标对象为所述数据库的所述数据表的情况下,在所述目标对象发生变更的情况下,生成组件服务编码,包括:获取第n次保存的所述数据表的表结构和第n+1次保存的所述数据表的表结构;比较第n次保存的所述数据表的表结构和第n+1次保存的所述数据表的表结构是否相同;在第n次保存的所述数据表的表结构和第n+1次保存的所述数据表的表结构不相同的情况下,根据第n次保存的所述数据表的id和第n+1次保存的所述数据表的id生成所述组件服务编码,其中,所述组件服务编码映射至第n次保存的所述数据表的id和第n+1次保存的所述数据表的id。

6、可选地,在获取调用关系之后,所述方法还包括:获取多个微服务组件,其中,所述微服务组件用于根据所述测试案例执行测试工作;根据所述调用关系确定组件层级调用关系,其中,所述组件层级调用关系两个所述微服务组件之间调用的关系或者所述微服务组件和聚合组件的关系;根据所述组件层级调用关系构建组件层级调用关系库,其中,所述组件层级调用关系库包括所述组件层级调用关系、业务跟踪号和交易编码,其中,所述交易编码为实现业务请求的交易的编码,所述业务请求对应至少一个所述测试案例。

7、可选地,根据所述目标调用关系确定目标测试案例,包括:根据所述目标调用关系在所述组件层级调用关系库中查找目标业务跟踪号和目标交易编码,其中,所述目标业务跟踪号为所述目标对象发生变更受影响的所述业务跟踪号,所述目标交易编码所述目标对象发生变更受影响的所述交易编码;根据所述目标业务跟踪号和所述目标交易编码,过滤所述目标对象发生变更不受影响的所述测试案例,得到所述目标测试案例。

8、可选地,所述组件层级调用关系库中还包括所述组件服务编码,所述组件服务编码和所述组件层级调用关系一一对应,在根据所述目标调用关系确定目标测试案例之后,所述方法还包括:提取目标组件服务编码,其中,所述目标组件服务编码为多个所述组件服务编码中的一个;在所述组件层级调用关系库中查找所述目标组件服务编码对应的目标组件层级调用关系;在查找到所述目标组件服务编码对应的所述目标组件层级调用关系的情况下,保留所述目标组件层级调用关系,在未查找到所述目标组件服务编码对应的所述目标组件层级调用关系的情况下,删除所述目标组件层级调用关系。

9、根据本技术的另一方面,提供了一种基于调用关系的回归测试的装置,包括:第一获取单元,用于获取多个测试案例,所述测试案例用于对目标对象进行测试;第二获取单元,用于获取调用关系,其中,所述调用关系为所述测试案例执行中产生的调用关系或者两个所述测试案例之间的调用关系;生成单元,用于在所述目标对象发生变更的情况下,生成组件服务编码,其中,所述目标对象为数据库的数据表和/或软件代码,所述组件服务编码与变更的所述目标对象一一对应;第一确定单元,用于根据所述组件服务编码确定目标调用接口,根据所述目标调用接口调用目标调用关系,其中,所述目标调用关系的数量小于或者等于所述调用关系的数量,所述目标调用关系为所述目标对象发生变更受影响的所述调用关系;第二确定单元,用于根据所述目标调用关系确定目标测试案例,以使得基于所述目标测试案例进行回归测试,其中,所述目标测试案例的数量小于或者等于所述测试案例的数量,所述目标测试案例为所述目标对象发生变更受影响的所述测试案例。

10、根据本技术的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述基于调用关系的回归测试的方法。

11、根据本技术的又一方面,提供了一种回归测试系统,包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的基于调用关系的回归测试的方法。

12、应用本技术的技术方案,先提取到测试案例之间的调用关系,在后续数据表和/或代码发生变更的情况下,可以生一个组件服务编码,这个组件服务编码用来映射变更的数据表和/或代码,如果是已经存在的代码做区域变更,直接获取它的组件服务编码(不在生成)追踪目标接口;如果是新增代码会生成新的组件服务编码,则调用这个新的组件服务编码,也就是它的上层组件编码所映射的代码区域肯定是发生变化的,获取这段区域代码变化所对应的组件服务编码去追踪目标接口,不需要用新生成的组件服务编码;如果是组件服务编码删除,同上,上层调用者的代码区域一定会删除,识别上层调用的组件服务编码即可;如果是数据库表变更,会识别变动数据库表的id,在代码中操作该数据库表的组件服务编码会记录这个id信息,识别带有这个id信息的组件服务编码追踪目标接口或者测试案例,目标调用接口是可以用来调用案例之间的调用关系的,这样可以只对受影响的调用关系进行调用,不受影响的非目标调用关系不再使用,这样可以避免冗余或者过多的调用关系,同时,不论是数据库表更,还是代码变更,都可以在发生变更的情况下识别到,因此本方案是可以识别到接口的,并且,在回归测试时,可以基于目标调用关系来确定目标测试案例,这样可以仅仅对受影响的测试案例来进行回归测试,提高了回归测试分析的效率和可靠性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1