本发明属于云服务,具体涉及一种云服务回归测试方法、系统、终端及存储介质。
背景技术:
1、回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
2、云服务的回归测试由于涉及的多个客户端与多个服务端的数据交互,存在大量需要测试的服务模块。相关测试方法大多是基于云服务更新的需求项目的代码从测试用例库拉取测试用例执行测试。
3、对于云服务来说,相关测试方法拉取的测试用例数量庞大,存在大量冗余测试用例,降低了回归测试的效率。
技术实现思路
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、基于新增接口信息和接口更新信息和测试用例描述信息对新增接口和更新接口与测试用例进行匹配,建立新增接口和更新接口与测试用例的映射关系,所述映射关系包括接口描述信息、测试用例描述信息;
59、将初始测试用例矩阵中没有建立所述映射关系的用于测试接口的测试用例移除。
60、在一个可选的实施方式中,所述系统还包括:
61、校验每个新增接口和更新接口是否均存在所述映射关系;
62、若存在未通过校验的接口,则为所述接口创建测试用例并将创建的测试用例添加至测试用例矩阵。
63、在一个可选的实施方式中,测试执行模块具体用于:
64、将服务模块或接口与测试用例的对应关系写入执行文件;
65、解析服务模块之间的数据流,并基于所述数据流生成测试用例的执行顺序;
66、基于所述执行顺序设置所述执行文件中的测试用例的执行顺序;
67、基于所述执行文件依次向相应服务模块执行测试用例,得到测试结果。
68、第三方面,提供一种终端,包括:
69、处理器、存储器,其中,
70、该存储器用于存储计算机程序,
71、该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
72、第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
73、本发明的有益效果在于,本发明提供的云服务回归测试方法、系统、终端及存储介质,通过先调取包含全量测试用例的初始测试用例矩阵,然后对云服务更新的服务模块以及接口进行解析,从初始测试用例矩阵中移除部分冗余测试用例,进而降低测试量,提升回归测试效率。
74、本发明提供的云服务回归测试方法,通过对云服务的需求项目涉及的服务模块进行客户端和服务端梳理,基于访问关联关系筛选出部分不需要全量测试的服务模块,进一步对测试用例矩阵进行精简,同时保证测试覆盖度。
75、此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。