技术新讯 > 计算推算,计数设备的制造及其应用技术 > 多线程压力测试方法及装置与流程  >  正文

多线程压力测试方法及装置与流程

  • 国知局
  • 2024-08-05 12:02:25

本技术涉及测试,具体涉及一种多线程压力测试方法及装置。

背景技术:

1、目前银行正在信创转型方面开展柜面终端业务试点,相关试点项目在系统迁移时完成相关配置文件从windows系统迁移到linux系统这一改造点后,进行通过性测试以及代码兼容性改造测试的过程中,发现测试效率较低。

技术实现思路

1、针对现有技术中的问题,本技术实施例提供一种多线程压力测试方法及装置,能够至少部分地解决现有技术中存在的问题。

2、一方面,本技术提出一种多线程压力测试方法,包括:

3、使用代理服务器拦截和记录传入和传出的请求信息和请求响应信息;

4、对拦截到的每条所述请求信息进行解析,得到每条所述请求信息中目标参数;

5、根据每条所述请求信息中的目标参数生成可执行脚本;

6、根据所述可执行脚本对目标软件进行多线程压力测试,得到测试响应信息;

7、根据所述测试响应信息,确定所述目标软件的测试结果。

8、在一些实施例中,所述根据所述可执行脚本对目标软件进行多线程压力测试,得到测试响应信息,包括:

9、循环遍历交易终端集合、交易类型集合以及交易金额集合中的参数进行组合,生成n条测试数据,n为大于1的正整数,每条测试数据包括一交易终端、一交易类型以及一交易金额;

10、根据所述测试数据、所述可执行脚本以及预设的负载测试参数,对目标软件进行多线程压力测试,得到测试响应信息。

11、在一些实施例中,在生成测试数据之后,利用表结构存储所述测试数据;在根据所述测试数据、所述可执行脚本以及预设的负载测试参数,对目标软件进行多线程压力测试时,使用sql查询或编程语言提供的应用程序接口来读取并加载测试数据。

12、在一些实施例中,所述方法还包括:

13、录制用户在web应用程序中的操作行为数据;

14、对所述操作行为数据进行特征提取,得到特征数据;

15、利用所述特征数据和该特征数据的标签对预设模型进行训练,得到训练好的预测模型;

16、录制用户在web应用程序中新的操作行为数据;

17、对所述新的操作行为数据进行特征提取,得到新的特征数据;

18、将所述新的特征数据输入训练好的预测模型,得到预测结果;

19、根据所述预测结果优化所述目标软件。

20、在一些实施例中,所述目标参数包括url、方法、参数和/或头部信息;所述负载测试参数包括并发线程数量和/或循环次数。

21、在一些实施例中,所述根据所述测试数据、所述可执行脚本以及预设的负载测试参数,对目标软件进行多线程压力测试,包括:

22、根据所述测试数据、所述可执行脚本以及预设的负载测试参数,模拟至少两个客户端同时向所述目标软件的服务器发送请求并监控所述服务器的响应时间。

23、在一些实施例中,所述方法还包括:

24、记录每个url的响应时间;

25、根据每个url的响应时间,生成多线程压力测试报告。

26、另一方面,本技术提出一种多线程压力测试装置,包括:

27、拦截模块,用于使用代理服务器拦截和记录传入和传出的请求信息和请求响应信息;

28、解析模块,用于对拦截到的每条所述请求信息进行解析,得到每条所述请求信息中目标参数;

29、生成模块,用于根据每条所述请求信息中的目标参数生成可执行脚本;

30、测试模块,用于根据所述可执行脚本对目标软件进行多线程压力测试,得到测试响应信息;

31、确定模块,用于根据所述请求响应信息及所述测试响应信息,确定所述目标软件的测试结果。

32、在一些实施例中,所述测试模块具体用于:

33、循环遍历交易终端集合、交易类型集合以及交易金额集合中的参数进行组合,生成n条测试数据,n为大于1的正整数,每条测试数据包括一交易终端、一交易类型以及一交易金额;

34、根据所述测试数据、所述可执行脚本以及预设的负载测试参数,对目标软件进行多线程压力测试,得到测试响应信息。

35、在一些实施例中,所述装置还包括存储模块,所述存储模块用于利用表结构存储所述测试数据;所述装置还包括查询模块,所述查询模块用于在根据所述测试数据、所述可执行脚本以及预设的负载测试参数,对目标软件进行多线程压力测试时,使用sql查询或编程语言提供的应用程序接口来读取并加载测试数据。

36、在一些实施例中,所述装置还包括:

37、录制模块,用于录制用户在web应用程序中的操作行为数据;

38、特征提取模块,用于对所述操作行为数据进行特征提取,得到特征数据;

39、训练模块,用于利用所述特征数据和该特征数据的标签对预设模型进行训练,得到训练好的预测模型;

40、所述录制模块还用于录制用户在web应用程序中新的操作行为数据;

41、所述特征提取模块还用于对所述新的操作行为数据进行特征提取,得到新的特征数据;

42、输入模块,用于将所述新的特征数据输入训练好的预测模型,得到预测结果;

43、优化模块,用于根据所述预测结果优化所述目标软件。

44、在一些实施例中,所述目标参数包括url、方法、参数和/或头部信息;所述负载测试参数包括并发线程数量和/或循环次数。

45、在一些实施例中,所述测试模块根据所述测试数据、所述可执行脚本以及预设的负载测试参数,对目标软件进行多线程压力测试,包括:

46、根据所述测试数据、所述可执行脚本以及预设的负载测试参数,模拟至少两个客户端同时向所述目标软件的服务器发送请求并监控所述服务器的响应时间。

47、在一些实施例中,所述装置还包括:

48、记录模块,用于记录每个url的响应时间;

49、分析模块,用于根据每个url的响应时间,生成多线程压力测试报告。

50、本技术实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述的多线程压力测试方法的步骤。

51、本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的多线程压力测试方法的步骤。

52、本技术实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。

53、本技术实施例提供的多线程压力测试方法及装置,使用代理服务器拦截和记录传入和传出的请求信息和请求响应信息;对拦截到的每条所述请求信息进行解析,得到每条所述请求信息中目标参数;根据每条所述请求信息中的目标参数生成可执行脚本;根据所述可执行脚本对目标软件进行多线程压力测试,得到测试响应信息;根据所述请求响应信息及所述测试响应信息,确定所述目标软件的测试结果。这样,通过使用多线程压力测试技术,最大程度提高终端综合测试效率进而提高终端项目进展。

本文地址:https://www.jishuxx.com/zhuanli/20240802/260749.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。