CN113342638A - 分布式测试系统及方法 - Google Patents
分布式测试系统及方法 Download PDFInfo
- Publication number
- CN113342638A CN113342638A CN202110508953.9A CN202110508953A CN113342638A CN 113342638 A CN113342638 A CN 113342638A CN 202110508953 A CN202110508953 A CN 202110508953A CN 113342638 A CN113342638 A CN 113342638A
- Authority
- CN
- China
- Prior art keywords
- test
- target
- tested
- execution unit
- management client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 688
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013515 script Methods 0.000 claims abstract description 80
- 238000010998 test method Methods 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims description 58
- 238000012545 processing Methods 0.000 abstract description 6
- 238000013112 stability test Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本发明实施例提供了一种分布式测试系统及方法,涉及测试技术领域。分布式测试系统,包括:管理客户端与多个测试执行单元,管理客户端用于根据接收到的测试脚本,分别向各测试执行单元发送对应的测试命令;测试执行单元用于执行接收到的测试命令,对目标被测对象进行测试,目标被测对象为与测试执行单元对应的被测对象;测试执行单元还用于根据在测试过程中获取的目标被测对象的系统状态,得到目标被测对象的测试结果,并将测试结果发送到管理客户端。本发明由一个管理客户端控制多个被测对象的测试系统,能够对多个被测对象批量进行自动化测试的测试系统,提高了测试系统的稳定性以及测试数据的处理速度和能力,减少了测试部署成本与人力消耗。
Description
技术领域
本发明涉及测试技术领域,具体涉及一种分布式测试系统及方法。
背景技术
显卡是计算机基础的组成部分之一,用于将计算机系统需要的显示信息进行转换驱动显示器,并向显示器提供逐行或隔行扫描信号,控制显示器的正确显示,是连接显示器和计算机主板的重要组件。
显卡的稳定性对计算机的稳定起着至关重要的作用,对显卡稳定有影响的因素有很多,例如高低温、高低电压,不同工作状态等等。在研发阶段,显卡为了适应不同的状况也提供了多种可调整的参数以满足不同的需求需求,研发人员需要通过大规模长期的测试遴选最优参数,使得显卡在工作时具有较优的性能,同时保证显卡稳定性。
为了保证显卡的稳定性,显卡在出厂时均会进行稳定性测试。然而,目前的显卡测试流程中存在重复劳动、自动化程度较低等弊端,例如需要测试人员对测试结果进行手动录入,或者手动控制测试参数进行重复测试;即便有些检测设备加入了一定的自动化功能,但是也只能针对固化了的自动化测试流程,当测试流程发生变化便不能不能适用。并且,现有的测试装置基本都无法做到根据测试结果反馈到测试参数和流程上,形成测试闭环还需要大量人工参与和判断。
发明内容
本发明的目的是提供了一种分布式测试系统及方法,利用分布式控制方式,由一个管理客户端控制多个被测对象的测试系统,能够对多个被测对象批量进行自动化测试的测试系统,提高了测试系统的稳定性以及测试数据的处理速度和能力,减少了测试部署成本与人力消耗;并且,基于脚本技术对多个被测对象进行测试,从而可以通过编辑测试脚本来调整测试流程,便于测试人员实时修改测试项目和流程,大大降低了测试系统二次开发的复杂度,能够适用于不同的测试环境与测试需求。
为实现上述目的,本发明提供了一种分布式测试系统,包括:管理客户端与多个测试执行单元,各所述测试执行单元分别连接于所述管理客户端,所述多个测试执行单元与多个被测对象一一对应且连接;所述管理客户端用于根据接收到的测试脚本,分别向各所述测试执行单元发送对应的测试命令;所述测试执行单元用于执行接收到的所述测试命令,对目标被测对象进行测试,所述目标被测对象为与所述测试执行单元对应的所述被测对象;所述测试执行单元还用于根据在测试过程中获取的所述目标被测对象的系统状态,得到所述目标被测对象的测试结果,并将所述测试结果发送到所述管理客户端。
本发明还提供了一种分布式测试方法,应用于分布式测试系统中的管理客户端,所述分布式测试系统还包括分别连接于所述管理客户端的多个测试执行单元,所述方法包括:根据接收到的测试脚本,分别向各所述测试执行单元发送对应的测试命令,以供所述测试执行单元执行接收到的所述测试命令,对目标被测对象进行测试,所述目标被测对象为与所述测试执行单元对应的所述被测对象;接收各所述测试执行单元发送的根据在测试过程中获取的所述目标被测对象的系统状态,得到所述目标被测对象的测试结果。
本发明还提供了一种分布式测试方法,应用于分布式测试系统中的测试执行单元,所述分布式测试系统包括管理客户端以及分别连接于所述管理客户端的多个所述测试执行单元,所述方法包括:接收所述管理客户端发送的测试命令;执行接收到的所述测试命令,对目标被测对象进行测试,所述目标被测对象为与所述测试执行单元对应的所述被测对象;根据在测试过程中获取的所述目标被测对象的系统状态,得到所述目标被测对象的测试结果,并将所述测试结果发送到所述管理客户端。
本发明实施例中,分布式测试系统包括管理客户端以及分别连接于该管理客户端的与多个测试执行单元,多个测试执行单元与多个被测对象一一对应且连接,在对各被测对象进行测试时,管理客户端能够根据接收到的测试脚本,分别向各所述测试执行单元发送对应的测试命令,各测试执行单元在接收到测试命令后,执行测试命令对对应的被测对象进行测试,并在测试过程中获取对应的被测对象的系统状态,得到对应被测对象的测试结果,并将该测试结果发送到所述管理客户端;本发明的提供了一种利用分布式控制方式,由一个管理客户端控制多个被测对象的测试系统,能够对多个被测对象批量进行自动化测试的测试系统,提高了测试系统的稳定性以及测试数据的处理速度和能力,减少了测试部署成本与人力消耗;并且,基于脚本技术对多个被测对象进行测试,从而可以通过编辑测试脚本来调整测试流程,便于测试人员实时修改测试项目和流程,大大降低了测试系统二次开发的复杂度,能够适用于不同的测试环境与测试需求。
在一个实施例中,所述测试脚本的数量为多个;所述多个测试脚本与所述多个测试执行单元一一对应;所述管理客户端用于分别从各所述测试脚本中解析出对应的各测试命令,并将各所述测试脚本对应的测试命令发送到目标测试执行单元,所述目标测试执行单元为与所述测试脚本对应的所述测试执行单元。
在一个实施例中,所述管理客户端还用于接收所述测试脚本对应的多个配置文件;所述管理客户端用于在向各所述测试执行单元发送对应的测试命令时,发送目标配置文件至各所述测试执行单元,所述目标配置文件为未经过测试的所述配置文件;所述测试执行单元用于执行接收到的所述测试命令,控制所述目标测试对象加载所述目标配置文件,并对所述目标被测对象进行测试;所述测试执行单元用于根据在测试过程中获取的所述目标被测对象的系统状态,得到所述目标被测对象在所述目标配置文件下的测试结果,并将所述测试结果发送到所述管理客户端。
在一个实施例中,所述管理客户端还用于接收到所述测试执行单元发送的所述被测对象在所述配置文件下的测试结果后,判断是否存在所述目标配置文件;所述管理客户端还用于在判定存在所述目标配置文件时,向各所述测试执行单元发送对应的测试命令以及所述目标配置文件。
在一个实施例中,所述测试执行单元用于执行接收到的所述测试命令,控制所述目标测试对象加载所述目标配置文件后,判断所述目标被测对象是否正常开机;所述测试执行单元用于在所述目标被测对象正常开机时,对所述目标被测对象进行测试;所述测试执行单元用于在所述目标被测对象未正常开机时,向所述管理客户端发送表征所述目标被测对象加载所述目标配置文件失败的通知信息。
在一个实施例中,所述管理客户端包括第一通信模块、协同控制模块,以及分别连接于所述协同控制模块的解析模块、命令下发模块以及信息收集模块;所述第一通信模块分别连接到所述命令下发模块、所述信息收集模块以及各所述测试执行单元;所述协同控制模块用于通过所述解析模块对接收到的测试脚本进行解析,得到所述测试脚本中的测试命令,并将所述测试命令发送到所述命令下发模块;所述命令下发模块用于通过所述第一通信模块分别向各所述测试执行单元发送对应的测试命令;所述信息收集模块用于通过所述第一通信模块接收各所述测试执行单元发送的所述测试结果,并将所述测试结果发送到所述协同控制模块。
在一个实施例中,所述测试执行单元包括:第二通信模块、中央控制模块,以及分别连接于所述中央控制模块的命令解析模块、信息上报模块、通信接口模块;所述通信接口模块连接于所述目标被测对象,所述第二通信模块分别连接于所述命令解析模块、信息上报模块以及所述管理客户端;所述命令解析模块用于通过所述第二通信模块接收所述管理客户端发送的所述测试命令,并对所述测试命令进行解析;所述中央控制模块用于执行解析后的所述测试命令,通过所述通信接口模块对所述目标被测对象进行测试;所述中央控制模块还用于在测试过程中通过所述通信接口模块获取所述目标被测对象的系统状态,并根据所述目标被测对象的系统状态,得到所述目标被测对象的测试结果;所述信息上报模块用于接收所述中央控制模块发送的所述测试结果,并通过所述第二通信模块将所述测试结果发送到所述管理客户端。
在一个实施例中,所述被测对象为显卡。
附图说明
图1是根据本发明第一实施例的分布式测试系统的方框示意图;
图2是根据本发明第二实施例的分布式测试系统中的管理客户端的方框示意图;
图3是根据本发明第二实施例的分布式测试系统中的测试执行单元的方框示意图;
图4是根据本发明第四实施例的分布式测试方法的流程图;
图5是根据本发明第五实施例的分布式测试方法的流程图;
图6是根据本发明第六实施例的分布式测试方法的流程图。
具体实施方式
以下将结合附图对本发明的各实施例进行详细说明,以便更清楚理解本发明的目的、特点和优点。应理解的是,附图所示的实施例并不是对本发明范围的限制,而只是为了说明本发明技术方案的实质精神。
在下文的描述中,出于说明各种公开的实施例的目的阐述了某些具体细节以提供对各种公开实施例的透彻理解。但是,相关领域技术人员将认识到可在无这些具体细节中的一个或多个细节的情况来实践实施例。在其它情形下,与本申请相关联的熟知的装置、结构和技术可能并未详细地示出或描述从而避免不必要地混淆实施例的描述。
除非语境有其它需要,在整个说明书和权利要求中,词语“包括”和其变型,诸如“包含”和“具有”应被理解为开放的、包含的含义,即应解释为“包括,但不限于”。
在整个说明书中对“一个实施例”或“一实施例”的提及表示结合实施例所描述的特定特点、结构或特征包括于至少一个实施例中。因此,在整个说明书的各个位置“在一个实施例中”或“在一实施例”中的出现无需全都指相同实施例。另外,特定特点、结构或特征可在一个或多个实施例中以任何方式组合。
如该说明书和所附权利要求中所用的单数形式“一”和“”包括复数指代物,除非文中清楚地另外规定。应当指出的是术语“或”通常以其包括“或/和”的含义使用,除非文中清楚地另外规定。
在以下描述中,为了清楚展示本发明的结构及工作方式,将借助诸多方向性词语进行描述,但是应当将“前”、“后”、“左”、“右”、“外”、“内”、“向外”、“向内”、“上”、“下”等词语理解为方便用语,而不应当理解为限定性词语。
本发明第一实施方式涉及一种分布式测试系统,用于对被测对象进行各项测试,被测对象例如为显卡,该显卡安装在被测终端(例如为电脑主机)上。请参考图1,分布式测试系统包括:管理客户端1与多个测试执行单元2,各测试执行单元2分别连接于管理客户端3,连接方式可以为无线连接,从而降低了分布式测试系统的架设难度。
管理客户端1可以为平板电脑、台式主机等电子设备,电子设备中运行有实现管理客户端1的功能的应用程序,管理客户端1具有无线通信功能,可以与各测试执行单元2无线通信连接。
各测试执行单元2可以为具有控制器的单片机,测试执行单元2同样具有无线通信功能,从而可以与管理客户端1无线通信连接,管理客户端1与测试执行单元2的无线通信方式匹配,无线连接方式例如为蓝牙、WIFI、ZigBee等。其中,控制器例如为嵌入式SOC、FPGA、PC等,以SOC为例,该SOC原生支持蓝牙协议,从而可以与具有蓝牙通信功能的管理客户端1无线通信。
多个测试执行单元2与多个被测对象3一一对应且连接,即每个测试执行单元2连接到对应的被测对象3所在的被测终端,连接方式可以为测试执行单元2与被测对象3通过匹配的通信接口相互连接,通信接口包括但不限于串行接口、IO接口以及SPI接口等,测试执行单元2的串行接口连接到被测对象3所在被测终端的串行接口,测试执行单元2的IO接口连接到被测对象3所在被测终端的电源按键、重启按键等,测试执行单元2的SPI接口连接到被测对象3的BISO接口。
管理客户端1用于根据接收到的测试脚本,分别向各测试执行单元2发送对应的测试命令。具体的,管理客户端1可以读取输入的测试脚本,通过预定的语法对测试脚本进行解析,得到测试脚本中所包含的测试命令,并将测试命令发送到测试执行单元2,即管理客户端1通过解析测试脚本,对各测试执行单元进行调度管理。
其中,测试脚本的数量可以根据测试项目的需求来设定,对于待测试的多个被测对象3来说,若需要对这多个被测对象3进行同一项测试,则可以设置一个测试脚本同时对应于多个被测对象3,则管理客户端1将从测试脚本中解析出的一个测试命令,分别发送到各测试执行单元2,以对这多个被测对象3进行同一项测试;若需要针对这多个被测对象3分别进行不同的测试,则可以获取多个测试脚本,多个测试脚本与多个测试执行单元2一一对应,管理客户端1分别从这多个测试脚本中解析出多个测试命令,每个测试脚本中解析出的测试命令用于对于该测试脚本对应测试执行单元2所连接的被测对象3进行测试,此时,管理客户端1将各测试脚本对应的测试命令发送到目标测试执行单元,目标测试执行单元为与测试脚本对应的测试执行单元2,从而各测试执行单元2能够对对应的被测对象3进行测试。需要说明的是,本实施例还可以将多个被测对象3划分为多个测试组,各测试组分别进行不同测试项目的测试,即管理客户端1接收到多个测试脚本,多个测试脚本与多个测试组一一对应,从而管理客户端1能够控制分别对各测试组进行对应的测试项目的测试。
测试执行单元2用于执行接收到的测试命令,对目标被测对象进行测试,目标被测对象为与测试执行单元2对应的被测对象3。
测试执行单元2还用于根据在测试过程中获取的目标被测对象的系统状态,得到目标被测对象的测试结果,并将测试结果发送到管理客户端1。
具体的,对于每个测试执行单元2来说,该测试执行单元2在接收到管理客户端1发送的测试命令后,测试执行单元2执行该测试命令,对连接的被测对象3进行测试,并在测试过程中测试执行单元2可以查询被测对象3的系统状态,若被测对象3在预设时间内均保持正常工作,则说明该被测对象3的测试结果为测试成功,然后向管理客户端1返回表征测试成功的测试结果;若被测对象3在预设时间内出现异常工作状态,则说明该被测对象3的测试结果为测试失败,然后向管理客户端1返回表征测试失败的测试结果。
本实施例中,分布式测试系统包括管理客户端以及分别连接于该管理客户端的与多个测试执行单元,多个测试执行单元与多个被测对象一一对应且连接,在对各被测对象进行测试时,管理客户端能够根据接收到的测试脚本,分别向各测试执行单元发送对应的测试命令,各测试执行单元在接收到测试命令后,执行测试命令对对应的被测对象进行测试,并在测试过程中获取对应的被测对象的系统状态,得到对应被测对象的测试结果,并将该测试结果发送到管理客户端;本发明的提供了一种利用分布式控制方式,由一个管理客户端控制多个被测对象的测试系统,能够对多个被测对象批量进行自动化测试的测试系统,提高了测试系统的稳定性以及测试数据的处理速度和能力,减少了测试部署成本与人力消耗;并且,基于脚本技术对多个被测对象进行测试,从而可以通过编辑测试脚本来调整测试流程,便于测试人员实时修改测试项目和流程,大大降低了测试系统二次开发的复杂度,能够适用于不同的测试环境与测试需求。
本发明的第二实施例涉及一种分布式测试系统,第二实施例相对于第一实施例来说:在对被测对象进行测试时,能够采用多种配置文件对被测对象进行多次测试,分布式测试系统的结构如图1所示。
管理客户端1还用于接收测试脚本对应的多个配置文件;其中,配置文件可以为被测对象3的系统文件,以被测对象3为显卡为例,则配置文件可以为显卡的BIOS文件,用于设置显卡的核心电压与核心频率。需要说明的是,本实施例以测试脚本的数量为1个为例进行说明,然不限于此,也可以设置测试脚本的数量为多个,各测试脚本对应的配置文件可以不同或相同。
管理客户端1用于在向各测试执行单元2发送对应的测试命令时,发送目标配置文件至各测试执行单元2,目标配置文件为未经过测试的配置文件。具体的,管理客户端1在向各测试执行单元2发送对应的测试命令时,会同时向各测试执行单元2发送当前未经过测试的配置文件(即目标配置文件)。
测试执行单元2用于执行接收到的测试命令,控制目标测试对象加载目标配置文件,并对目标被测对象进行测试。
测试执行单元2用于根据在测试过程中获取的目标被测对象的系统状态,得到目标被测对象在目标配置文件下的测试结果,并将测试结果发送到管理客户端1。
在一个例子中,测试执行单元2用于执行接收到的测试命令,控制目标测试对象加载目标配置文件后,判断目标被测对象是否正常开机。
测试执行单元2用于在被测对象3正常开机时,对目标被测对象进行测试。
测试执行单元2用于在被测对象3未正常开机时,向管理客户端1发送表征目标被测对象加载目标配置文件失败的通知信息。
具体的,对于每个测试执行单元2来说,该测试执行单元2在接收到管理客户端1发送的测试命令与目标配置文件后,控制对应的被测对象3(即目标被测对象)刷入该目标配置文件,并判断目标被测对象在刷入目标配置文件后是否能够正常开机,若目标被测对象能够正常开机,则对目标被测对象进行测试,并在测试过程中,获取目标被测对象的系统状态,并根据获取的目标被测对象的系统状态得到目标被测对象的测试结果,然后将该测试结果发送给管理客户端1;若目标被测对象未能够正常开机,则向管理客户端1发送一个通知信息,该通知信息表征目标被测对象加载目标配置文件失败。
在一个例子中,管理客户端1还用于接收到测试执行单元2发送的被测对象3在配置文件下的测试结果后,判断是否存在目标配置文件,并在判定存在目标配置文件时,向各测试执行单元2发送对应的测试命令以及目标配置文件。
具体的,管理客户端1在接收到测试执行单元2发送的被测对象3在加载配置文件后的测试结果时,可以建立配置文件与测试结果的对应关系表并将测试结果进行存储,然后判断当前是否还存在未经过测试的配置文件,具体判断的方式可以为管理客户端1通过上述的配置文件与测试结果的对应关系表查询是否存在配置文件不存在对应的测试结果,若当前还存在未经过测试的配置文件,将该配置文件作为目标配置文件,并向各测试执行单元2发送对应的测试命令以及该目标配置文件,以对各被测对象3继续进行测试,直至完成了所有的配置文件的测试;若当前不存在未经过测试的配置文件,管理客户端1则直接控制停止测试。
下面结合具体的测试脚本对本实施例中的分布式测试系统进行详细说明,其中,管理客户端1与各测试执行单元2通过蓝牙连接,被测对象3为显卡,测试脚本用于对各显卡进行10小时的稳定性测试,配置文件用于设置显卡的核心电压与核心频率,配置文件的数量两个,分别为:BIOSA(核心电压0.8V,500MHz)、BIOSB(核心电压0.78V,450MHz),测试执行单元2与对应的显卡所在的终端一一对应且连接,连接的通信接口包括串行接口、IO接口以及SPI接口。
管理客户端1启动后,通过蓝牙扫描并连接可供使用的测试执行单元2,并在管理客户端1上的用户界面中展示。管理客户端1在接收到用户输入的测试脚本与配置文件(BIOSA与BIOSB)后,从测试脚本中解析出测试命令,然后将该测试命令与BIOSA分别发送至各测试执行单元2。
各测试执行单元2在接收到测试命令与BIOSA所执行的测试操作类似,下面以其中一个测试执行单元2为例进行说明。测试执行单元2在接收到测试命令与BIOSA后,解析测试命令得到其中所包含的多个命令,首先执行第一个命令,测试执行单元2通过与显卡之间的SPI接口向显卡中刷入BIOSA;然后控制测试执行单元2执行第二命令,通过与显卡之间的IO接口控制显卡所在被测终端开机,若被测终端正常开机,则会通过其与测试执行单元2之间的串口向测试执行单元2发送表征成功启动的通知信息;若被测终端开机失败,测试执行单元2在预设时间内未接收到被测终端发送的表征成功启动的通知信息,则判定被测终端开机失败,向管理客户端1发送表征显卡加载BIOSA失败的通知消息,管理客户端1在接收到表征显卡加载BIOSA失败的通知消息后,对该显卡加载BIOSA失败进行记录。
测试执行单元2在接收到被测终端发送的表征成功启动的通知信息后,执行下一条命令,控制被测终端运行显卡测试软件(测试软件的测试模式设置为压力测试),对显卡进行10小时稳定测试,在10小时稳定性测试过程中,测试执行单元2每间隔预设时间通过串口询问显卡的系统状态,具体方式可以为按照预设周期读取显卡的状态寄存器的值来判断显卡的工作状态。
若在10小时稳定性测试过程中,测试执行单元2均能够通过串口接收到被测终端返回的系统状态,则说明显卡在BOISA下进行10小时稳定性测试的测试结果为测试成功,测试执行单元2向管理客户端1返回表征显卡在BOISA下测试成功的测试结果;若在10小时稳定性测试过程中,测试执行单元2未能通过串口接收到被测终端返回的系统状态,则说明显卡在BOISA下进行10小时稳定性测试的测试结果为测试失败,测试执行单元2向管理客户端1返回表征显卡在BOISA下测试失败的测试结果。
管理客户端1在接收到各测试执行单元2发送的显卡在BOISA下的测试结果或者接收到表征显卡加载BIOSA失败的通知消息后,判定还存在未经过测试的配置文件BOISB,管理客户端1则将BOISB和测试命令,分别发送至各测试执行单元2,各测试执行单元2在接收到测试命令与BIOSB所执行的测试操作与上述在接收到测试命令与BIOSA所执行的测试操作类似,在此不再赘述。其中,管理客户端1在接收到各测试执行单元2发送的显卡在BOISA下的测试结果或者接收到表征显卡加载BIOSA失败的通知消息后,会对各测试执行单元2所连接的显卡的测试结果进行记录,形成测试报告并在用户界面上进行展示,以供用户进行查看,测试报告的具体类型如下表1所示,其中示例性给出了5个显卡的测试结果。
表1
本发明第三实施例涉及一种分布式测试系统,第三实施例相对于第一实施例来说,主要区别之处在于:请参考图2,管理客户端1包括第一通信模块11、协同控制模块12,以及分别连接于协同控制模块12的解析模块13、命令下发模块14以及信息收集模块15,第一通信模块11分别连接到命令下发模块14、信息收集模块15以及各测试执行单元2。其中,第一通信模块11可以根据通信方式来选择,例如为蓝牙通信模块、WIFI通信模块等。
协同控制模块12用于通过解析模块13对接收到的测试脚本进行解析,得到测试脚本中的测试命令,并将测试命令发送到命令下发模块14。具体的,解析模块13用于接收用户输入的测试脚本,并从测试脚本中解析出测试命令,并将测试命令发送到协同控制模块12,协同控制模块12则将测试命令发送到命令下发模块14。
命令下发模块14用于通过第一通信模块11分别向各测试执行单元2发送对应的测试命令。具体的,命令下发模块14在接收到协同控制模块12发送的测试命令后,能够基于测试命令与测试执行单元2的对应关系,通过第一通信模块11将测试命令发送到对应的测试执行单元2。
信息收集模块15用于通过第一通信模块11接收各测试执行单元发送的测试结果,并将测试结果发送到协同控制模块12。具体的,测试执行单元2在获取的被测对象3的测试结果后,将测试结果发送到管理客户端1,信息收集模块15通过第一通信模块11接收各测试执行单元发送的测试结果,然后将测试结果发送到协同控制模块12。
在一个例子中,管理客户端1还包括连接到协同控制模块12的测试报告生成模块16,测试报告生成模块16用于接收协同控制模块12发送的各被测对象3的测试结果,并生成一个测试报告,测试报告的具体类型可以参考上表1。
在一个例子中,管理客户端1还包括用户交互模块17,该用户交互模块17连接到显示器,用于为用户提供用户界面,从而管理客户端1能够通过显示器在用户界面上展示所连接的测试执行单元2以及各测试执行单元2的测试进度等信息。
请参考图3,测试执行单元2包括:第二通信模块21、中央控制模块22,以及分别连接于中央控制模块22的命令解析模块23、信息上报模块24、通信接口模块25,通信接口模块25连接于目标被测对象,第二通信模块21分别连接于命令解析模块23、信息上报模块24以及管理客户端1。其中,通信接口模块25可以包括串行接口251、IO接口252以及SPI接口253。
第二通信模块21与第一通信模块11的通讯协议匹配,同样可以为蓝牙模块或者WIFI模块等。
命令解析模块23用于通过第二通信模块21接收管理客户端1发送的测试命令,并对测试命令进行解析。具体而言,命令解析模块23通过第二通信模块21接收管理客户端1发送的测试命令后,对该测试命令进行解析,得到该测试命令中包含的多个命令。
中央控制模块22用于执行解析后的测试命令,通过通信接口模块对目标被测对象进行测试;具体的,中央控制模块22执行解析测试命令所得到的多个命令,并通过通信接口模块25中的SPI接口和/或IO接口对目标被测对象进行测试。
中央控制模块22还用于在测试过程中通过通信接口模块25获取目标被测对象的系统状态,并根据目标被测对象的系统状态,得到目标被测对象的测试结果;具体的,中央控制模块22在测试过程中通过通信接口模块25中的串行接口询问被测对象3的系统状态,并根据被测对象3在测试过程中的系统状态,得到被测对象3的测试结果,然后将该测试结果发送至信息上报模块24。
信息上报模块24用于接收中央控制模块22发送的测试结果,并通过第二通信模块22将测试结果发送到管理客户端1。
需要说明的是,本实施例中还可以作为在第二实施例基础上的改进,即本实施例所提供的管理客户端1与测试执行单元2的具体结构还可以用于实现第二实施例中的管理客户端1的功能与测试执行单元2的功能。
本发明的第四实施例涉及一种分布式测试方法,应用于分布式测试系统中的管理客户端,分布式测试系统还包括分别连接于管理客户端的多个测试执行单元,分布式测试系统的具体结构请参考第一实施例中的图1,在此不再赘述。
本实施例的分布式测试方法的具体流程如图4所示。
步骤101,根据接收到的测试脚本,分别向各测试执行单元发送对应的测试命令,以供测试执行单元执行接收到的测试命令,对目标被测对象进行测试,目标被测对象为与测试执行单元对应的被测对象。
具体的,管理客户端1可以读取输入的测试脚本,通过预定的语法对测试脚本进行解析,得到测试脚本中所包含的测试命令,并将测试命令发送到测试执行单元2,即管理客户端1通过解析测试脚本,对各测试执行单元进行调度管理。
在一个例子中,测试脚本的数量为多个;多个测试脚本与多个测试执行单元一一对应。
此时,管理客户端分别从各测试脚本中解析出对应的各测试命令,并将各测试脚本对应的测试命令发送到目标测试执行单元,目标测试执行单元为与测试脚本对应的测试执行单元。
步骤102,接收各测试执行单元发送的根据在测试过程中获取的目标被测对象的系统状态,得到目标被测对象的测试结果。
具体而言,对于每个测试执行单元2来说,该测试执行单元2在接收到管理客户端1发送的测试命令后,测试执行单元2执行该测试命令,对连接的被测对象3进行测试,并在测试过程中测试执行单元2可以查询被测对象3的系统状态,若被测对象3在预设时间内均保持正常工作,则说明该被测对象3的测试结果为测试成功,然后向管理客户端1返回表征测试成功的测试结果;若被测对象3在预设时间内出现异常工作状态,则说明该被测对象3的测试结果为测试失败,然后向管理客户端1返回表征测试失败的测试结果。
由于第一至第三实施例与本实施例相互对应,因此本实施例可与第一至第三实施例互相配合实施。第一至第三实施例中提到的相关技术细节在本实施例中依然有效,在第一至第三实施例中所能达到的技术效果在本实施例中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一至第三实施例中。
本实施例中,分布式测试系统包括管理客户端以及分别连接于该管理客户端的与多个测试执行单元,多个测试执行单元与多个被测对象一一对应且连接,在对各被测对象进行测试时,管理客户端能够根据接收到的测试脚本,分别向各测试执行单元发送对应的测试命令,各测试执行单元在接收到测试命令后,执行测试命令对对应的被测对象进行测试,并在测试过程中获取对应的被测对象的系统状态,得到对应被测对象的测试结果,并将该测试结果发送到管理客户端;本发明的提供了一种通过分布式控制方式,由一个管理客户端控制多个被测对象的测试系统,能够对多个被测对象批量进行自动化测试的测试系统,提高了测试系统的稳定性以及测试数据的处理速度和能力,减少了测试部署成本与人力消耗;并且,基于脚本技术对多个被测对象进行测试,从而可以通过编辑测试脚本来调整测试流程,便于测试人员实时修改测试项目和流程,大大降低了测试系统二次开发的复杂度,能够适用于不同的测试环境与测试需求。
本发明的第五实施例涉及一种分布式测试方法,应用于分布式测试系统中的测试执行单元,分布式测试系统包括管理客户端以及分别连接于管理客户端的多个测试执行单元,分布式测试系统的具体结构请参考第一实施例中的图1,在此不再赘述。
本实施例的分布式测试方法的具体流程如图5所示。
步骤201,接收管理客户端发送的测试命令。
步骤202,执行接收到的测试命令,对目标被测对象进行测试,目标被测对象为与测试执行单元对应的被测对象。
步骤203,根据在测试过程中获取的目标被测对象的系统状态,得到目标被测对象的测试结果,并将测试结果发送到管理客户端。
具体而言,对于每个测试执行单元2来说,该测试执行单元2在接收到管理客户端1发送的测试命令后,测试执行单元2执行该测试命令,对连接的被测对象3进行测试,并在测试过程中测试执行单元2可以查询被测对象3的系统状态,若被测对象3在预设时间内均保持正常工作,则说明该被测对象3的测试结果为测试成功,然后向管理客户端1返回表征测试成功的测试结果;若被测对象3在预设时间内出现异常工作状态,则说明该被测对象3的测试结果为测试失败,然后向管理客户端1返回表征测试失败的测试结果。
由于第一实施例与本实施例相互对应,因此本实施例可与第一实施例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,在第一实施例中所能达到的技术效果在本实施例中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。
本实施例中,分布式测试系统包括管理客户端以及分别连接于该管理客户端的与多个测试执行单元,多个测试执行单元与多个被测对象一一对应且连接,在对各被测对象进行测试时,管理客户端能够根据接收到的测试脚本,分别向各测试执行单元发送对应的测试命令,各测试执行单元在接收到测试命令后,执行测试命令对对应的被测对象进行测试,并在测试过程中获取对应的被测对象的系统状态,得到对应被测对象的测试结果,并将该测试结果发送到管理客户端;本发明的提供了一种通过分布式控制方式,由一个管理客户端控制多个被测对象的测试系统,能够对多个被测对象批量进行自动化测试的测试系统,提高了测试系统的稳定性以及测试数据的处理速度和能力,减少了测试部署成本与人力消耗;并且,基于脚本技术对多个被测对象进行测试,从而可以通过编辑测试脚本来调整测试流程,便于测试人员实时修改测试项目和流程,大大降低了测试系统二次开发的复杂度,能够适用于不同的测试环境与测试需求。
本发明第六实施例涉及一种分布式测试方法,第五实施例相对于第四实施例来说,主要改进之处在于:在对被测对象进行测试时,能够采用多种配置文件对被测对象进行多次测试。
本实施例的分布式测试方法的具体流程如图6所示。
步骤301,接收管理客户端发送的测试命令与目标配置文件,目标配置文件为未经过测试的配置文件。
步骤302,执行接收到的测试命令,控制目标测试对象加载目标配置文件,并对目标被测对象进行测试。
步骤303,根据在测试过程中获取的目标被测对象的系统状态,得到目标被测对象在目标配置文件下的测试结果。
由于第二实施例与本实施例相互对应,因此本实施例可与第二实施例互相配合实施。第二实施例中提到的相关技术细节在本实施例中依然有效,在第二实施例中所能达到的技术效果在本实施例中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第二实施例中。
以上已详细描述了本发明的较佳实施例,但应理解到,若需要,能修改实施例的方面来采用各种专利、申请和出版物的方面、特征和构思来提供另外的实施例。
考虑到上文的详细描述,能对实施例做出这些和其它变化。一般而言,在权利要求中,所用的术语不应被认为限制在说明书和权利要求中公开的具体实施例,而是应被理解为包括所有可能的实施例连同这些权利要求所享有的全部等同范围。
Claims (12)
1.一种分布式测试系统,其特征在于,包括:管理客户端与多个测试执行单元,各所述测试执行单元分别连接于所述管理客户端,所述多个测试执行单元与多个被测对象一一对应且连接;
所述管理客户端用于根据接收到的测试脚本,分别向各所述测试执行单元发送对应的测试命令;
所述测试执行单元用于执行接收到的所述测试命令,对目标被测对象进行测试,所述目标被测对象为与所述测试执行单元对应的所述被测对象;
所述测试执行单元还用于根据在测试过程中获取的所述目标被测对象的系统状态,得到所述目标被测对象的测试结果,并将所述测试结果发送到所述管理客户端。
2.根据权利要求1所述的分布式测试系统,其特征在于,所述测试脚本的数量为多个;所述多个测试脚本与所述多个测试执行单元一一对应;
所述管理客户端用于分别从各所述测试脚本中解析出对应的各测试命令,并将各所述测试脚本对应的测试命令发送到目标测试执行单元,所述目标测试执行单元为与所述测试脚本对应的所述测试执行单元。
3.根据权利要求1所述的分布式测试系统,其特征在于,所述管理客户端还用于接收所述测试脚本对应的多个配置文件;
所述管理客户端用于在向各所述测试执行单元发送对应的测试命令时,发送目标配置文件至各所述测试执行单元,所述目标配置文件为未经过测试的所述配置文件;
所述测试执行单元用于执行接收到的所述测试命令,控制所述目标测试对象加载所述目标配置文件,并对所述目标被测对象进行测试;
所述测试执行单元用于根据在测试过程中获取的所述目标被测对象的系统状态,得到所述目标被测对象在所述目标配置文件下的测试结果,并将所述测试结果发送到所述管理客户端。
4.根据权利要求3所述的分布式测试系统,其特征在于,
所述管理客户端还用于接收到所述测试执行单元发送的所述被测对象在所述配置文件下的测试结果后,判断是否存在所述目标配置文件;
所述管理客户端还用于在判定存在所述目标配置文件时,向各所述测试执行单元发送对应的测试命令以及所述目标配置文件。
5.根据权利要求3所述的分布式测试系统,其特征在于,所述测试执行单元用于执行接收到的所述测试命令,控制所述目标测试对象加载所述目标配置文件后,判断所述目标被测对象是否正常开机;
所述测试执行单元用于在所述目标被测对象正常开机时,对所述目标被测对象进行测试;
所述测试执行单元用于在所述目标被测对象未正常开机时,向所述管理客户端发送表征所述目标被测对象加载所述目标配置文件失败的通知信息。
6.根据权利要求1所述的分布式测试系统,其特征在于,所述管理客户端包括第一通信模块、协同控制模块,以及分别连接于所述协同控制模块的解析模块、命令下发模块以及信息收集模块;所述第一通信模块分别连接到所述命令下发模块、所述信息收集模块以及各所述测试执行单元;
所述协同控制模块用于通过所述解析模块对接收到的测试脚本进行解析,得到所述测试脚本中的测试命令,并将所述测试命令发送到所述命令下发模块;
所述命令下发模块用于通过所述第一通信模块分别向各所述测试执行单元发送对应的测试命令;
所述信息收集模块用于通过所述第一通信模块接收各所述测试执行单元发送的所述测试结果,并将所述测试结果发送到所述协同控制模块。
7.根据权利要求1所述的分布式测试系统,其特征在于,所述测试执行单元包括:第二通信模块、中央控制模块,以及分别连接于所述中央控制模块的命令解析模块、信息上报模块、通信接口模块;所述通信接口模块连接于所述目标被测对象,所述第二通信模块分别连接于所述命令解析模块、信息上报模块以及所述管理客户端;
所述命令解析模块用于通过所述第二通信模块接收所述管理客户端发送的所述测试命令,并对所述测试命令进行解析;
所述中央控制模块用于执行解析后的所述测试命令,通过所述通信接口模块对所述目标被测对象进行测试;
所述中央控制模块还用于在测试过程中通过所述通信接口模块获取所述目标被测对象的系统状态,并根据所述目标被测对象的系统状态,得到所述目标被测对象的测试结果;
所述信息上报模块用于接收所述中央控制模块发送的所述测试结果,并通过所述第二通信模块将所述测试结果发送到所述管理客户端。
8.根据权利要求1所述的分布式测试系统,其特征在于,所述被测对象为显卡。
9.一种分布式测试方法,其特征在于,应用于分布式测试系统中的管理客户端,所述分布式测试系统还包括分别连接于所述管理客户端的多个测试执行单元,所述方法包括:
根据接收到的测试脚本,分别向各所述测试执行单元发送对应的测试命令,以供所述测试执行单元执行接收到的所述测试命令,对目标被测对象进行测试,所述目标被测对象为与所述测试执行单元对应的所述被测对象;
接收各所述测试执行单元发送的根据在测试过程中获取的所述目标被测对象的系统状态,得到所述目标被测对象的测试结果。
10.根据权利要求9所述的分布式测试方法,其特征在于,所述测试脚本的数量为多个;所述多个测试脚本与所述多个测试执行单元一一对应;
所述根据接收到的测试脚本,分别向各所述测试执行单元发送对应的测试命令,包括:
分别从各所述测试脚本中解析出对应的各测试命令,并将各所述测试脚本对应的测试命令发送到目标测试执行单元,所述目标测试执行单元为与所述测试脚本对应的所述测试执行单元。
11.一种分布式测试方法,其特征在于,应用于分布式测试系统中的测试执行单元,所述分布式测试系统包括管理客户端以及分别连接于所述管理客户端的多个所述测试执行单元,所述方法包括:
接收所述管理客户端发送的测试命令;
执行接收到的所述测试命令,对目标被测对象进行测试,所述目标被测对象为与所述测试执行单元对应的所述被测对象;
根据在测试过程中获取的所述目标被测对象的系统状态,得到所述目标被测对象的测试结果,并将所述测试结果发送到所述管理客户端。
12.根据权利要求11所述的分布式测试方法,其特征在于,所述测试脚本对应于多个配置文件;
所述接收所述管理客户端发送的测试命令,包括:
接收所述管理客户端发送的测试命令与目标配置文件,所述目标配置文件为未经过测试的所述配置文件;
所述执行接收到的所述测试命令,对目标被测对象进行测试,包括:
执行接收到的所述测试命令,控制所述目标测试对象加载所述目标配置文件,并对所述目标被测对象进行测试;
所述根据在测试过程中获取的所述目标被测对象的系统状态,得到所述目标被测对象的测试结果,包括:
根据在测试过程中获取的所述目标被测对象的系统状态,得到所述目标被测对象在所述目标配置文件下的测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110508953.9A CN113342638A (zh) | 2021-05-11 | 2021-05-11 | 分布式测试系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110508953.9A CN113342638A (zh) | 2021-05-11 | 2021-05-11 | 分布式测试系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113342638A true CN113342638A (zh) | 2021-09-03 |
Family
ID=77470518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110508953.9A Pending CN113342638A (zh) | 2021-05-11 | 2021-05-11 | 分布式测试系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342638A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050021274A1 (en) * | 2003-07-07 | 2005-01-27 | Matthew Eden | Method and system for information handling system automated and distributed test |
CN101252471A (zh) * | 2008-03-20 | 2008-08-27 | 中兴通讯股份有限公司 | 一种分布式自动化测试系统及其方法 |
CN102185738A (zh) * | 2011-05-13 | 2011-09-14 | 迈普通信技术股份有限公司 | 通信设备硬件主机的测试系统及测试方法 |
CN107632938A (zh) * | 2017-10-13 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种分布式存储产品自动化测试套件组织方法 |
CN108683563A (zh) * | 2018-05-18 | 2018-10-19 | 北京奇安信科技有限公司 | 一种分布式准入性能测试方法、装置及系统 |
CN110096396A (zh) * | 2019-03-18 | 2019-08-06 | 北京奇艺世纪科技有限公司 | 分组测试的控制方法、分布式应用系统及存储介质 |
CN112351098A (zh) * | 2020-11-05 | 2021-02-09 | 深信服科技股份有限公司 | 拷机服务集群系统、控制方法、装置及介质 |
-
2021
- 2021-05-11 CN CN202110508953.9A patent/CN113342638A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050021274A1 (en) * | 2003-07-07 | 2005-01-27 | Matthew Eden | Method and system for information handling system automated and distributed test |
CN101252471A (zh) * | 2008-03-20 | 2008-08-27 | 中兴通讯股份有限公司 | 一种分布式自动化测试系统及其方法 |
CN102185738A (zh) * | 2011-05-13 | 2011-09-14 | 迈普通信技术股份有限公司 | 通信设备硬件主机的测试系统及测试方法 |
CN107632938A (zh) * | 2017-10-13 | 2018-01-26 | 郑州云海信息技术有限公司 | 一种分布式存储产品自动化测试套件组织方法 |
CN108683563A (zh) * | 2018-05-18 | 2018-10-19 | 北京奇安信科技有限公司 | 一种分布式准入性能测试方法、装置及系统 |
CN110096396A (zh) * | 2019-03-18 | 2019-08-06 | 北京奇艺世纪科技有限公司 | 分组测试的控制方法、分布式应用系统及存储介质 |
CN112351098A (zh) * | 2020-11-05 | 2021-02-09 | 深信服科技股份有限公司 | 拷机服务集群系统、控制方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8249821B2 (en) | Testing system and method for fan module | |
CN103376380A (zh) | 一种测试系统及方法 | |
CN112839323A (zh) | 蓝牙设备的测试方法、装置、终端和计算机可读存储介质 | |
CN109634847A (zh) | 嵌入式产品自动化测试方法和系统 | |
CN113407396B (zh) | 一种基于ate芯片测试的同步方法和系统 | |
CN101441592A (zh) | 嵌入式系统的测试系统及方法 | |
CN1713658A (zh) | 移动电话测试系统及方法 | |
CN115128429A (zh) | 芯片的测试系统及其测试方法 | |
CN113268416A (zh) | 一种应用程序的测试方法、装置、存储介质及终端 | |
CN111831495A (zh) | 生产自动化测试方法及系统 | |
CN112231163A (zh) | 一种多功能计算机检测设备及其运行方法 | |
CN111625404A (zh) | 基于Jenkins测试NVMe硬盘的方法、系统存储介质及电子设备 | |
CN108319516B (zh) | 一种测试系统及测试方法 | |
CN112822073B (zh) | 测试方法、装置、系统、电子设备及可读存储介质 | |
CN114356820A (zh) | 基于ate设备芯片测试的加速方法、装置及测试机系统 | |
CN113342638A (zh) | 分布式测试系统及方法 | |
CN112216340A (zh) | 硬盘测试方法、装置、存储介质及电子设备 | |
CN112485699A (zh) | 一种服务器电源测试系统 | |
CN111949538A (zh) | 数据分析方法、设备及系统 | |
CN113341300B (zh) | 矩阵按键电路自动检测方法、装置、介质及设备 | |
CN106657514B (zh) | 一种终端测试方法及测试装置 | |
CN111212281A (zh) | 一种视频板卡的检测方法及检测装置 | |
CN114113977A (zh) | 一种电路板的rtc电路自动检测方法及系统 | |
CN100397359C (zh) | 主机板的自动控制测试系统及方法 | |
CN110927477B (zh) | 一种非介入式负荷辨识检测的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |