一种性能测试方法、设备、系统及存储介质与流程

文档序号:30054895发布日期:2022-05-17 17:20阅读:73来源:国知局
一种性能测试方法、设备、系统及存储介质与流程

1.本技术涉及软件测试技术领域,尤其涉及一种性能测试方法、设备、系统及存储介质。


背景技术:

2.随着互联网技术的飞速发展,公有云得到了广泛的应用。为了确保用户的使用体验,通常需要针对公有云进行一系列的测试。目前在公有云的测试过程中,往往需要人工操作来运行测试命令、观察测试进程、记录测试结果等,但由于公有云的测试过程通常用时较长,可能导致人力、物力的浪费。
3.申请内容
4.为解决上述技术问题,本技术期望提供一种性能测试方法、设备、系统及存储介质,解决了目前公有云竞品测试时自动化程度较低的问题,实现了自动化对公有云竞品的测试,提高了测试效率,保证了测试过程中数据的准确性。
5.本技术的技术方案是这样实现的:
6.第一方面,一种性能测试方法,所述方法包括:
7.获取目标测试用例、目标测试工具、目标执行时刻和配置信息;其中,所述配置信息至少包括n个待测试节点的节点标识信息,所述目标测试工具用于运行所述目标测试用例,n为至大于或等于2的整数;
8.若检测到与所述n个待测试节点的节点标识信息对应的n个待测试节点均已安装所述目标测试工具,且当前时刻为所述目标测试用例的目标执行时刻,发送所述目标测试用例和所述配置信息至n个所述待测试节点;
9.接收n个所述待测试节点分别发送的目标格式的性能运行信息文件,得到n个性能运行信息文件;其中,一个所述性能运行信息文件是由一个所述待测试节点执行所述目标测试用例得到的;
10.基于n个所述性能运行信息文件,确定n个所述待测试节点的测评结果。
11.第二方面,一种性能测试方法,所述方法包括:
12.接收客户端节点发送的目标测试用例和配置信息,并记录接收到所述目标测试用例的第一接收时间;
13.基于所述配置信息中包括的n个待测试节点的节点标识信息,确定其他待测试节点;其中,所述其他待测试节点为所述n个待测试节点中除待测试节点外的n-1个节点,n为至大于或等于2的整数;
14.获取所述其他待测试节点发送的接收到所述目标测试用例的第二接收时间;
15.若所述第一接收时间和所述第二接收时间在所述配置信息中设置的容忍时间内,通过已安装的目标测试工具执行所述目标测试用例,得到目标格式的性能运行信息文件;
16.发送所述目标格式的性能运行信息文件至所述客户端节点;其中,所述目标格式的性能运行信息文件用于使所述客户端节点对所述待测试节点的运行性能进行评测,得到
测评结果。
17.第三方面,一种性能测试系统,所述系统包括:客户端节点和n个待测试节点;其中:
18.所述客户端节点,用于获取目标测试用例、目标测试工具、目标执行时刻和配置信息;其中,所述配置信息至少包括n个待测试节点的节点标识信息,所述目标测试工具用于运行所述目标测试用例,n为至大于或等于2的整数;若检测到与所述n个待测试节点的节点标识信息对应的n个待测试节点均已安装目标测试工具,且当前时刻为所述目标测试用例的目标执行时刻,发送所述目标测试用例和所述配置信息至n个所述待测试节点;
19.所述n个待测试节点,用于接收客户端节点发送的目标测试用例和配置信息,并记录接收到所述目标测试用例的第一接收时间;基于所述配置信息中包括的n个待测试节点的节点标识信息,确定其他待测试节点;其中,所述其他待测试节点为所述n个待测试节点中除待测试节点外的n-1个节点,n为至大于或等于2的整数;获取所述其他待测试节点发送的接收到所述目标测试用例的第二接收时间;若所述第一接收时间和所述第二接收时间在所述配置信息中设置的容忍时间内,通过已安装的目标测试工具执行所述目标测试用例,得到目标格式的性能运行信息文件;发送所述目标格式的性能运行信息文件至所述客户端节点;其中,所述目标格式的性能运行信息文件用于使所述客户端节点对所述待测试节点的运行性能进行评测,得到测评结果;
20.所述客户端节点,还用于接收n个所述待测试节点分别发送的目标格式的性能运行信息文件,得到n个性能运行信息文件;其中,一个所述性能运行信息文件是由一个所述待测试节点执行所述目标测试用例得到的;基于n个所述性能运行信息文件,确定n个所述待测试节点的测评结果。
21.第四方面,一种客户端设备,所述设备用于运行客户端节点,所述设备包括:第一存储器、第一处理器和第一通信总线;其中:
22.所述第一存储器,用于存储可执行指令;
23.所述第一通信总线,用于实现所述第一处理器和所述第一存储器之间的通信连接;
24.所述第一处理器,用于执行所述第一存储器中存储的性能测试程序,实现如上述任一项所述的性能测试方法的步骤。
25.第五方面,一种服务器,所述服务器用于运行待测试节点,所述服务器包括:第二存储器、第二处理器和第二通信总线;其中:
26.所述第二存储器,用于存储可执行指令;
27.所述第二通信总线,用于实现所述第二处理器和所述第二存储器之间的通信连接;
28.所述第二处理器,用于执行所述第二存储器中存储的性能测试程序,实现如上述任一项所述的性能测试方法的步骤。
29.第六方面,一种存储介质,所述存储介质上存储有性能测试程序,所述性能测试程序被处理器执行时实现如上述任一项所述的性能测试方法的步骤。
30.本技术实施例提供了一种性能测试方法、设备、系统及存储介质,客户端节点根据配置信息,检测到n个待测试节点均已安装目标测试工具,且当前时刻为目标测试用例的目
标执行时刻时,自动将目标测试用例发送至n个待测试节点,以便n个测试节点在检测到自身接收到目标测试用例及其他待测试节点接收到目标测试用例的时间均在容忍时间内时,均采用同一目标测试工具执行同一目标测试用例后并反馈同一目标格式的性能运行信息文件至客户端节点,使得客户端节点对接收到的n个同一目标格式的性能运行信息文件进行统一分析,以得到每一待测试节点的测评结果,解决了目前公有云竞品测试时自动化程度较低的问题,实现了自动化对公有云竞品的测试,提高了测试效率,保证了测试过程中数据的准确性。
附图说明
31.图1为本技术实施例提供的一种性能测试方法的流程示意图;
32.图2为本技术实施例提供的另一种性能测试方法的流程示意图;
33.图3为本技术实施例提供的又一种性能测试方法的流程示意图;
34.图4为本技术实施例提供的一种应用场景示意图;
35.图5为本技术实施例提供的一种性能测试结果的格式示意图;
36.图6为本技术实施例提供的一种性能运行信息文件的格式示意图;
37.图7为本技术实施例提供的一种客户端设备的结构示意图;
38.图8为本技术实施例提供的一种服务器的结构示意图;
39.图9为本技术实施例提供的一种性能测试系统的结构示意图。
具体实施方式
40.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
41.本技术的实施例提供一种性能测试方法,参照图1所示,方法应用于客户端节点,该方法包括以下步骤:
42.步骤101、获取目标测试用例、目标测试工具、目标执行时刻和配置信息。
43.其中,配置信息至少包括n个待测试节点的节点标识信息,目标测试工具用于运行目标测试用例,n为至大于或等于2的整数。
44.在本技术实施例中,客户端节点可以运行在客户端设备上,用户可以对客户端节点进行操作,通过客户端节点输入目标测试用例和配置信息,即目标测试用例和配置信息是用户通过与客户端节点具有通信连接的输入设备例如键盘、鼠标或者语音输入设备等输入的。目标测试用例可以是用户即测试人员编译的目标测试用例脚本,或者还可以是用户输入目标测试用例的用例标识信息后,客户端节点根据输入的用例标识信息从客户端节点对应的存储区域中确定得到的,即目标测试用例为预先编译并存储在客户端节点对应的存储区域中的。客户端节点获取到的目标测试用例至少包括一个,即用户在一次测试设置过程中,可以同时输入至少一个目标测试用例。
45.配置信息包括需进行测试的待测试节点和设置的待测试节点通过目标测试工具执行目标测试用例时需满足的一些要求参数。
46.步骤102、若检测到与n个待测试节点的节点标识信息对应的n个待测试节点均已安装目标测试工具,且当前时刻为目标测试用例的目标执行时刻,发送目标测试用例和配
置信息至n个待测试节点。
47.在本技术实施例中,待测试节点为运行待测试竞品的节点,例如竞品为公有云时,一个待测试节点为一个厂商提供的公有云服务节点,即一个待测试节点为一个厂商提供的公有云服务器。目标测试工具为用于测试待测试节点的性能的工具,即目标测试工具运行目标测试用例时,可以实现对目标测试节点的性能进行测试。不同的目标测试工具,可以运行不同的目标测试用例,即特定的目标测试用例,只能在特定的目标测试工具中运行。在待测试节点中可以安装至少一种目标测试工具。在一些测试应用场景中,只能通过一种目标测试工具执行一个目标测试用例,即在一种目标测试工具执行一个目标测试用例后,才可以执行另外一个目标测试用例,或者才可以运行另外一种目标测试工具来执行其他的一个目标测试用例。
48.n个待测试节点为不同厂商提供的运行同一类别产品的节点,例如可以是不同厂商提供的公有云节点。目标测试用例的目标执行时刻可以是用户设定的目标测试用例的同一执行时间,这样,客户端节点可以在同一时间点将目标测试用例发送给n个待测试节点,以尽量保证n个待测试节点运行目标测试用例的运行时间的一致性。
49.客户端节点检测待测试节点是否安装目标测试工具时,包括:客户端节点根据配置信息中设置的n个待测试节点的节点标识信息,确定n个待测试节点;发送用于检测目标测试工具是否安装的测试信息至待测试节点;由于每个目标测试工具均内置一个版本验证工具,如果能正常执行,则表示安装成功,因此,待测试节点接收到测试信息后,目标测试工具若能执行测试信息,表示安装成功,否则表示安装失败;待测试节点可以根据目标测试工具的运行结果生成对应的反馈信息,并发送至客户端节点,以使客户端节点确定待测试节点安装目标测试工具的状况。
50.步骤103、接收n个待测试节点分别发送的目标格式的性能运行信息文件,得到n个性能运行信息文件。
51.其中,一个性能运行信息文件是由一个待测试节点通目标测试工具执行目标测试用例得到的。
52.在本技术实施例中,由于不同的待测试节点的运行性能不一样,因此,每一待测试节点返回目标格式的性能运行信息文件的时间可能不同。目标格式的性能运行信息文件可能是待测试节点通过目标测试工具执行目标测试用例后就生成的,也可以是待测试节点将通过目标测试工具执行目标测试用例后就生成的性能测试结果进行转换处理得到的。这样,不同的待测试节点向客户端节点反馈的性能运行信息文件为同一目标格式的,减轻了客户端节点对性能运行信息文件的处理压力。
53.步骤104、基于n个性能运行信息文件,确定n个待测试节点的测评结果。
54.在本技术实施例中,客户端节点从n个性能运行信息文件中获取每一目标性能指标的n个指标值,对每一目标性能指标的n个指标值按照统一标准进行分析,得到对应的待测试节点的该目标性能指标的子评测结果,然后根据每一待测试节点的每一目标性能指标的子评测结果进行分析,得到每一待测试节点的测评结果。
55.本技术实施例提供的一种性能测试方法,客户端节点根据配置信息,检测到n个待测试节点均已安装目标测试工具,且当前时刻为目标测试用例的目标执行时刻时,自动将目标测试用例发送至n个待测试节点,并对n个待测试节点均采用统一目标测试工具执行统
一目标测试用例后反馈的同一目标格式的性能运行信息文件进行分析,得到每一待测试节点的测评结果,解决了目前公有云竞品测试时自动化程度较低的问题,实现了自动化对公有云竞品的测试,提高了测试效率,保证了测试过程中数据的准确性。
56.本技术的实施例提供一种性能测试方法,参照图2所示,方法应用于待测试节点,该方法包括以下步骤:
57.步骤201、接收客户端节点发送的目标测试用例和配置信息,并记录接收到目标测试用例的第一接收时间。
58.在本技术实施例中,待测试节点接收到客户端节点在目标测试用例的目标执行时刻发送的目标测试用例和配置信息,并记录待测试节点自身接收到目标测试用例时的时间,得到第一接收时间。
59.步骤202、基于配置信息中包括的n个待测试节点的节点标识信息,确定其他待测试节点。
60.其中,其他待测试节点为n个待测试节点中除待测试节点外的n-1个节点,n为至大于或等于2的整数。
61.在本技术实施例中,由于客户端节点同时向n个待测试节点发送了目标测试用例,因此,为了保证n个待测试节点能够同时执行目标测试用例的执行时间,所以在待测试节点在记录自身接收到目标测试用例的第一接收时间时,还需统计其他待测试节点接收目标测试用例的接收时间。为了统计其他待测试节点接收目标测试用例的接收时间,待测试节点需根据接收到的配置信息,确定此次参与测试的其他待测试节点,以便与其他待测试节点建立通信连接后,向其他待测试节点发送用于获取接收到目标测试用例的接收时间的请求。
62.步骤203、获取其他待测试节点发送的接收到目标测试用例的第二接收时间。
63.在本技术实施例中,其他待测试节点接收到待测试节点发送的请求后,其他待测试节点各自发送自身接收到目标测试用例的第二接收时间至待测试节点。
64.步骤204、若第一接收时间和第二接收时间在配置信息中设置的容忍时间内,通过已安装的目标测试工具执行目标测试用例,得到目标格式的性能运行信息文件。
65.在本技术实施例中,容忍时间为用户设置的一个时间阈值,由于不同待测试节点接收到目标测试用例的时间不同,导致执行目标测试用例的时间也不同,因此,设置了一个容忍时间,以保证n个待测试节点能够尽量在同一时间范围内执行目标测试用例。待测试节点判断第一接收时间和第二接收时间是否均在配置信息中设置的容忍时间内,若第一接收时间和第二接收时间中有一个接收时间超出配置信息中设置的容忍时间,则待测试节点不执行目标测试用例。需说明的是,此时,对应的实际场景为n个待测试节点均不会执行目标测试用例。只有在第一接收时间和第二接收时间均在配置信息中设置的容忍时间内时,待测试节点才通过已安装的目标测试工具执行目标测试用例,以得到目标格式的性能运行信息文件。
66.步骤205、发送目标格式的性能运行信息文件至客户端节点。
67.其中,目标格式的性能运行信息文件用于使客户端节点对待测试节点的运行性能进行评测,得到测评结果。
68.在本技术实施例中,目标格式的性能运行信息文件可以包括待测试节点正常执行
目标测试用例得到的信息,也可包括待测试节点执行目标测试用例出现的异常运行信息。待测试节点将得到的目标格式的性能运行信息文件发送至客户端节点,以便客户端节点在接收到n个待测试节点发送各自的性能运行信息文件后,对n个待测试节点发送的性能运行信息文件进行统一分析,从而得到每一待测试节点的测评结果。
69.本技术实施例提供的一种性能测试方法,n个待测试节点接收到目标测试用例的接收时间均在容忍时间内时,才通过同一目标测试工具执行目标测试用例,得到同一目标格式的性能运行信息文件并发送至客户端节点,以便客户端节点基于接收到的n个性能运行信息文件进行分析,得到每一待测试节点的测评结果,解决了目前公有云竞品测试时自动化程度较低的问题,实现了自动化对公有云竞品的测试,提高了测试效率,保证了测试过程中数据的准确性。
70.基于前述实施例,本技术实施例提供一种性能测试方法,参照图3所示,该方法包括以下步骤:
71.步骤301、客户端节点获取目标测试用例、目标测试工具、目标执行时刻和配置信息。
72.其中,配置信息至少包括n个待测试节点的节点标识信息,目标测试工具用于运行目标测试用例,n为至大于或等于2的整数。
73.需说明的是,客户端节点执行步骤301后,可以选择执行步骤302~303、306和313~314,对应的待测试节点执行步骤304~305和308~312,或者还可以选择执行步骤307和313~314,对应的待测试节点执行步骤308~312。若检测到n个待测试节点中的至少一个待测试节点未安装目标测试工具,客户端节点选择执行步骤302~303、306和313~314,对应的待测试节点执行步骤304~305和308~312;若检测到n个待测试节点均已安装目标测试工具,且当前时刻为目标测试用例的目标执行时刻,客户端节点选择执行步骤307和313~314,对应的待测试节点执行步骤308~312:
74.步骤302、若检测到与n个待测试节点的节点标识信息对应的n个待测试节点中的至少一个待测试节点未安装目标测试工具,客户端节点获取目标测试工具的工具标识信息。
75.其中,n为至大于或等于2的整数。
76.在本技术实施例中,客户端节点对n个待测试节点分别进行检测,检测n个待测试节点是否均已安装目标测试工具,其中,目标测试工具用于执行目标测试用例。若检测到与n个待测试节点的节点标识信息对应的n个待测试节点中的至少一个待测试节点未安装目标测试工具,客户端节点从配置信息中获取目标测试工具的工具标识信息。
77.每个测试工具包括当前工具版本和当前工具版本之前的1-2个版本,包含自身安装包、安装依赖和自动安装脚本。同一测试工具只用于运行一份相应的测试脚本即目标测试用例。
78.步骤303、客户端节点发送包括工具标识信息的指示安装信息至至少一个待测试节点。
79.其中,指示安装信息用于指示至少一个待测试节点安装工具标识信息对应的目标测试工具,并指示至少一个待测试节点安装目标测试工具后发送已安装信息至客户端节点。
80.在本技术实施例中,至少一个待测试节点为n个待测试节点中包括未安装目标测试工具的待测试节点。
81.步骤304、若待测试节点未安装目标测试工具,待测试节点接收客户端节点发送的包括目标测试工具的工具标识信息的指示安装信息。
82.其中,目标测试工具用于运行目标测试用例。
83.步骤305、待测试节点获取工具标识信息对应的目标测试工具,并安装目标测试工具。
84.步骤306、在当前时刻为目标测试用例的目标执行时刻的情况下,若检测到至少一个待测试节点均已安装目标测试工具,客户端节点发送目标测试用例和配置信息至n个待测试节点。
85.在本技术其他实施例中,由于n个待测是节点中除至少一个待测节点外的其他待测试节点均已安装目标测试工具,因此,在客户端节点检测到至少一个待测试节点均已安装目标测试工具时,可以确定n个待测试节点均已安装目标测试工具,此时,客户端节点即可将目标测试用例和配置信息发送至n个待测试节点。
86.步骤307、若检测到与n个待测试节点的节点标识信息对应的n个待测试节点均已安装目标测试工具,且当前时刻为目标测试用例的目标执行时刻,客户端节点发送目标测试用例和配置信息至n个待测试节点。
87.其中,配置信息包括n个待测试节点的节点标识信息,目标测试工具用于运行目标测试用例,n为至大于或等于2的整数。
88.步骤308、待测试节点接收客户端节点发送的目标测试用例和配置信息,并记录接收到目标测试用例的第一接收时间。
89.步骤309、待测试节点基于配置信息中包括的n个待测试节点的节点标识信息,确定其他待测试节点。
90.其中,其他待测试节点为n个待测试节点中除待测试节点外的n-1个节点,n为至大于或等于2的整数。
91.步骤310、待测试节点获取其他待测试节点发送的接收到目标测试用例的第二接收时间。
92.步骤311、若第一接收时间和第二接收时间在配置信息中设置的容忍时间内,待测试节点通过已安装的目标测试工具执行目标测试用例,得到目标格式的性能运行信息文件。
93.步骤312、待测试节点发送目标格式的性能运行信息文件至客户端节点。
94.其中,目标格式的性能运行信息文件用于使客户端节点对待测试节点的运行性能进行评测,得到测评结果。
95.步骤313、客户端节点接收n个待测试节点分别发送的目标格式的性能运行信息文件,得到n个性能运行信息文件。
96.其中,一个性能运行信息文件是由一个待测试节点通过目标测试工具执行目标测试用例得到的。
97.步骤314、客户端节点基于n个性能运行信息文件,确定n个待测试节点的测评结果。
98.基于前述实施例,在本技术其他实施例中,步骤311可以由步骤311a~311c来实现:
99.步骤311a、若第一接收时间和第二接收时间在配置信息中设置的容忍时间内,待测试节点通过目标测试工具执行目标测试用例,并发送提示信息至客户端节点。
100.其中,提示信息用于指示待测试节点已开始执行目标测试用例。
101.对应的,在本技术实施例中,客户端节点执行步骤313之前,还用于执行步骤315~316:
102.步骤315、若接收到已开始执行目标测试用例的待测试节点发送的提示信息,客户端节点每隔预设时长检测已开始执行目标测试用例的待测试节点是否执行结束目标测试用例。
103.其中,提示信息用于指示第一目标待测试节点已开始执行目标测试用例。
104.在本技术实施例中,客户端节点接收到已开始执行目标测试用例的待测试节点发送的提示信息后,开始对已开始执行目标测试用例的待测试节点进行监控,监控已开始执行目标测试用例的待测试节点是否已执行目标测试用例结束。
105.步骤316、客户端节点发送通知消息至检测到的已执行结束目标测试用例的待测试节点。
106.其中,通知消息用于指示已执行结束目标测试用例的待测试节点将执行目标测试用例的性能测试结果转换为目标格式的性能运行信息文件。
107.在本技术实施例中,客户端节点检测到已执行结束目标测试用例的待测试节点后,发送通知消息至已执行结束目标测试用例的待测试节点,以通知已执行结束目标测试用例的待测试节点将其运行目标测试用例得到的性能测试结果转换为目标格式的性能运行信息文件。
108.步骤311b、若接收到客户端节点发送的通知消息,待测试节点响应通知消息,获取执行目标测试用例得到的性能测试结果。
109.其中,通知消息是客户端节点在检测到待测试节点运行目标测试用例结束后发送的。
110.步骤311c、待测试节点将性能测试结果转换为目标格式的性能运行信息文件,并发送目标格式的性能运行信息文件至客户端节点。
111.基于前述实施例,在本技术其他实施例中,步骤314可以由步骤314a~314d来实现:
112.步骤314a、客户端节点从n个性能运行信息文件中,获取每一性能运行信息文件包括的m个目标性能指标对应的运行指标值,得到m个目标性能指标对应的m组n个运行指标值。
113.其中,m为大于或等于1的整数,配置信息包括m个目标性能指标。
114.在本技术实施例中,示例性的,假设待测试节点有n=3个,分别为待测试节点a、待测试节点b和待测试节点c,对应的客户端节点接收到的待测试节点a发送的性能运行信息文件为a、待测试节点b发送的性能运行信息文件为b和待测试节点c发送的性能运行信息文件为c,对应的此次运行目标测试用例检测的目标性能指标有2个,为指标1和指标2,这样,客户端节点从3个运行信息文件a、b和c中分别取出指标1对应的指标值a11、b11和c11,若指
标1为第一类型的指标,从a11、b11和c11确定值最大的指标值,例如为b11;从3个运行信息文件a、b和c中分别取出指标2对应的指标值a21、b21和c21,若指标2为第二类型的指标,从a21、b21和c21确定值最小的指标值,例如为c21。其中,a11和a21记录与运行信息文件a中,b11和b21记录与运行信息文件b中,c11和c21记录与运行信息文件c中。
115.步骤314b、客户端节点确定对应的目标性能指标对应的预设分值。
116.在本技术实施例中,预设分值可以是一个经验值,例如可以是一个1、10或者100等。
117.步骤314c、客户端节点基于每一组n个运行指标值和预设分值,得到n个待测试节点的每一目标性能指标的分值。
118.在本技术其他实施例中,步骤314c可以由步骤a11~a12或步骤a13~a14来实现:
119.步骤a11、若对应的目标性能指标为第一类型的指标,从每一组n个运行指标值中,确定值最大的运行指标值为对应的目标性能指标的目标指标值。
120.在本技术实施例中,第一类型的指标可以是指指标值越高,表示性能越好的指标。
121.步骤a12、计算每一组n个运行指标值中的每一运行指标值与对应的目标指标值的比值与预设分值的乘积,得到n个待测试节点对应的目标性能指标的分值
122.示例性的,指标1为第一类型的指标,预设分值为100时,待测试节点a的指标1的分值可以记为待测试节点b的指标1的分值可以记为待测试节点c的指标1的分值可以记为
123.步骤a13、若对应的目标性能指标为第二类型的指标,从每一组n个运行指标中,确定值最小的运行指标值为对应的目标性能指标的目标指标值。
124.在本技术实施例中,第二类型的指标可以是指指标值越高,表示性能越低的指标。
125.步骤a14、计算目标指标值与每一组n个运行指标值中的每一运行指标值的比值与预设分值的乘积,得到n个待测试节点对应的目标性能指标的分值。
126.示例性的,指标2为第二类型的指标,预设分值为100时,待测试节点a的指标2的分值可以记为待测试节点b的指标1的分值可以记为待测试节点c的指标1的分值可以记为
127.步骤314d、客户端节点对n个待测试节点的m个目标性能指标的分值进行计算,得到n个待测试节点的测评结果。
128.在本技术实施例中,分别对每一待测试节点的m个目标性能指标的分值进行例如求和或者加权求和等其他计算方法进行计算,从而得到每一待测试节点的测评结果。
129.在本技术其他实施例中,步骤314d可以由步骤b11~b12来实现:
130.步骤b11、客户端节点从配置信息中,获取与m个目标性能指标对应的m个权重系数。
131.在本技术实施例中,每一目标性能指标对应的权重系数为用户通过客户端节点设置配置信息时进行设置得到的。其中,m个权重系数的累加和为1。
132.步骤b12、客户端节点计算每一个测试节点的每一个目标性能指标的分值与对应的权重系数的乘积的累加值,得到n个待测试节点的测评结果。
133.基于前述实施例,本技术实施例提供一种应用场景,如图4所示,包括用户中心e、任务中心f、执行代理g和监控中心h,其中,执行代理g包括执行代理1、执行代理2和执行代理3。需说明的是用户中心e、任务中心f和监控中心h运行于客户端节点中,执行代理中心g中的每一执行代理表示每一待测试节点。需说明的是,执行代理g包括的每一执行代理用于运行上述一个待测试节点。
134.在用户中心e,测试人员可以上传测试用例或者测试执行命令,也就是工具运行命令,即确定目标测试用例的过程;并选择工具集市中纳管的目标测试工具,配置对标厂商信息(订购的资源池节点信息,登录用户名、密码等),即上述对应的n个待测试节点的标识信息。在用户中心e,测试人员需设置各个用户执行开始时间即上述的目标测试用例的目标执行时间及容忍时间,容忍时间用于表示在一个较短时间范围内均算同时执行。其中,测试人员可以在“用户中心”一次性配置多个测试用例,批量提交至任务中心f。这样,即可得到目标测试用例和配置信息,其中,配置信息至少包括目标测试工具、n个待测试节点的标识信息、目标测试用例的目标执行时间及容忍时间。
135.用户中心e将目标测试用例和配置信息提交至任务中心f后,任务中心可以预先向各被测厂商运行的执行代理g发送目标测试工具安装情况扫描结果,其中,每个目标测试工具均内置一个版本验证工具,如果能正常执行,则表示安装成功,否则未安装或安装失败。如果执行代理已安装目标测试工具,则返回“已安装”信息,否则发送目标测试工具的标识信息至执行代理g,以使执行代理g根据工具集市中纳管的工具安装包、安装脚本等,自动执行工具安装,并向任务中心f反馈目标测试工具的安装情况。只有每一执行代理中均已安装好目标测试工具的情况下,才能触发测试用例的执行,如果到达目标测试用例的目标执行时间,目标测试工具仍未安装好,则所有执行代理均不会触发目标测试用例的执行。需说明的是,在一些应用场景中,已安装目标测试工具的执行代理会被打标签,目标测试工具的安装只会被触发一次,后续具体执行多个用例时,不再触发目标测试工具的安装。
136.当某个目标测试用例到达目标执行时间时,任务中心会将该目标测试用例下发至各个执行代理。因为目标测试用例的下发为目标测试用例的测试脚本的发送,而测试脚本到达各个执行代理的时间可能不一致,也可能出现测试脚本下发失败的情况,导致达不到同时,或者相对同时,即较短的时间误差范围内运行的目的。因此,在本技术实施例中,增加了各执行代理之间的消息通信,具体可以采用restful接口的形式,定时获取其他执行代理接收到测试脚本的时间,若其他执行代理接收到测试脚本的时间和本执行代理接收到测试脚本的时间(包含接口请求与响应时间),在容忍时间内,则各执行代理可以立即执行目标测试用例,并向监控中心h发送监控指令。在一些应用场景中,在各执行代理执行目标测试用例时,各执行代理可以采用nohup命令,在后台执行目标测试用例,记录执行的目标测试用例的进程号,同时向监控中心h发送监控指令。需说明的是,在各执行代理之间的通信接口在图4中并未示出。
137.监控中心h主要负责各个执行代理执行目标测试用例的监控,根据具体执行目标测试用例的进程号,定时向各个执行代理发送判断进程存活与否的命令,命令如下:ps-ef|grep进程号|grep-v grep|awk'{print$2}'。通常情况下,如果目标测试用例的进程号存
在,则说明目标测试用例的执行任务还未执行结束,否则目标测试用例的任务执行结束。
138.当监控中心h监控到某个执行代理执行目标测试用例的任务执行结束后,会向该执行代理发送消息,通知该执行代理对执行目标测试用例的性能测试结果进行格式转换,转换为目标格式的性能运行信息文件。
139.执行代理在收到监控中心发送的目标测试用例已执行结束的通知后,对执行目标测试用例的性能测试结果进行格式转换,转换得到目标格式的性能运行信息文件。如果预定的路径下获取不到性能执行结果或者性能执行结果与预设定的结果格式不一致或有异常标记符出现,则认定该被测厂商节点的该用例执行失败,否则执行性能测试结果的格式转换。
140.在各执行代理对性能测试结果进行格式转换时,可以采用数据解析引擎来实现。具体为:根据工具集市中,对工具结果标签的定义,如:行分隔符、列分割符、模式(单行多列、多行单列、多行多列等)等,将性能测试结果转换成目标格式例如xml数据格式进行存储,以便图形渲染、积分计算时能够较快生成结果,减少解析时间,提高用户体验。其中,转换前的性能测试结果可以如图5所示,包括格式一d1、格式二d2和格式三d3;转换后的目标格式的性能运行信息文件可以如图6所示。
141.各执行代理将转换后的目标格式的性能运行信息文件发送至任务中心。任务中心收到执行该目标测试用例的全部执行代理发送的目标格式的性能运行信息文件后,统一执行积分对比分析,积分计算方式可以参照如下方式实现:
142.针对性能指标值越高,性能越高的指标,从全部执行代理发送的目标格式的性能运行信息文件中,确定该指标的最高指标值,对应的该最高指标值对应的厂商的积分为100分,其余厂商积分=该厂商指标值/最高指标值*100分。
143.针对性能指标值越高,性能越低的指标项,如cpu消耗越高,分数应该越低,则采用反向计算,即从全部执行代理发送的目标格式的性能运行信息文件中,确定该指标的最低指标值,对应的该最低指标值对应的厂商为100分,其余厂商得分=该最低指标值/该厂商指标值*100分。
144.示例性的,针对某一执行代理执行目标测试节点时,检测的目标性能指标可以如表1中的性能指标项所示,对应的表1中还包括各目标性能指标对应的计算得到的积分以及预先设置的各目标性能指标对应的权重系数。这样,基于表1中的各目标性能指标对应的积分及对应的权重系数,可以采用公式计算得到该执行代理的测评结果。
145.性能指标项i/o消耗读吞吐量

