本公开涉及软件测试,更具体地说,涉及一种全链路压力测试方法、装置、电子设备及存储介质。
背景技术:
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、本公开提供一种全链路压力测试方法、装置、电子设备及存储介质,通过虚拟化生产数据构建待测链路的测试铺底数据,并基于测试铺底数据生成测试用例;通过分析生产日志构建待测链路的用户行为数据,并基于用户行为数据生成测试脚本;执行测试脚本,以使测试脚本运行测试用例对待测链路进行压力测试。本发明中测试铺底数据和用户行为数据均来自待测链路实际的生产环境,也就是在生产环境中引入全链路压力测试,相应的测试用例和测试脚本是针对全链路所生成的,由此在压力测试时数据流不会发生断层,保证数据流转性,保证全链路测试的准确性。
1.一种全链路压力测试方法,其特征在于,所述全链路压力测试方法包括:
2.根据权利要求1所述的全链路压力测试方法,其特征在于,所述通过虚拟化生产数据构建待测链路的测试铺底数据,包括:
3.根据权利要求2所述的全链路压力测试方法,其特征在于,所述测试需求信息中还包含所述目标业务场景下的接口范围;
4.根据权利要求1所述的全链路压力测试方法,其特征在于,所述全链路压力测试方法还包括:
5.一种全链路压力测试装置,其特征在于,所述全链路压力测试装置包括:
6.根据权利要求5所述的全链路压力测试装置,其特征在于,用于通过虚拟化生产数据构建待测链路的测试铺底数据的所述测试用例生成模块,具体用于:
7.根据权利要求6所述的全链路压力测试装置,其特征在于,所述测试需求信息中还包含所述目标业务场景下的接口范围;
8.根据权利要求5所述的全链路压力测试装置,其特征在于,所述压力测试执行模块,还用于:
9.一种电子设备,其特征在于,所述电子设备包括:至少一个存储器和至少一个处理器;所述存储器存储有应用程序,所述处理器调用所述存储器存储的应用程序,所述应用程序用于实现权利要求1-4任意一项所述的全链路压力测试方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序代码,所述计算机程序代码执行时实现权利要求1-4任意一项所述的全链路压力测试方法。
