本发明涉及云服务,具体涉及一种应用测试方法、装置、电子设备及存储介质。
背景技术:
1、随着微服务的发展,越来越多的应用使用微服务架构,使用微服务架构有很多的好处,比如微服务将服务拆分的更细利于分工,升级迭代更方便,但是同时也会带来一些问题,微服务拆分之后需要更多的服务器来部署这些服务。
2、如果在现有环境下对某一个服务的所有服务器上的应用进行升级打包部署,而新的包又存在问题时,那么在测试服务的时候,就会影响正常的调用链路。
技术实现思路
1、鉴于以上内容,有必要提出一种应用测试方法、装置、电子设备及存储介质,能够有效的解决扩容单个服务导致请求丢失问题,且只需部署单个服务器,从而避免了搭建全链路服务导致的资源浪费。
2、本发明的第一方面提供一种应用测试方法,所述方法包括:
3、为待测试的目标应用部署第一服务器,并为所述第一服务器标识染色环号;
4、响应于对所述目标应用的测试请求,判断所述测试请求中是否携带请求染色环号;
5、当确定所述测试请求中携带请求染色环号,获取与所述请求染色环号对应的目标染色环号,并使用所述目标染色环号对应的目标第一服务器对所述目标应用进行功能测试;
6、当确定所述测试请求中没有携带请求染色环号,获取与所述目标应用对应的第二服务器,并使用所述第二服务器对所述目标应用进行功能测试。
7、根据本发明的一个可选的实施方式,所述使用所述目标染色环号对应的目标第一服务器对所述目标应用进行功能测试包括:
8、计算所述目标第一服务器的数量;
9、当所述数量大于1时,根据轮询算法在多个所述目标第一服务器中确定一个目标第一服务器;
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、本发明提供的应用测试方法、装置、电子设备及存储介质,通过染色环号配置的自动发现,染色环号跨服务的调用,染色环境的销毁,完整的实现了整个染色环境的调用。染色环号机制能够有效的解决扩容单个服务导致请求丢失问题,且只需部署单个服务器,无需部署整个链路,从而避免了搭建全链路服务导致的资源浪费,带染色环号的请求与带染色环号的服务节点可以保证请求总是落到想要的染色环境。染色环号配置的自动发现,能够使得处于应用上游的调用方无需手动配置,跨进程和单进程内染色环号无丢失的传递,能够保证链路调用的完整性。
1.一种应用测试方法,其特征在于,所述方法包括:
2.如权利要求1所述的应用测试方法,其特征在于,所述使用所述目标染色环号对应的目标第一服务器对所述目标应用进行功能测试包括:
3.如权利要求2所述的应用测试方法,其特征在于,所述根据轮询算法在多个所述目标第一服务器中确定一个目标第一服务器包括:
4.如权利要求1所述的应用测试方法,其特征在于,在所述为所述第一服务器标识染色环号之后,所述方法还包括:
5.如权利要求4所述的应用测试方法,其特征在于,在所述确定所述测试请求中携带请求染色环号之后,在所述获取与所述请求染色环号对应的目标染色环号之前,所述方法还包括:
6.如权利要求5所述的应用测试方法,其特征在于,所述方法还包括:
7.如权利要求1至6中任意一项所述的应用测试方法,其特征在于,所述对所述目标应用进行功能测试包括:
8.一种应用测试装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述应用测试方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述应用测试方法。