本技术属于软件程序测试,可用于金融领域,具体涉及一种适应于变动被测试程序的测试方法及装置。
背景技术:
1、随着互联网技术以及物联网技术的飞速发展,金融应用场景层出不穷,进而要求金融行业对于分布式以及数字化架构的转型,在这种转型的过程中,对于软件程序的测试显得尤为重要。具体地,各种软件项目更新迭代的节奏加快,随之带给测试人员较大的测试压力,除了对于测试当前新增的功能外,还需要对历史的功能进行维护以及测试,故现有技术中,对于软件程序的测试存在以下技术痛点:
2、当开发人员修改软件程序后,而测试人员恰巧不知道修改结果,从而忽略了某些特殊的分支程序,从而对被测试程序未能完全进行回归测试。此外,即使测试人员知道开发人员对于软件程序的修改结果,在对被测试程序进行回归测试时,也需要测试人员耗费大量的人力以及物力梳理、分析程序逻辑,以提供测试清单,且即使在提供了测试清单的基础上,也不一定可以完全覆盖被测试程序的接口程序以及接口程序下的分支程序,故在这种情况下,即使测试人员执行了自动化测试案例,也并不清楚是否对接口程序里面的分支程序进行了完全覆盖的测试,存在一定的风险。
技术实现思路
1、本发明可用于软件程序测试技术在金融方面应用的技术领域,也可用于除金融领域之外的任意领域。
2、本发明的一个目的在于提供一种适应于变动被测试程序的测试方法,该方法对于修改后的被测试程序也可以进行全面覆盖的测试,对测试人员进行减负的同时,也很好地提升了接口程序的质量,提高了接口程序的正确性和系统迭代效率。
3、本发明的另一个目的在于提供一种适应于变动被测试程序的测试装置。本发明的还一个目的在于提供一种电子设备,该电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述适应于变动被测试程序的测试方法的步骤。本发明的还一个目的在于提供一种可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述适应于变动被测试程序的测试方法的步骤。
4、为解决本技术背景技术中的技术问题,本发明提供以下技术方案:
5、第一方面,本发明提供一种适应于变动被测试程序的测试方法包括:
6、建立被测试程序中接口调用链与测试案例之间的映射关系,其中,所述接口调用链包括:所述被测试程序中所有接口程序之间的调用关系、所有接口程序的分支程序之间的调用关系以及所有接口程序与所有分支程序之间的调用关系;
7、根据所述接口调用链建立所述被测试程序对应的逻辑树;
8、根据所述逻辑树以及所述映射关系测试发生变动的被测试程序及/或未发生变动的被测试程序。
9、在本发明的一实施例中,根据所述接口调用链建立所述被测试程序对应的逻辑树,包括:
10、根据所述接口调用链中的调用关系确定所述逻辑树的结构模型;
11、根据所述接口程序建立所述逻辑树的根节点以及叶节点;
12、根据所述分支程序建立所述逻辑树的叶节点;
13、所述被测试程序中所有接口程序之间的调用关系、所有接口程序的分支程序之间的调用关系以及所有接口程序与所有分支程序之间的调用关系建立所述根节点与所述叶节点之间的根叶节点关系;
14、根据所述结构模型、所述根节点、所述叶节点以及所述根叶节点关系建立所述逻辑树。
15、在本发明的一实施例中,根据所述接口调用链中的调用关系确定所述逻辑树的结构模型,包括:
16、根据所述调用关系遍历所述被测试程序中的所有分支程序,以确定所述逻辑树的结构模型。
17、在本发明的一实施例中,根据所述逻辑树以及所述映射关系测试发生变动的被测试程序及/或未发生变动的被测试程序,包括:
18、根据所述映射关系在所述测试案例中查找所有接口程序对应的测试案例以及所述分支程序对应的测试案例;
19、根据所有接口程序对应的测试案例以及所述分支程序对应的测试案例测试所述逻辑树中的根节点以及叶节点对应的接口程序及分支程序。
20、在本发明的一实施例中,当所述被测试程序发生变动时,所述根据所有接口程序对应的测试案例以及所述分支程序对应的测试案例测试所述逻辑树中的根节点以及叶节点对应的接口程序及分支程序,包括:
21、根据当前的映射关系对所述逻辑树中的根节点以及叶节点对应的接口程序及分支程序在所述测试案例中进行匹配;
22、当有所述接口程序及/或分支程序未匹配到所述测试案例时,将对应的接口程序及/或分支程序进行未匹配标识,以生成未匹配结果;
23、根据所述逻辑树以及所述未匹配结果生成所述测试案例对于发生变动后的被测试案例的覆盖率。
24、在本发明的一实施例中,根据所述逻辑树以及所述未匹配结果生成所述测试案例对于发生变动后的被测试案例的覆盖率,包括:
25、遍历所述逻辑树,以确定所述所有接口的总路径;
26、根据所述未匹配结果以及所述总路径生成所述覆盖率。
27、在本发明的一实施例中,根据所述逻辑树以及所述映射关系测试发生变动的被测试程序及/或未发生变动的被测试程序,还包括:
28、当对所述被测试程序进行回归测试时,对于所述被测试程序中所有接口程序之间的调用关系、所有接口程序的分支程序之间的调用关系以及所有接口程序与所有分支程序之间的调用关系进行回归测试标识,以生成回归测试标识结果,并将所述回归测试标识结果保存至所述接口调用链;
29、当对所述被测试程序进行非回归测试时,对于所述被测试程序中所有接口程序之间的调用关系、所有接口程序的分支程序之间的调用关系以及所有接口程序与所有分支程序之间的调用关系进行非回归测试标识,以生成非回归测试标识结果,并将所述非回归测试标识结果保存至所述接口调用链。
30、第二方面,本发明提供一种适应于变动被测试程序的测试装置,该装置包括:
31、映射关系建立模块,用于建立被测试程序中接口调用链与测试案例之间的映射关系,其中,所述接口调用链包括:所述被测试程序中所有接口程序之间的调用关系、所有接口程序的分支程序之间的调用关系以及所有接口程序与所有分支程序之间的调用关系;
32、逻辑树建立模块,用于根据所述接口调用链建立所述被测试程序对应的逻辑树;
33、程序测试模块,用于根据所述逻辑树以及所述映射关系测试发生变动的被测试程序及/或未发生变动的被测试程序。
34、在本发明的一实施例中,逻辑树建立模块包括:
35、结构模型建立单元,用于根据所述接口调用链中的调用关系确定所述逻辑树的结构模型;
36、根节点建立单元,用于根据所述接口程序建立所述逻辑树的根节点以及叶节点;
37、叶节点建立单元,用于根据所述分支程序建立所述逻辑树的叶节点;
38、节点关系建立单元,用于所述被测试程序中所有接口程序之间的调用关系、所有接口程序的分支程序之间的调用关系以及所有接口程序与所有分支程序之间的调用关系建立所述根节点与所述叶节点之间的根叶节点关系;
39、逻辑树建立单元,用于根据所述结构模型、所述根节点、所述叶节点以及所述根叶节点关系建立所述逻辑树。
40、在本发明的一实施例中,所述结构模型建立单元包括:
41、结构模型建立子单元,用于根据所述调用关系遍历所述被测试程序中的所有分支程序,以确定所述逻辑树的结构模型。
42、在本发明的一实施例中,所述程序测试模块包括:
43、测试案例查找单元,用于根据所述映射关系在所述测试案例中查找所有接口程序对应的测试案例以及所述分支程序对应的测试案例;
44、程序测试单元,用于根据所有接口程序对应的测试案例以及所述分支程序对应的测试案例测试所述逻辑树中的根节点以及叶节点对应的接口程序及分支程序。
45、在本发明的一实施例中,当所述被测试程序发生变动时,所述程序测试单元包括:
46、测试案例匹配单元,用于根据当前的映射关系对所述逻辑树中的根节点以及叶节点对应的接口程序及分支程序在所述测试案例中进行匹配;
47、未匹配结果生成单元,用于当有所述接口程序及/或分支程序未匹配到所述测试案例时,将对应的接口程序及/或分支程序进行未匹配标识,以生成未匹配结果;
48、覆盖率生成单元,用于根据所述逻辑树以及所述未匹配结果生成所述测试案例对于发生变动后的被测试案例的覆盖率。
49、在本发明的一实施例中,所述覆盖率生成单元包括:
50、总路径确定单元,用于遍历所述逻辑树,以确定所述所有接口的总路径;
51、覆盖率生成子单元,用于根据所述未匹配结果以及所述总路径生成所述覆盖率。
52、在本发明的一实施例中,所述程序测试模块还包括:
53、回归标识单元,用于当对所述被测试程序进行回归测试时,对于所述被测试程序中所有接口程序之间的调用关系、所有接口程序的分支程序之间的调用关系以及所有接口程序与所有分支程序之间的调用关系进行回归测试标识,以生成回归测试标识结果,并将所述回归测试标识结果保存至所述接口调用链;
54、非回归标识单元,用于当对所述被测试程序进行非回归测试时,对于所述被测试程序中所有接口程序之间的调用关系、所有接口程序的分支程序之间的调用关系以及所有接口程序与所有分支程序之间的调用关系进行非回归测试标识,以生成非回归测试标识结果,并将所述非回归测试标识结果保存至所述接口调用链。
55、第三方面,本发明提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现一种适应于变动被测试程序的测试方法的步骤。
56、第四方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现适应于变动被测试程序的测试方法的步骤。
57、第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现适应于变动被测试程序的测试方法的步骤。
58、从上述描述可知,本发明实施例提供一种适应于变动被测试程序的测试方法及装置,包括:首先建立被测试程序中接口调用链与测试案例之间的映射关系,其中,接口调用链包括:被测试程序中所有接口程序之间的调用关系、所有接口程序的分支程序之间的调用关系以及所有接口程序与所有分支程序之间的调用关系;接着,根据接口调用链建立被测试程序对应的逻辑树;最后根据逻辑树以及映射关系测试发生变动的被测试程序及/或未发生变动的被测试程序。本发明可以使测试人员很好地在回归测试阶段了解接口程序里面的所有分支程序的测试覆盖情况,以在回归测试阶段及时查漏补缺,对测试人员进行减负的同时,也极大提高了接口程序的质量、正确性和系统迭代效率,具有良好广泛的应用场景。