本申请涉及计算机技术领域,特别涉及一种自精简功能的测试方法、测试控制方法、服务器节点、控制装置、装置以及计算机可读存储介质。
背景技术:
随着信息技术的不断发展,与信息技术相配的存储技术也在不断更新换代,以适应更高的存储量和更快的存储速度的需求。在存储系统中出现了各种各样的个性化需求,以及丰富的存储功能,以应对不同的存储条件。其中,就包括了自精简功能,又叫做自动精简配置功能,是一项新的容量分配的技术,不会一次性的划分过大的空间给某项应用,而是根据该项应用实际所需要的容量,多次的少量的分配给应用程序,当该项应用所产生的数据增长,分配的容量空间已不够的时候,系统会再次从后端存储池中补充分配一部分存储空间。可以提高存储系统中的存储空间的利用率,以提高存储空间的存储性能。
在存储系统的内核客户端上线时,需要对内核客户端的各项功能进行测试。而现有技术中对内核客户端进行测试的过程主要是人工进行,以确定内核客户端的自精简功能是否可以正常运行。但是,人工测试由于是人工进行,所以在测试过程中容易出现未被测试的技术点,遗漏一些测试过程,无法保证测试效率和测试质量。
因此,如何提高自精简功能测试的效率和质量是本领域技术人员关注的重点问题。
技术实现要素:
本申请的目的是提供一种自精简功能的测试方法、测试控制方法、服务器节点、控制装置、装置以及计算机可读存储介质,通过服务器节点实现对自精简功能进行自动化测试,提高了测试效率,并且避免了人工测试时发生的遗漏情况,保证了测试质量。
为解决上述技术问题,本申请提供一种自精简功能的测试方法,包括:
服务器节点接收控制装置发送的待执行测试任务信息;其中,所述服务器节点为已挂载内核客户端的服务器节点;
根据所述待执行测试任务信息触发所述内核客户端的自精简功能;
当所述自精简功能被触发时,记录前一时刻的系统信息和后一时刻的系统信息,将所有所述系统信息发送至所述控制装置。
可选的,根据所述待执行测试任务信息触发所述内核客户端的自精简功能,包括:
根据所述待测试任务信息设置所述自精简功能的容量上限;
创建文件填充所述内核客户端的目录空间,以便触发所述自精简功能。
可选的,根据所述待执行测试任务信息触发所述内核客户端的自精简功能,包括:
根据所述待执行测试任务信息中的测试脚本地址获取测试脚本;
执行所述测试脚本,以便触发所述自精简功能。
可选的,还包括:
当所述内核客户端所占用的实际容量达到服务器节点的容量上限时,服务器节点发送测试结束指令,对所述内核客户端进行初始化处理,以便将内核客户端恢复到初始状态。
可选的,还包括:
当测试执行失败时,删除所述服务器节点中的内核客户端,将收集到的所有日志信息发送至控制装置。
本申请还提供一种自精简功能的测试控制方法,包括:
控制装置接收到自精简测试任务,根据服务器节点的节点配置在服务器节点池中选取符合所述自精简测试任务的服务器节点作为待测试服务器节点;
将所述自精简测试任务进行任务信息整合处理得到待执行测试任务信息,将所述待测试任务信息发送至所有所述待测试服务器节点,以便所述待测试服务器节点根据所述待测试任务信息触发自精简功能,记录触发所述自精简功能时系统信息,并将所述系统信息发送至所述控制装置;
将接收到的所有所述系统信息进行聚合处理,得到测试日志。
本申请还提供一种服务器节点,包括:
任务信息接收模块,用于接收控制装置发送的待执行测试任务信息;其中,所述服务器节点为已挂载内核客户端的服务器节点;
自精简功能触发模块,用于根据所述待执行测试任务信息触发所述内核客户端的自精简功能;
系统信息记录模块,用于当所述自精简功能被触发时,记录前一时刻的系统信息和后一时刻的系统信息,将所有所述系统信息发送至所述控制装置。
本申请还提供一种控制装置,包括:
测试任务接收模块,用于接收到自精简测试任务,根据服务器节点的节点配置在服务器节点池中选取符合所述自精简测试任务的服务器节点作为待测试服务器节点;
自精简功能测试模块,用于将所述自精简测试任务进行任务信息整合处理得到待执行测试任务信息,将所述待测试任务信息发送至所有所述待测试服务器节点,以便所述待测试服务器节点根据所述待测试任务信息触发自精简功能,对所述自精简功能的执行结果进行预期判断处理,将判断结果发送至所述控制装置;
系统信息聚合模块,用于将接收到的所有所述判断结果进行聚合处理,得到测试日志。
本申请还提供一种装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的测试方法的步骤或如上所述的测试控制方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的测试方法的步骤和/或如上所述的测试控制方法的步骤。
本申请所提供的一种自精简功能的测试方法,包括:服务器节点接收控制装置发送的待执行测试任务信息;其中,所述服务器节点为已挂载内核客户端的服务器节点;根据所述待执行测试任务信息触发所述内核客户端的自精简功能;当所述自精简功能被触发时,记录前一时刻的系统信息和后一时刻的系统信息,将所有所述系统信息发送至所述控制装置。
通过服务器节点根据接收到的待执行测试任务信息触发服务器节点中内核客户端的自精简功能,以便将自精简功能触发时的系统信息进行记录,作为测试的测试结果,用于对测试的过程进行分析,对自精简功能进行评判,实现对自精简功能进行自动化测试,提高了测试效率,并且避免了人工测试时发生的遗漏情况,保证了测试质量。
本申请还提供一种自精简功能的测试控制方法、服务器节点、控制装置、装置以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种自精简功能的测试方法的流程图;
图2为本申请实施例所提供的一种自精简功能的测试控制方法的流程图;
图3为本申请实施例所提供的一种服务器节点的结构示意图;
图4为本申请实施例所提供的一种控制装置的结构示意图。
具体实施方式
本申请的核心是提供一种自精简功能的测试方法、测试控制方法、服务器节点、控制装置、装置以及计算机可读存储介质,通过服务器节点实现对自精简功能进行自动化测试,提高了测试效率,并且避免了人工测试时发生的遗漏情况,保证了测试质量。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中在存储系统的内核客户端上线时,需要对内核客户端的各项功能进行测试。而现有技术中对内核客户端进行测试的过程主要是人工进行,以确定内核客户端的自精简功能是否可以正常运行。但是,人工测试由于是人工进行,所以在测试过程中容易出现未被测试的技术点,遗漏一些测试过程,无法保证测试效率和测试质量。
因此,本申请实施例提供一种自精简功能的测试方法,通过服务器节点根据接收到的待执行测试任务信息触发服务器节点中内核客户端的自精简功能,以便将自精简功能触发时的系统信息进行记录,作为测试的测试结果,用于对测试的过程进行分析,对自精简功能进行评判,实现对自精简功能进行自动化测试,提高了测试效率,并且避免了人工测试时发生的遗漏情况,保证了测试质量。
请参考图1,图1为本申请实施例所提供的一种自精简功能的测试方法的流程图。
该方法可以包括:
s101,服务器节点接收控制装置发送的待执行测试任务信息;其中,服务器节点为已挂载内核客户端的服务器节点;
本步骤旨在服务器节点接收控制装置发送的待执行测试任务信息,根据该待执行测试任务信息执行测试操作。需要说明的是,本步骤中的服务器节点为已经挂载了内核客户端的服务器节点,也就是针对集群系统已经构建好了可以让每个服务器节点均可以进行测试任务的结构。
本实施例中主要是针对一个服务器节点的测试方法进行说明,其他服务器节点的测试方法与本实施例所介绍的方法类似,可以相互参考。
s102,根据待执行测试任务信息触发内核客户端的自精简功能;
在步骤s101的基础上,本步骤旨在根据该待执行测试任务信息触发内核客户端的自精简功能。也就是不断的向内核客户端的目录空间填充数据,以便使内核客户端启动自精简功能,调整内核客户端的目录空间的容量,也就是触发自精简功能。也就是相对应与本实施例中所测试的对象,即自精简功能。需要不断模拟正常的运行环境,以触发自精简功能,并记录触发过程,以便完成对自精简功能的测试。
其中,为了触发自精简功能需要不断向对应的目录空间填充数据,以使数据的容量不断达到自精简功能所设定的当前的容量,当达到容量上限时即可触发自精简功能,分配更多的实际存储空间给该内核客户端。具体的,对目录空间填充数据的方式可以是创建文件进行填充,也可以是执行可以生成数据的脚本文件进行填充,还可以是通过不断复制相同的脚本文件进行填充。因此,对目录空间进行填充的方式并不唯一,在此不做赘述。
可选的,本步骤可以包括:
根据待测试任务信息设置自精简功能的容量上限;
创建文件填充内核客户端的目录空间,以便触发自精简功能。
本可选方案中主要是设置自精简功能的容量上限,在创建文件填充该目录空间,不断增加目录空间中的所存储的数据存储量,该数据存储量就可以不断的大于自精简功能设定的当前的容量上限,进而就可以不断的触发该自精简功能,以调整该目录空间的实际可存储空间。
可选的,本步骤可以包括:
根据待执行测试任务信息中的测试脚本地址获取测试脚本;
执行测试脚本,以便触发自精简功能。
本可选方案主要是获取对应的测试脚本,通过执行该测试脚本不断生成数据以填充该目录空间,当存数容量达到自精简功能设定的容量上限时,触发该自精简功能。
s103,当自精简功能被触发时,记录前一时刻的系统信息和后一时刻的系统信息,将所有系统信息发送至控制装置。
在步骤s102的基础上,本步骤旨在当自精简功能被触发时,记录前一时刻的系统信息和后一时刻的系统信息,将所有系统信息发送至控制装置。也就是记录自精简功能触发前后的系统信息,作为对自精简功能进行测试的测试结果。
可选的,本实施例还可以包括:
当内核客户端所占用的实际容量达到服务器节点的容量上限时,服务器节点发送测试结束指令,对所述内核客户端进行初始化处理,以便将内核客户端恢复到初始状态。
本可选方案主要是说明如何结束本实施例的测试方法,也就是当内核客户端所占用的实际容量达到服务器节点的容量上限时,服务器节点发送测试结束指令,对该内核客户端进行初始化处理,以便将内核客户端恢复到初始状态。最后将内核客户端进行初始化处理,例如将内核客户端中的数据全部删除,将目录空间恢复至初始化的状态。
可选的,本实施例还可以包括:
当测试执行失败时,删除服务器节点中的内核客户端,将收集到的所有日志信息发送至控制装置。
本可选方案主要是说明当测试执行失败时,删除内核客户端,将所有日志信息发送至控制装置,以对失败信息进行记录。
综上,本实施例通过服务器节点根据接收到的待执行测试任务信息触发服务器节点中内核客户端的自精简功能,以便将自精简功能触发时的系统信息进行记录,作为测试的测试结果,用于对测试的过程进行分析,对自精简功能进行评判,实现对自精简功能进行自动化测试,提高了测试效率,并且避免了人工测试时发生的遗漏情况,保证了测试质量。
上一实施例是在服务器节点的角度,说明本实施例提供的测试方法。在上一实施例的基础上,下一实施例在控制装置的角度对该测试方法进行说明。
请参考图2,图2为本申请实施例所提供的一种自精简功能的测试控制方法的流程图。
该方法可以包括:
s201,控制装置接收到自精简测试任务,根据服务器节点的节点配置在服务器节点池中选取符合自精简测试任务的服务器节点作为待测试服务器节点;
本步骤旨在控制装置接收到自精简测试任务,并根据服务器节点的节点配置在服务器节点池中选取符合自精简测试任务的服务器节点作为待测试服务器节点。在更加实际的应用环境下,本实施例中的服务器节点可以是在虚拟机中虚拟出的任务机,相应的本步骤中是在任务机池中选取符合自精简测试任务的任务机作为待测试任务机。
s202,将自精简测试任务进行任务信息整合处理得到待执行测试任务信息,将待测试任务信息发送至所有待测试服务器节点,以便待测试服务器节点根据待测试任务信息触发自精简功能,记录触发自精简功能时系统信息,并将系统信息发送至控制装置;
在步骤s201的基础上,本步骤旨在将待执行测试任务信息发送至待测试服务器节点,以便待测试服务器节点根据待执行测试任务信息进行自精简功能的测试,并且将测试得到的判断结果发送至控制装置。其中,具体的测试过程可以参考上一实施例在此不做赘述。
s203,将接收到的所有系统信息进行聚合处理,得到测试日志。
在步骤s202的基础上,本步骤旨在将得到的所有判断结果进行聚合处理,得到测试日志。
本实施例提供一种自精简功能的测试控制方法,通过服务器节点根据接收到的待执行测试任务信息触发服务器节点中内核客户端的自精简功能,以便将自精简功能触发时的系统信息进行记录,作为测试的测试结果,用于对测试的过程进行分析,对自精简功能进行评判,实现对自精简功能进行自动化测试,提高了测试效率,并且避免了人工测试时发生的遗漏情况,保证了测试质量。
在以上所有实施例的基础上,本实施例提供一种更加具体的实施方式。该实施方式主要是在虚拟环境中创建任务机和任务机池,与以上实施例中的服务器节点和服务器节点池相对应。下文中的自动化控制节点与上文中的控制装置相对应。
具体实施过程如下:
首先,创建任务机池,可以使用虚拟机方式。为任务机安装所需的操作系统,此操作系统为待测软件包的基础操作系统。任务机操作系统之间配置ssh无密码访问。然后创建自动化控制节点,自动化控制节点上设置任务队列、脚本库、yum源。自动化控制节点与任务机池内的节点同样需要配置ssh无密码访问。自动化测试人员启动内核客户端自精简功能编译构建任务,自动化任务会完成任务机内核客户端自精简功能的更新安装。之后,测试人员在自动化控制节点上提交内核客户端自精简功能测试任务,任务执行角色会到队列中读取未执行的任务,然后到任务机池中根据节点配置选取所需任务机并锁定。在锁定的任务机上获取测试脚本,并执行,脚本执行结束后将脚本执行生成的日志上传到指定节点的指定路径下,完成此条任务的执行。一条任务对应的是一条调用脚本,此脚本调用当前模块中的功能测试脚本,每条功能测试脚本有对应的执行日志,同时此调用脚本日志中体现所有功能测试脚本的执行结果,脚本数量,执行时间等信息。
内核客户端自精简功能安装包部署主要包括以下几个步骤:
(1)创建ssh-key并设置免密信息;
(2)启动内核客户端自精简功能编译构建和部署任务;
(3)完成任务机内核客户端自精简功能安装包安装;
(4)使用标记语言书写内核客户端自精简功能自动化测试配置文件,指明所需任务节点数量、测试脚本路径;
(5)提交测试任务到任务队列中,以待执行。
内核客户端的自精简功能的测试任务执行主要包括以下步骤:
(1)启动自动化控制节点的执行脚本;
(2)执行脚本读取任务队列,并获取到待执行任务信息;
(3)从任务机池中获取所需任务机并锁定;
(4)执行搭建分布式集群脚本,集群角色配置可从任务配置文件中获取;
(5)在客户端节点挂载内核客户端自精简功能,并检测挂载成功、状态正常;
(6)在任务机上获取测试脚本(远程脚本库中);
(7)根据任务配置文件,执行指定测试脚本执行;
(8)脚本执行完毕,上传日志;
(9)以上步骤执行失败,均会进入失败流程,清理集群,上传日志,释放任务机。
以上实施例主要是描述自动化测试的预先准备和环境搭建环节,其中具体的测试方法还需要参考以上实施例。
下面对本申请实施例提供的一种服务器节点进行介绍,下文描述的一种服务器节点与上文描述的一种自精简功能的测试方法可相互对应参照。
请参考图3,图3为本申请实施例所提供的一种服务器节点的结构示意图。
该服务器节点可以包括:
任务信息接收模块110,用于接收控制装置发送的待执行测试任务信息;其中,服务器节点为已挂载内核客户端的服务器节点;
自精简功能触发模块120,用于根据待执行测试任务信息触发内核客户端的自精简功能;
系统信息记录模块130,用于当自精简功能被触发时,记录前一时刻的系统信息和后一时刻的系统信息,将所有系统信息发送至控制装置。
下面对本申请实施例提供的一种控制装置进行介绍,下文描述的一种控制装置与上文描述的一种自精简功能的测试控制方法可相互对应参照。
请参考图4,图4为本申请实施例所提供的一种控制装置的结构示意图。
该控制装置可以包括:
测试任务接收模块210,用于接收到自精简测试任务,根据服务器节点的节点配置在服务器节点池中选取符合自精简测试任务的服务器节点作为待测试服务器节点;
自精简功能测试模块220,用于将自精简测试任务进行任务信息整合处理得到待执行测试任务信息,将待测试任务信息发送至所有待测试服务器节点,以便待测试服务器节点根据待测试任务信息触发自精简功能,对自精简功能的执行结果进行预期判断处理,将判断结果发送至控制装置;
系统信息聚合模块230,用于将接收到的所有判断结果进行聚合处理,得到测试日志。
本申请实施例还提供一种装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的测试方法的步骤或如以上实施例所述的测试控制方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的测试方法的步骤和/或如以上实施例所述的测试控制方法的步骤。
该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种自精简功能的测试方法、测试控制方法、服务器节点、控制装置、装置以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。