本发明涉及软件测试,尤其涉及一种基于locust的性能测试方法、装置、设备及介质。
背景技术:
1、在软件技术中,针对临时性计算资源需求,比如性能压测,往往不是固定的、长期的运行行为,一般情况下,往往需要单独申请服务器用于性能压测使用,或者直接在某些当前表面上看负载模式较低的服务器上进行部署,进行性能压测。
2、目前市面上传统的性能压测方案,是启用服务器线程来创建虚拟用户去做并发验证,不足之处是会消耗压测机大量资源,且需要提前准备,浪费了大量的时间成本与金钱成本。
技术实现思路
1、有鉴于此,本发明的目的是为了克服现有技术中的不足,提供一种基于locust的性能测试方法、装置、设备及介质。
2、本发明提供如下技术方案:
3、第一方面,本公开实施例中提供了一种基于locust的性能测试方法,所述方法包括:
4、安装并配置locust工具与jenkins工具,基于python语言编写locust测试脚本;
5、在所述jenkins工具中创建jenkins作业,根据所述jenkins作业配置源代码管理,并通过所述源代码管理获取所述locust测试脚本;
6、所述jenkins工具通过执行python命令运行所述locust测试脚本,并指定性能测试的测试参数;
7、所述locust工具根据所述测试参数执行所述性能测试,并生成所述性能测试对应的性能结果数据,通过所述jenkins工具收集所述性能结果数据。
8、进一步地,所述jenkins工具通过执行python命令运行所述locust测试脚本之前,还包括:
9、指定所述locust测试脚本的执行路径、测试场景、用户行为、负载模式与测试任务;
10、设置所述locust测试脚本的性能指标,其中,所述性能指标包括每秒请求数与响应时间。
11、进一步地,所述jenkins工具通过执行python命令运行所述locust测试脚本,包括:
12、在所述jenkins工具中创建执行项目;
13、所述jenkins工具在所述执行项目中根据所述执行路径、所述测试场景、所述用户行为、所述负载模式、所述测试任务与所述性能指标,通过执行python命令运行所述locust测试脚本。
14、进一步地,所述测试参数包括并发用户数和测试持续时间,所述locust工具根据所述测试参数执行所述性能测试,包括:
15、所述locust工具根据所述并发用户数和所述测试持续时间,并基于事件驱动架构设置协程;
16、通过事件循环对所述协程进行调用,以执行所述性能测试。
17、进一步地,所述locust工具根据所述测试参数执行所述性能测试,还包括:
18、所述locust工具启动master节点与web界面;
19、通过所述master节点协调和管理所述性能测试的过程;
20、通过所述web界面监视和控制所述性能测试的执行。
21、进一步地,所述locust工具根据所述测试参数执行所述性能测试,还包括:
22、所述locust工具启动至少一个slave节点;
23、通过所述slave节点模拟并发用户,并定期向所述master节点报告所述并发用户的状态和性能指标。
24、进一步地,所述通过所述jenkins工具收集所述性能结果数据之后,还包括:
25、所述jenkins工具根据所述性能结果数据,生成性能测试报告,其中,所述性能结果数据包括当前用户数、请求速率和错误率,所述性能测试报告包括所述性能指标、响应时间分布图和错误报告。
26、第二方面,本公开实施例中提供了一种基于locust的性能测试装置,所述装置包括:
27、安装模块,用于安装并配置locust工具与jenkins工具,基于python语言编写locust测试脚本;
28、获取模块,用于在所述jenkins工具中创建jenkins作业,根据所述jenkins作业配置源代码管理,并通过所述源代码管理获取所述locust测试脚本;
29、执行模块,用于所述jenkins工具通过执行python命令运行所述locust测试脚本,并指定性能测试的测试参数;
30、收集模块,用于所述locust工具根据所述测试参数执行所述性能测试,并生成所述性能测试对应的性能结果数据,通过所述jenkins工具收集所述性能结果数据。
31、第三方面,本公开实施例中提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中所述的基于locust的性能测试方法的步骤。
32、第四方面,本公开实施例中提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中所述的基于locust的性能测试方法的步骤。
33、本发明的实施例具有如下优点:
34、本发明实施例提供的基于locust的性能测试方法,方法包括:安装并配置locust工具与jenkins工具,基于python语言编写locust测试脚本;在所述jenkins工具中创建jenkins作业,根据所述jenkins作业配置源代码管理,并通过所述源代码管理获取所述locust测试脚本;所述jenkins工具通过执行python命令运行所述locust测试脚本,并指定性能测试的测试参数;所述locust工具根据所述测试参数执行所述性能测试,并生成所述性能测试对应的性能结果数据,通过所述jenkins工具收集所述性能结果数据。本发明提升了性能测试效率,并在一定程度上可以规避迭代过程中的风险,节约研发成本,无须购买有一定要求的硬件配置服务器。
35、为使本发明的上述目的、特征和优点能更明显和易懂,下文特举较佳实施例,并配合所附附图,做详细说明如下。
1.一种基于locust的性能测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于locust的性能测试方法,其特征在于,所述jenkins工具通过执行python命令运行所述locust测试脚本之前,还包括:
3.根据权利要求2所述的基于locust的性能测试方法,其特征在于,所述jenkins工具通过执行python命令运行所述locust测试脚本,包括:
4.根据权利要求1所述的基于locust的性能测试方法,其特征在于,所述测试参数包括并发用户数和测试持续时间,所述locust工具根据所述测试参数执行所述性能测试,包括:
5.根据权利要求1所述的基于locust的性能测试方法,其特征在于,所述locust工具根据所述测试参数执行所述性能测试,还包括:
6.根据权利要求5所述的基于locust的性能测试方法,其特征在于,所述locust工具根据所述测试参数执行所述性能测试,还包括:
7.根据权利要求6所述的基于locust的性能测试方法,其特征在于,所述通过所述jenkins工具收集所述性能结果数据之后,还包括:
8.一种基于locust的性能测试装置,其特征在于,所述装置包括:
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述的基于locust的性能测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的基于locust的性能测试方法的步骤。