写吞吐量cpu消耗积分x1x2…
x
k-1
xk权重系数f1f2…fk-1fk
146.表1
147.其中,在表1中,
148.需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
149.本技术实施例提供的一种性能测试方法,解决了目前公有云竞品测试时自动化程度较低的问题,实现了自动化对公有云竞品的测试,提高了测试效率,保证了测试过程中数
据的准确性。进一步的,客户端节点接收到的是同一目标格式的性能运行信息文件,有效屏蔽了不同待测试节点运行得到的性能测试结果,并且采用具有通用性的公有云竞品性能对标积分计算公式进行计算,能够多维度衡量各公有云厂商产品的整体性能情况。
150.基于前述实施例,本技术的实施例提供一种客户端设备,该设备用于运行客户端节点,该设备可以应用于图1和3以及前述实施例提供的性能测试方法中,参照图7所示,该客户端设备4可以包括:第一存储器41、第一处理器42和第一通信总线43,其中:
151.第一存储器41,用于存储可执行指令;
152.第一通信总线43,用于实现第一处理器42和第一存储器41之间的通信连接;
153.第一处理器42,用于执行第一存储器41中存储的性能测试程序,以实现以下步骤:
154.获取目标测试用例、目标测试工具、目标执行时刻和配置信息;其中,配置信息至少包括n个待测试节点的节点标识信息,目标测试工具用于运行目标测试用例,n为至大于或等于2的整数;
155.若检测到与n个待测试节点的节点标识信息对应的n个待测试节点均已安装目标测试工具,且当前时刻为目标测试用例的目标执行时刻,发送目标测试用例和配置信息至n个待测试节点;其中,配置信息包括n个待测试节点的节点标识信息,目标测试工具用于运行目标测试用例,n为至大于或等于2的整数;
156.接收n个待测试节点分别发送的目标格式的性能运行信息文件,得到n个性能运行信息文件;其中,一个性能运行信息文件是由一个待测试节点执行目标测试用例得到的;
157.基于n个性能运行信息文件,确定n个待测试节点的测评结果。
158.在本技术其他实施例中,第一处理器还用于执行以下步骤:
159.若检测到与n个待测试节点的节点标识信息对应的n个待测试节点中的至少一个待测试节点未安装目标测试工具,获取目标测试工具的工具标识信息;
160.发送包括工具标识信息的指示安装信息至至少一个待测试节点;其中,指示安装信息用于指示至少一个待测试节点安装工具标识信息对应的目标测试工具,并指示至少一个待测试节点安装目标测试工具后发送已安装信息至客户端节点。
161.在本技术其他实施例中,第一处理器执行步骤发送包括工具标识信息的指示安装信息至至少一个待测试节点之后,还用于执行以下步骤:
162.在当前时刻为目标测试用例的目标执行时刻的情况下,若检测到至少一个待测试节点均已安装目标测试工具,发送目标测试用例和配置信息至n个待测试节点。
163.在本技术其他实施例中,第一处理器执行步骤接收n个待测试节点分别发送的目标格式的性能运行信息文件,得到n个性能运行信息文件之前,还用于执行以下步骤:
164.若接收到已开始执行目标测试用例的待测试节点发送的提示信息,每隔预设时长检测已开始执行目标测试用例的待测试节点是否执行结束目标测试用例;其中,提示信息用于指示第一目标待测试节点已开始执行目标测试用例;
165.发送通知消息至检测到的已执行结束目标测试用例的待测试节点;其中,通知消息用于指示已执行结束目标测试用例的待测试节点将执行目标测试用例的性能测试结果转换为目标格式的性能运行信息文件。
166.在本技术其他实施例中,第一处理器执行步骤基于n个性能运行信息文件,确定n个待测试节点的测评结果时,具体可以通过以下步骤来实现:
167.从n个性能运行信息文件中,获取每一性能运行信息文件包括的m个目标性能指标对应的运行指标值,得到m个目标性能指标对应的m组n个运行指标值;其中,m为大于或等于1的整数,配置信息包括m个目标性能指标;
168.确定对应的目标性能指标对应的预设分值;
169.基于每一组n个运行指标值和预设分值,得到n个待测试节点的每一目标性能指标的分值;
170.对n个待测试节点的m个目标性能指标的分值进行计算,得到n个待测试节点的测评结果。
171.在本技术其他实施例中,第一处理器执行步骤述基于每一组n个运行指标值和预设分值,得到n个待测试节点的每一目标性能指标的分值时,具体可以通过以下步骤来实现:
172.若对应的目标性能指标为第一类型的指标,从每一组n个运行指标值中,确定值最大的运行指标值为对应的目标性能指标的目标指标值;
173.计算每一组n个运行指标值中的每一运行指标值与对应的目标指标值的比值与预设分值的乘积,得到n个待测试节点对应的目标性能指标的分值;
174.若对应的目标性能指标为第二类型的指标,从每一组n个运行指标中,确定值最小的运行指标值为对应的目标性能指标的目标指标值;
175.计算目标指标值与每一组n个运行指标值中的每一运行指标值的比值与预设分值的乘积,得到n个待测试节点对应的目标性能指标的分值。
176.在本技术其他实施例中,第一处理器执行步骤对n个待测试节点的m个目标性能指标的分值进行计算,得到n个待测试节点的测评结果时,具体可以通过以下步骤来实现:
177.从配置信息中,获取与m个目标性能指标对应的m个权重系数;
178.计算每一个测试节点的每一个目标性能指标的分值与对应的权重系数的乘积的累加值,得到n个待测试节点的测评结果。
179.需要说明的是,本实施例中客户端设备所执行的步骤的具体实现过程,可以参照图1和3对应的实施例提供的性能测试方法中的实现过程,此处不再赘述。
180.本技术实施例提供的一种客户端设备,通过客户端节点根据配置信息,检测到n个待测试节点均已安装目标测试工具,且当前时刻为目标测试用例的目标执行时刻时,自动将目标测试用例发送至n个待测试节点,并对n个待测试节点均采用统一目标测试工具执行统一目标测试用例后反馈的同一目标格式的性能运行信息文件进行分析,得到每一待测试节点的测评结果,解决了目前公有云竞品测试时自动化程度较低的问题,实现了自动化对公有云竞品的测试,提高了测试效率,保证了测试过程中数据的准确性。
181.基于前述实施例,本技术的实施例提供一种服务器,该服务器用于运行待测试节点,该服务器可以应用于图2~3以及前述实施例提供的性能测试方法中,参照图8所示,该服务器5可以包括:第二存储器51、第二处理器52和第二通信总线53,其中:
182.第二存储器51,用于存储可执行指令;
183.第二通信总线53,用于实现第二处理器52和第二存储器51之间的通信连接;
184.第二处理器52,用于执行第二存储器51中存储的性能测试程序,以实现以下步骤:
185.接收客户端节点发送的目标测试用例和配置信息,并记录接收到目标测试用例的
第一接收时间;
186.基于配置信息中包括的n个待测试节点的节点标识信息,确定其他待测试节点;其中,其他待测试节点为n个待测试节点中除待测试节点外的n-1个节点,n为至大于或等于2的整数;
187.获取其他待测试节点发送的接收到目标测试用例的第二接收时间;
188.若第一接收时间和第二接收时间在配置信息中设置的容忍时间内,通过已安装的目标测试工具执行目标测试用例,得到目标格式的性能运行信息文件;
189.发送目标格式的性能运行信息文件至客户端节点;其中,目标格式的性能运行信息文件用于使客户端节点对待测试节点的运行性能进行评测,得到测评结果。
190.在本技术其他实施例中,第二处理器执行步骤接收客户端节点发送的目标测试用例和配置信息,并记录接收到目标测试用例的第一接收时间之前,还用于执行以下步骤:
191.若待测试节点未安装目标测试工具,接收客户端节点发送的包括目标测试工具的工具标识信息的指示安装信息;其中,目标测试工具用于运行目标测试用例;
192.获取工具标识信息对应的目标测试工具,并安装目标测试工具。
193.在本技术其他实施例中,第二处理器执行步骤若第一接收时间和第二接收时间在配置信息中设置的容忍时间内,通过已安装的目标测试工具执行目标测试用例,得到目标格式的性能运行信息文件时,具体可以通过以下步骤来实现:
194.若第一接收时间和第二接收时间在配置信息中设置的容忍时间内,通过目标测试工具执行目标测试用例,并发送提示信息至客户端节点;其中,提示信息用于指示待测试节点已开始执行目标测试用例;
195.若接收到客户端节点发送的通知消息,响应通知消息,获取执行目标测试用例得到的性能测试结果;其中,通知消息是客户端节点在检测到待测试节点运行目标测试用例结束后发送的;
196.将性能测试结果转换为目标格式的性能运行信息文件,并发送目标格式的性能运行信息文件至客户端节点。
197.需要说明的是,本实施例中服务器所执行的步骤的具体实现过程,可以参照图2~3对应的实施例提供的性能测试方法中的实现过程,此处不再赘述。
198.本技术实施例提供的一种服务器,通过n个待测试节点接收到目标测试用例的接收时间均在容忍时间内时,才通过同一目标测试工具执行目标测试用例,得到同一目标格式的性能运行信息文件并发送至客户端节点,以便客户端节点基于接收到的n个性能运行信息文件进行分析,得到每一待测试节点的测评结果,解决了目前公有云竞品测试时自动化程度较低的问题,实现了自动化对公有云竞品的测试,提高了测试效率,保证了测试过程中数据的准确性。
199.基于前述实施例,本技术的实施例提供一种性能测试系统,该系统可以应用于图1~3对应的实施例提供的性能测试方法中,参照图9所示,该性能测试系统6可以包括:客户端节点61和n个待测试节点62,其中:
200.客户端节点,用于获取目标测试用例、目标测试工具、目标执行时刻和配置信息;若检测到与n个待测试节点的节点标识信息对应的n个待测试节点均已安装目标测试工具,且当前时刻为目标测试用例的目标执行时刻,发送目标测试用例和配置信息至n个待测试
节点;其中,配置信息包括n个待测试节点的节点标识信息,目标测试工具用于运行目标测试用例,n为至大于或等于2的整数;
201.n个待测试节点,用于接收客户端节点发送的目标测试用例和配置信息,并记录接收到目标测试用例的第一接收时间;基于配置信息中包括的n个待测试节点的节点标识信息,确定其他待测试节点;其中,其他待测试节点为n个待测试节点中除待测试节点外的n-1个节点,n为至大于或等于2的整数;获取其他待测试节点发送的接收到目标测试用例的第二接收时间;若第一接收时间和第二接收时间在配置信息中设置的容忍时间内,通过已安装的目标测试工具执行目标测试用例,得到目标格式的性能运行信息文件;发送目标格式的性能运行信息文件至客户端节点;其中,目标格式的性能运行信息文件用于使客户端节点对待测试节点的运行性能进行评测,得到测评结果;
202.客户端节点,还用于接收n个待测试节点分别发送的目标格式的性能运行信息文件,得到n个性能运行信息文件;其中,一个性能运行信息文件是由一个待测试节点通过目标测试工具执行目标测试用例得到的;基于n个性能运行信息文件,确定n个待测试节点的测评结果。
203.在本技术其他实施例中,客户端节点和n个待测试节点构成的性能测试系统所执行的步骤的具体实现过程,可以参照图1~3对应的实施例提供的性能测试方法中的实现过程,此处不再赘述。
204.基于前述实施例,本技术的实施例提供一种计算机可读存储介质,简称为存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现参照图1和3或者图2~3对应的实施例提供的性能测试方法中的实现过程,此处不再赘述。
205.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
206.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
207.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
208.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
209.以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1