测试环境可用性检测方法、装置和计算机设备与流程

文档序号:31050074发布日期:2022-08-06 06:45阅读:133来源:国知局
测试环境可用性检测方法、装置和计算机设备与流程

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.图1为一个实施例中测试环境可用性检测方法的流程示意图;
53.图2为一个实施例中步骤102的流程示意图;
54.图3为一个实施例中步骤202的流程示意图;
55.图4为一个实施例中步骤104的流程示意图;
56.图5为一个实施例中步骤406的流程示意图;
57.图6为一个实施例中测试环境可用性检测装置的结构框图;
58.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
59.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
60.在一个实施例中,如图1所示,提供了一种测试环境可用性检测方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
61.步骤102,通过负载测试工具建立测试环境对应的场景文件。
62.其中,银行中每一个交易系统都有一个相对应的测试环境。负载测试工具可以为loadrunner工具,场景文件为loadrunner工具生成的文件,执行场景文件可以模拟交易系统中普通用户进行的交易。一个测试环境可以对应多个场景文件,场景文件中模拟的交易属于该测试环境上的交易系统即可。
63.步骤104,通过持续集成工具以固定频率控制负载测试工具,执行场景文件,得到测试环境的可用性检测结果。
64.其中,持续集成工具可以为jenkins工具。固定频率可以为根据测试环境的更新频率设定的检测频率,例如:银行场景下测试环境每天均更新,故可以设定固定频率为每周1至周5上午9点半。通过持续集成工具控制负载测试工具执行场景文件,以在每个工作日的上午9点半对该测试环境进行可用性检测。每个交易系统在对应的服务器上安装新版本,即为在每个交易系统对应的测试环境上安装新的测试版本,执行场景文件的结果即为在交易系统中交易的结果。例如:执行场景文件后的结果为失败,则该场景文件模拟的交易系统上的交易失败,执行场景文件后的结果为成功,则该场景文件模拟的交易系统上的交易成功。在交易系统上交易失败的次数影响测试环境的可用性检测结果。如果一个场景文件执行后在单位时间内交易失败的次数到达预设的阈值,则表示该场景文件相对应的测试环境判断结果为失败,该测试环境的可用性检测结果为不可用。
65.上述测试环境可用性检测方法,将负载测试工具与持续集成工具结合使用,负载测试工具建立场景文件,持续集成工具以固定频率控制负载测试工具执行场景文件得到测试环境的可用性检测结果,通过对固定频率的实际设置即可以实现根据测试环境的更新频率,自动对更新后的新测试版本的可用性进行检测,自动在正式开始交易测试前对测试环境进行可用性检测,以保证在测试环境可用的情况下进行交易测试,能够提高测试效率。
66.在一个实施例中,如图2所述,步骤102中,通过负载测试工具建立测试环境对应的场景文件,可以包括:
67.步骤202,通过负载测试工具录制测试环境对应的虚拟用户脚本。
68.示例性的,录制为loadrunner工具(负载测试工具)可执行的功能操作。操作人员可以在loadrunner工具的虚拟用户生产器(virtual user generator,vugen)中录制测试
环境对应的虚拟用户脚本(vuser script)。录制的虚拟用户脚本是loadrunner的vugen中录制的用户行为,用户行为是指录制出的虚拟用户脚本里的内容,实际是测试环境中一个交易从开始到结束的全部操作动作。
69.步骤204,在虚拟用户脚本可用的情况下,对虚拟用户脚本进行脚本内容调整,得到验证脚本。
70.具体地,在录制虚拟用户脚本后还需要对虚拟用户脚本进行回放。回放是loadrunner工具的基本功能之一。回放可以检验录制的虚拟用户脚本的质量,检验虚拟用户脚本是否录制正确。如果回放过程中虚拟用户脚本可以跑通,也即虚拟用户脚本对应的交易可以执行成功,即虚拟用户脚本可用。在虚拟用户脚本可用的情况下,对虚拟用户脚本进行脚本内容调整,可以包括对虚拟用户脚本进行参数化、关联操作和设置检测点等调整操作,参数化、关联操作和设置检测点后的虚拟用户脚本即为验证脚本。
71.虚拟用户脚本中的脚本内容都是静态的,对虚拟用户脚本进行参数化,即为对虚拟用户脚本参数化处理,将静态内容变为动态内容,来确保虚拟用户脚本能够动态运行。静态内容可以是虚拟用户脚本中的交易要素如卡号,账号的内容等单一、固定的值。动态内容是指经过参数化后,每次执行虚拟用户脚本可以使交易要素如卡号、账号的内容是不同的,使交易要素不会重复使用相同的内容。参数化可以使虚拟用户脚本的运行更接近真实的客户业务行为,还可以减少虚拟用户脚本的大小和虚拟用户脚本的数量。
72.举例来说,操作人员可以在虚拟用户脚本的实际业务处理部分(action部分)中选中需要参数化的脚本内容,然后单击鼠标右键,在弹出的菜单中选择replace with a parameter,将选中的脚本内容替换成参数。实际业务处理部分(action部分)是指虚拟用户脚本中包含实际交易执行的部分。
73.在录制虚拟用户脚本时,录制了一些服务器分配的数据,但是在回放虚拟用户脚本时,服务器会重新分配新的数据,导致之前录制时生成的数据无法使用,需要使用服务器新分配的数据。关联操作即为在虚拟用户脚本中捕获服务器分配的数据,存储到参数中,需要使用时从参数中取出,以保证使用的是服务器最新分配的数据。关联获得的数据是服务器响应请求所返回的一个符合条件的,动态的值。
74.举例来说,常见的系统登录功能,在登录后服务器会返回sessionid,登录后都需要提交该sessionid确认身份。在录制虚拟用户脚本时,会记录服务器返回的sessionid并且原封不动的保存在下一个请求中发给服务器。回放虚拟用户脚本时,服务器会在收到登录时输入的用户名和密码后,返回新的sessionid。但是虚拟用户脚本仍然会发送旧的sessionid给服务器,这就会因为sessionid错误导致虚拟用户脚本回放失败。为了确保虚拟用户脚本回放成功,需要获得服务器每次返回的不同的sessionid,再将新获得的sessionid发回服务器。
75.操作人员可以在参数化虚拟用户脚本后,对虚拟用户脚本做关联操作。关联即是指把在测试环境中交易返回的response内容保存为参数。在loadrunner工具中打开使用loadrunner自带的web_reg_save_param_ex()函数,将鼠标移到需要添加关联的地方,然后选择vugen的insert菜单下的new step,会弹出add setp窗口,在find function中输入web_reg_save_param_ex找到该函数。然后在弹出的web_reg_save_param_ex()关联函数设置窗口中进行设置。操作人员可以对测试环境中每笔交易的session id进行关联。
76.在回放参数化和关联后的虚拟用户脚本时,可能会出现虚拟用户脚本显示运行成功,但执行的操作或交易没有真正成功的情况。例如在一个注册用户的操作中,在注册成功后,前端页面会出现包含“注册成功”的字段,只有收到包含“注册成功”的字段,才说明注册成功,否则注册失败。在回放模拟注册用户操作的虚拟用户脚本时,会出现虚拟用户脚本运行成功,但实际上虚拟用户脚本中要注册的用户的用户名已经存在,注册失败的情况。因此设置检测点的目的为在loadrunner工具vugen中,使用自带的注册型函数web_reg_find()对测试环境中交易返回的内容通过检测点进行检测,判断交易是否成功。使用web_reg_find()函数时,需要对web_reg_find()函数的search for specific text参数进行设置,设置的值即为检测点。
77.示例性的,在测试环境对应的虚拟用户脚本里设置检测点。在search for specific text中输入:交易成功;然后设置search in为body,设置save count为regcheck,fail if为not fouund。设置完成的检测点函数web_reg_find()如下:
78.web_reg_find(“fail if=notfound”,
[0079]“search=body”,
[0080]“savecount=regst”,
[0081]“text=交易成功”,
[0082]
last);
[0083]
设置检测点后,如果在执行测试环境对应的场景文件时,虚拟用户脚本中没有出现“交易成功”,即该测试环境中此虚拟用户脚本代表的交易失败。
[0084]
步骤206,在验证脚本可用的情况下,响应于针对测试参数的设置,获取测试参数。
[0085]
具体地,回放验证脚本检验验证脚本的质量,检验验证脚本是否正确。如果回放过程中验证脚本可以跑通,验证脚本中含有“text=交易成功”,验证脚本对应的交易可以执行成功,即验证脚本可用。在验证脚本可用的情况下,响应于操作人员在loadrunner工具中针对测试参数的设置,获取测试参数。
[0086]
示例性的,操作人员在loadrunner工具的controller(负载生产及监控器)中打开验证脚本,配置脚本执行场景(scenario)的测试参数。测试参数可以包括在scenario schedule(场景执行计划)中设置schedule by(场景运行数量)和run mode(场景运行模式)的值,在global schedule中设置start vusers,负载持续时间(duration),stop vusers的值。scenario schedule用来设置场景运行的名称,场景运行的启动条件,停止条件,运行时间长度等信息。schedule by用来设置是运行单独一个场景的验证脚本,还是将多个场景的验证脚本组成一个群组来执行。
[0087]
run mode用来设置场景执行时是按模拟真实手工执行交易的方式来执行,还是只安装场景对应验证脚本里的内容来执行,如果按模拟真实手工执行交易的方式来执行,会在验证脚本执行过程中加入模拟手工执行交易时候出现的停顿。
[0088]
start vusers可以用来设置模拟交易的用户数量,duration可以用来设置此场景中验证脚本连续执行的时间,stop vusers可以用来设置全部交易立即停止或将交易按时间间隔分别停止。
[0089]
测试参数还可以包括服务器品质保障等级(service level agreement,sla)。操作人员可以在loadrunner工具的controller中设置sla,以对某些数据的阈值进行监控,当
验证脚本执行后无法达到sla制定的目标时,执行结果为失败。sla在设置阈值时选择的对象是单位时间内交易失败次数。如在单位时间内没有出现检测点内容“交易成功”的次数到达sla设置的阈值,则表示执行结果为失败。例如操作人员可以将单位时间设置为5秒,阈值设置为3次,即在执行验证脚本时5秒内交易失败的次数等于或大于五次,执行结果为失败。
[0090]
步骤208,根据测试参数和验证脚本建立测试环境对应的场景文件。
[0091]
示例性的,在loadrunner工具的controller中将完成测试参数设置后的验证脚本保存为后缀名为.lrs的场景文件,场景文件的文件名按需命名,以使在负载测试工具与持续集成工具结合使用时,便于操作人员通过命名选取执行一个或多个场景文件,从而进行一个或多个测试环境的可用性检查。
[0092]
在一个实施例中,如图3所述,步骤202中,通过负载测试工具录制测试环境对应的虚拟用户脚本,可以包括:
[0093]
步骤302,获取测试环境对应的历史交易报文。
[0094]
其中,从交易系统前端界面发起的交易,在前端界面输入内容后,会产生出交易报文发往交易下游的接收方。历史交易报文是符合loadrnner工具的json格式的报文,代表已经完成的交易。历史交易报文可以包括交易的账号,卡号,密码,金额,机构号等业务要素。历史交易报文可以用数字、字面组成。
[0095]
步骤304,通过负载测试工具,根据历史交易报文自动生成虚拟用户脚本。
[0096]
示例性的,将历史交易报文复制进loadrunner工具vugen中的脚本编辑窗口,loadrunner能自动生成虚拟用户脚本(vuser script)。相比于普通自动化测试工具,使用loadrunner根据历史交易报文生成虚拟用户脚本可以回避前端界面变化的影响。相比于jmeter等性能测试工具,使用loadrunner生成虚拟用户脚本的复用率高,虚拟用户脚本维护本低。
[0097]
在一个实施例中,如图4所述,步骤104中,通过持续集成工具以固定频率控制负载测试工具执行场景文件,得到测试环境的可用性检测结果,可以包括:
[0098]
步骤402,通过持续集成工具以固定频率读取场景文件。
[0099]
其中,在jenkins在发起执行检测任务时,可以以固定频率读取场景文件。固定频率可以为根据测试环境的更新频率设定的检测频率,例如:银行场景下测试环境每天均更新,故可以设定固定频率为每周1至周5上午9点半。通过持续集成工具在每个工作日的上午9点半发起执行检测任务,读取场景文件。
[0100]
步骤404,通过负载测试工具执行持续集成工具读取的场景文件,获得执行结果。
[0101]
具体地,将loadrunner和jenkins进行集成后,jenkins读取一个测试场景的所有场景文件,loadrunner将执行这个测试场景的所有场景文件,并获得执行结果。执行结果可以包括所有测试场景的每个场景文件中交易成功或和失败的信息。
[0102]
步骤406,根据执行结果得到测试环境的可用性检测结果。
[0103]
具体地,可用性检测结果可以是一份检测报告,检测报告中包括每一个测试环境是否具有可用性的信息。可用性检测结果还可以包括loadrunner执行测试场景的对应场景文件时的执行步骤信息,即场景文件中验证脚本运行的过程。可用性检测结果还可以包括执行结果,即测试环境中每个场景文件中每次模拟交易的结果。
[0104]
举例来说,操作人员可以提前预设一个阈值,阈值为单位时间内交易失败的次数。
根据执行结果中每个测试环境的场景文件中交易成功或和失败的信息来进行判断,如果一个场景文件执行后在单位时间内交易失败的次数到达预设的阈值,则表示该场景文件相对应的测试环境不可用。操作人员可以将单位时间设置为5秒,阈值设置为3次。
[0105]
在一个实施例中,测试环境可用性检测方法还可以包括:将场景文件存储至持续集成工具的存储目录中。
[0106]
示例性的,将同一个交易系统对应的测试环境的一个或多个场景文件放置在jenkins上预设的一个文件夹中,使得jenkins中每个文件夹包括不同的交易系统对应的测试环境的场景文件。例如:交易系统a包括5种不同的交易,交易系统a对应的测试环境即包括5个不同的场景文件,将这5个场景文件放置于jenkins上文件夹b中,文件夹b即包括交易系统a对应的测试环境的场景文件。
[0107]
在当前实施例中,步骤402中,通过持续集成工具以固定频率读取场景文件,可以包括:
[0108]
通过持续集成工具以固定频率从存储目录中读取场景文件。
[0109]
其中,在jenkins在发起执行检测任务时,可以从存储目录中读取场景文件。固定频率可以为根据测试环境的更新频率设定的检测频率,例如:银行场景下测试环境每天均更新,故可以设定固定频率为每周1至周5上午9点半。通过持续集成工具在每个工作日的上午9点半发起执行检测任务,从存储目录中读取场景文件。
[0110]
在一个实施例中,如图5所述,步骤406中,根据执行结果得到测试环境的可用性检测结果,可以包括:
[0111]
步骤502,根据执行结果判断场景文件对应的测试环境的可用性,得到判断结果。
[0112]
其中,操作人员可以提前预设一个阈值,阈值为单位时间内交易失败的次数。根据执行结果中每个测试环境的场景文件中交易成功或和失败的信息来进行判断,如果一个场景文件执行后在单位时间内交易失败的次数到达预设的阈值,则表示该场景文件相对应的测试环境判断结果为失败,该测试环境不可用。操作人员可以将单位时间设置为5秒,阈值设置为3次。
[0113]
步骤504,控制持续集成工具根据判断结果,生成并输出测试环境的可用性检测结果。
[0114]
具体地,判断结果是一个符合jenkins的格式文件。jenkins接收根据执行结果得到的判断结果,生成并输出测试环境的可用性检测结果。可用性检测结果可以是一份检测报告,检测报告中包括每一个测试环境的判断结果是失败还是成功,若测试环境的判断结果为成功,则该测试环境具有可用性,若测试环境的判断结果为失败,则该测试环境不具有可用性。
[0115]
可用性检测结果还可以包括loadrunner执行测试场景的对应场景文件时的执行步骤信息,即场景文件中验证脚本运行的过程。可用性检测结果还可以包括执行结果,即测试环境中每个场景文件中每次模拟交易的结果。
[0116]
在一个实施例中,测试环境可用性检测方法还可以包括:在可用性检测结果表征测试环境不可用情况下,发出警示通知。
[0117]
其中,警示通知可以为邮件形式,邮件内容可以包括可用性检测结果,还可以包括不可用的测试环境信息。在可用性检测结果中包括一个测试环境的判断结果为失败时,即
表征该测试环境不可用,将该测试环境不可用的信息与该测试环境中场景文件执行步骤信息一起通过预设邮箱发送邮件给相关工作人员。
[0118]
还可以通过搜索可用性检测结果里面是否包括设置的交易返回结果中表示交易成功的检测点,若不存在表示交易成功的检测点,则说明存在交易不可用,交易相对应的测试环境不可用。
[0119]
在一个实施例中,通过持续集成工具以固定频率从存储目录中读取场景文件,可以包括:
[0120]
通过持续集成工具以固定频率从存储目录中读取测试环境对应的场景文件,在负责测试工具完成针对当前测试环境对应的场景文件的执行后,通过持续集成工具从存储目录中读取下一测试环境对应的场景文件作为新的当前测试环境对应的场景文件,以使负载测试工具执行新的当前测试环境对应的场景文件,获得对应的执行结果,直至完成存储目录中存储的全部场景文件的执行为止。
[0121]
具体地,jenkins支持多脚本串行功能,将多个检测脚本进行串行组合,进行多脚本的串行执行。也即jenkins可以按顺序读取每一个测试环境对应的场景文件,从而使得loadrunner可以按照顺序执行每一个测试环境对应的场景文件,最终获得执行结果。
[0122]
示例性的,jenkins工具的使用过程如下:操作人员可以在jenkins管理页面新建一个自由风格的项目。源码管理中选择无。构建触发器中,设置预设时间间隔自动执行1次,预设时间间隔为每周1至周5上午9点半,以使jenkins可以以固定频率读取场景文件。构建环境中不选择任何选项。构建方法中,设置要读取的loadrunner场景文件的位置,设置可用性检测结果的存放位置。
[0123]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的测试环境可用性检测方法的测试环境可用性检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个测试环境可用性检测装置实施例中的具体限定可以参见上文中对于测试环境可用性检测方法的限定,在此不再赘述。
[0124]
在一个实施例中,参见图6,提供了一种测试环境可用性检测装置600。测试环境可用性检测装置600包括:
[0125]
场景建立模块602,用于通过负载测试工具建立测试环境对应的场景文件;
[0126]
测试模块604,用于通过持续集成工具以固定频率控制负载测试工具,执行场景文件,得到测试环境的可用性检测结果。
[0127]
上述测试环境可用性检测装置600,将负载测试工具与持续集成工具结合使用,负载测试工具建立场景文件,持续集成工具以固定频率控制负载测试工具执行场景文件得到测试环境的可用性检测结果,通过对固定频率的实际设置即可以实现根据测试环境的更新频率,自动对更新后的新测试版本的可用性进行检测,自动在正式开始交易测试前对测试环境进行可用性检测,以保证在测试环境可用的情况下进行交易测试,能够提高测试效率。
[0128]
在一个实施例中,场景建立模块602还用于通过负载测试工具录制测试环境对应的虚拟用户脚本;在虚拟用户脚本可用的情况下,对虚拟用户脚本进行脚本内容调整,得到验证脚本;在验证脚本可用的情况下,响应于针对测试参数的设置,获取测试参数;根据测试参数和验证脚本建立测试环境对应的场景文件。
[0129]
在一个实施例中,场景建立模块602还用于获取测试环境对应的历史交易报文;通
过负载测试工具,根据历史交易报文自动生成虚拟用户脚本。
[0130]
在一个实施例中,测试模块604,还用于通过持续集成工具以固定频率读取场景文件;通过负载测试工具执行持续集成工具读取的场景文件,获得执行结果;根据执行结果得到测试环境的可用性检测结果。
[0131]
在一个实施例中,测试环境可用性检测装置600还包括:存储模块,用于将场景文件存储至持续集成工具的存储目录中。测试模块604还用于通过持续集成工具以固定频率从存储目录中读取场景文件。
[0132]
在一个实施例中,测试模块604,还用于根据执行结果判断场景文件对应的测试环境的可用性,得到判断结果;
[0133]
控制持续集成工具根据判断结果,生成并输出测试环境的可用性检测结果。
[0134]
在一个实施例中,测试环境可用性检测装置600还包括:通知模块,用于在可用性检测结果表征测试环境不可用情况下,发出警示通知。
[0135]
在一个实施例中,测试模块604还用于通过持续集成工具以固定频率从存储目录中读取测试环境对应的场景文件,在负责测试工具完成针对当前测试环境对应的场景文件的执行后,通过持续集成工具从存储目录中读取下一测试环境对应的场景文件作为新的当前测试环境对应的场景文件,以使负载测试工具执行新的当前测试环境对应的场景文件,获得对应的执行结果,直至完成存储目录中存储的全部场景文件的执行为止。
[0136]
上述测试环境可用性检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0137]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储车辆的位置信息数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测试环境可用性检测方法。
[0138]
本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0139]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0140]
通过负载测试工具建立测试环境对应的场景文件;
[0141]
通过持续集成工具以固定频率控制负载测试工具,执行场景文件,得到测试环境的可用性检测结果。
[0142]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过负载测试工具录制测试环境对应的虚拟用户脚本;在虚拟用户脚本可用的情况下,对虚拟用户脚本进行脚本内容调整,得到验证脚本;在验证脚本可用的情况下,响应于针对测试参数的设置,获
取针对测试参数;根据测试参数和验证脚本建立测试环境对应的场景文件。
[0143]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取测试环境对应的历史交易报文;通过负载测试工具,根据历史交易报文自动生成虚拟用户脚本。
[0144]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过持续集成工具以固定频率读取场景文件;通过负载测试工具执行持续集成工具读取的场景文件,获得执行结果;根据执行结果得到测试环境的可用性检测结果。
[0145]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将场景文件存储至持续集成工具的存储目录中。
[0146]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过持续集成工具以固定频率从存储目录中读取场景文件。
[0147]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据执行结果判断场景文件对应的测试环境的可用性,得到判断结果;控制持续集成工具根据判断结果,生成并输出测试环境的可用性检测结果。
[0148]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在可用性检测结果表征测试环境不可用情况下,发出警示通知。
[0149]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过持续集成工具以固定频率从存储目录中读取测试环境对应的场景文件,在负责测试工具完成针对当前测试环境对应的场景文件的执行后,通过持续集成工具从存储目录中读取下一测试环境对应的场景文件作为新的当前测试环境对应的场景文件,以使负载测试工具执行新的当前测试环境对应的场景文件,获得对应的执行结果,直至完成存储目录中存储的全部场景文件的执行为止。
[0150]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0151]
通过负载测试工具建立测试环境对应的场景文件;
[0152]
通过持续集成工具以固定频率控制负载测试工具,执行场景文件,得到测试环境的可用性检测结果。
[0153]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:处理器执行计算机程序时还实现以下步骤:通过负载测试工具录制测试环境对应的虚拟用户脚本;在虚拟用户脚本可用的情况下,对虚拟用户脚本进行脚本内容调整,得到验证脚本;在验证脚本可用的情况下,响应于针对测试参数的设置,获取针对测试参数;根据测试参数和验证脚本建立测试环境对应的场景文件。
[0154]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:获取测试环境对应的历史交易报文;通过负载测试工具,根据历史交易报文自动生成虚拟用户脚本。
[0155]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:通过持续集成工具以固定频率读取场景文件;通过负载测试工具执行持续集成工具读取的场景文件,获得执行结果;根据执行结果得到测试环境的可用性检测结果。
[0156]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:将场景文件存储至持续集成工具的存储目录中。
[0157]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:通过持续集成工具
以固定频率从存储目录中读取场景文件。
[0158]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:根据执行结果判断场景文件对应的测试环境的可用性,得到判断结果;控制持续集成工具根据判断结果,生成并输出测试环境的可用性检测结果。
[0159]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:在可用性检测结果表征测试环境不可用情况下,发出警示通知。
[0160]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:通过持续集成工具以固定频率从存储目录中读取测试环境对应的场景文件,在负责测试工具完成针对当前测试环境对应的场景文件的执行后,通过持续集成工具从存储目录中读取下一测试环境对应的场景文件作为新的当前测试环境对应的场景文件,以使负载测试工具执行新的当前测试环境对应的场景文件,获得对应的执行结果,直至完成存储目录中存储的全部场景文件的执行为止。
[0161]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0162]
通过负载测试工具建立测试环境对应的场景文件;
[0163]
通过持续集成工具以固定频率控制负载测试工具,执行场景文件,得到测试环境的可用性检测结果。
[0164]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:处理器执行计算机程序时还实现以下步骤:通过负载测试工具录制测试环境对应的虚拟用户脚本;在虚拟用户脚本可用的情况下,对虚拟用户脚本进行脚本内容调整,得到验证脚本;在验证脚本可用的情况下,响应于针对测试参数的设置,获取针对测试参数;根据测试参数和验证脚本建立测试环境对应的场景文件。
[0165]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:获取测试环境对应的历史交易报文;通过负载测试工具,根据历史交易报文自动生成虚拟用户脚本。
[0166]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:通过持续集成工具以固定频率读取场景文件;通过负载测试工具执行持续集成工具读取的场景文件,获得执行结果;根据执行结果得到测试环境的可用性检测结果。
[0167]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:将场景文件存储至持续集成工具的存储目录中。
[0168]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:通过持续集成工具以固定频率从存储目录中读取场景文件。
[0169]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:根据执行结果判断场景文件对应的测试环境的可用性,得到判断结果;控制持续集成工具根据判断结果,生成并输出测试环境的可用性检测结果。
[0170]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:在可用性检测结果表征测试环境不可用情况下,发出警示通知。
[0171]
在一个实施例中,计算机程序被处理器执行时实现以下步骤:通过持续集成工具以固定频率从存储目录中读取测试环境对应的场景文件,在负责测试工具完成针对当前测试环境对应的场景文件的执行后,通过持续集成工具从存储目录中读取下一测试环境对应
的场景文件作为新的当前测试环境对应的场景文件,以使负载测试工具执行新的当前测试环境对应的场景文件,获得对应的执行结果,直至完成存储目录中存储的全部场景文件的执行为止。
[0172]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0173]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0174]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0175]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1