CN107608897A - 一种分布式集群的测试方法及系统 - Google Patents
一种分布式集群的测试方法及系统 Download PDFInfo
- Publication number
- CN107608897A CN107608897A CN201710883652.8A CN201710883652A CN107608897A CN 107608897 A CN107608897 A CN 107608897A CN 201710883652 A CN201710883652 A CN 201710883652A CN 107608897 A CN107608897 A CN 107608897A
- Authority
- CN
- China
- Prior art keywords
- test
- task
- node
- automated condtrol
- software under
- 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
Abstract
本申请公开了一种分布式集群的测试方法,包括:配置所有任务机和自动化控制节点以满足测试要求;根据配置在自动化控制节点上的测试任务按第一预设规则从任务机池中选定目标任务机,并下发待测软件包;利用目标任务机和下发至目标任务机的待测软件包搭建测试集群,并获取对应的自动执行脚本;利用自动执行脚本测试待测软件,得到测试结果,并在测试完成后初始化测试集群,以便为下一次测试做好准备。能够提高测试执行效率、覆盖一些人工测试容易出现的遗漏点,且通过自动执行脚本的方式提高了测试效率和测试质量,同时也可以提高待测程序代码的质量,以减少合并时出现的低级错误。本申请还同时公开了一种分布式集群的测试系统,具有上述有益效果。
Description
技术领域
本申请涉及分布式存储技术领域,特别涉及一种分布式集群的测试方法及系统。
背景技术
在当今大数据运算时代,海量应用产生的海量数据多为非结构化数据,且数据量的数量级别在以指数型趋势增长,在数据传输和存储方面传统存储的结构已经不能满足海量数据的存储需求。
分布式存储的出现解决了海量数据存储和服务器应用的问题,将存储重新纳入服务器内,将传统的服务器使用方式重新激活,常规服务器在担任计算角色的同时,也担任了数据存储的角色。然而,分布式存储产品采用横向扩展方式,多个服务器之间要依赖复杂的网络拓扑才能建立通信,多个服务器之间形成存储集群,通过相关算法提供数据读写及落盘功能。如此一来,不仅增加了分布式存储产品测试的难度,同时要实现分布式存储产品的自动化测试更是需要考虑多方因素,而针对不同开发小组提交代码后的自动化测试协同问题,在日常的开发测试活动中也是需要关注的。
所以,如何提供一种测试覆盖面更广、更方便快捷、测试效率和质量更高的分布式集群的测试机制是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种分布式集群的测试方法及系统,其不仅可以提高测试执行效率、覆盖一些传统人工测试容易出现的遗漏点,而且通过自动执行脚本的方式提高了测试效率和测试质量,同时也可以提高待测程序代码的质量,以减少合并时出现的低级错误。
为解决上述技术问题,本申请提供一种分布式集群的测试方法,该测试方法包括:
根据基本配置文件配置任务机池中的所有任务机和自动化控制节点,以使所有所述任务机和所述自动化控制节点满足测试要求;其中,所述自动化控制节点和所有所述任务机由服务器配置得到;
根据配置在所述自动化控制节点上的测试任务按第一预设规则从所述任务机池中选定目标任务机,并向所述目标任务机下发待测软件包;其中,所述自动化控制节点的配置内容还包括自动执行脚本库和所述待测软件包;
利用所述目标任务机和下发至所述目标任务机的待测软件包搭建测试集群,并从所述自动执行脚本库中获取与所述待测软件包对应的自动执行脚本;
利用所述自动执行脚本测试所述待测软件包中携带的待测软件,得到测试结果,并在测试完成后初始化所述测试集群,以便为下一次测试做好准备。
可选的,在根据基本配置文件配置任务机池中的所有任务机和自动化控制节点之前,还包括:
获取所述服务器的当前配置数量和所述任务机的数量要求;
判断所述当前配置数量是否小于所述任务机的数量要求;
若是,利用虚拟机创建程序创建与所述数量要求相同数量的虚拟任务机;
若否,按第二预设规则选定作为所述任务机的服务器。
可选的,根据基本配置文件配置任务机池中的所有任务机和自动化控制节点,以使所有所述任务机和所述自动化控制节点满足测试要求,包括:
为所述任务机池中的所有任务机安装统一且满足所述测试要求的基础操作系统,并将所有所述任务机之间配置SSH无密码访问;
为所述自动化控制节点设置容纳所述测试任务的任务队列、所述自动执行脚本库以及所述待测软件包,并将所述自动化控制节点和所有所述任务机之间配置所述SSH无密码访问。
可选的,根据配置在所述自动化控制节点上的测试任务按第一预设规则从所述任务机池中选定目标任务机,并向所述目标任务机下发待测软件包,包括:
从所述任务机池中任意选取符合所述测试任务要求数量的任务机作为所述目标任务机;
通过yum源的方式同时将所述待测软件包下发至所述目标任务机。
可选的,,利用所述自动执行脚本测试所述待测软件包中携带的待测软件,得到测试结果,并在测试完成后初始化所述测试集群,以便为下一次测试做好准备,包括:
依次执行所述自动执行脚本中的所有命令,得到每个命令的执行结果;其中,所述执行结果包括成功执行和未成功执行的执行过程;
将所有所述执行结果记录并生成测试结果日志,并发送测试完成信号;
根据所述测试完成信号调用初始化程序对所述目标任务机进行初始化,以为下一次测试做好准备。
可选的,该测试方法还包括;
为所述自动化控制节点和所述任务机池中的所有任务机创建还原点,以便发生异常时能够依据该还原点进行快速还原。
可选的,该测试方法还包括:
在每次所述测试任务完成后,通过预设路径发送包括所述测试结果和所述测试结果日志在内的测试报告。
本申请还提供了一种分布式集群的测试系统,该测试系统包括:
参数配置单元,用于根据基本配置文件配置任务机池中的所有任务机和自动化控制节点,以使所有所述任务机和所述自动化控制节点满足测试要求;
任务机选定及下发单元,用于根据配置在所述自动化控制节点上的测试任务按第一预设规则从所述任务机池中选定目标任务机,并向所述目标任务机下发待测软件包;其中,所述自动化控制节点的配置内容还包括自动执行脚本库和所述待测软件包;
测试集群搭建单元,用于利用所述目标任务机和下发至所述目标任务机的待测软件包搭建测试集群,并从所述自动执行脚本库中获取与所述待测软件包对应的自动执行脚本;
执行测试及初始化单元,用于利用所述自动执行脚本测试所述待测软件包中携带的待测软件,得到测试结果,并在测试完成后初始化所述测试集群,以便为下一次测试做好准备。
可选的,所述参数配置单元包括:
任务机配置子单元,用于为所述任务机池中的所有任务机安装统一且满足所述测试要求的基础操作系统,并在所有所述任务机之间配置SSH无密码访问;
自动化控制节点配置子单元,用于为所述自动化控制节点设置容纳所述测试任务的任务队列、所述自动执行脚本库以及所述待测软件包,并在所述自动化控制节点和所有所述任务机之间配置所述SSH无密码访问。
可选的,所述执行测试及初始化单元包括:
命令执行子单元,用于依次执行所述自动执行脚本中的所有命令,得到每个命令的执行结果;其中,所述执行结果包括成功执行和未成功执行的执行过程;
日志记录生成子单元,用于将所有所述执行结果记录并生成测试结果日志,并发送测试完成信号;
初始化子单元,用于根据所述测试完成信号调用初始化程序对所述目标任务机进行初始化,以为下一次测试做好准备。
本申请所提供的一种分布式集群的测试方法,根据基本配置文件配置任务机池中的所有任务机和自动化控制节点,以使所有所述任务机和所述自动化控制节点满足测试要求;根据配置在所述自动化控制节点上的测试任务按第一预设规则从所述任务机池中选定目标任务机,并向所述目标任务机下发待测软件包;利用所述目标任务机和下发至所述目标任务机的待测软件包搭建测试集群,并从所述自动执行脚本库中获取与所述待测软件包对应的自动执行脚本;利用所述自动执行脚本测试所述待测软件包中携带的待测软件,得到测试结果,并在测试完成后初始化所述测试集群,以便为下一次测试做好准备。
显然,本申请所提供的技术方案,不仅可以提高测试执行效率、覆盖一些传统人工测试容易出现的遗漏点,而且通过自动执行脚本的方式提高了测试效率和测试质量,同时也可以提高待测程序代码的质量,以减少合并时出现的低级错误。本申请同时还提供了一种分布式集群的测试系统,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种分布式集群的测试方法的流程图;
图2为本申请实施例所提供的另一种分布式集群的测试方法的流程图;
图3为本申请实施例所提供的一种分布式集群的测试系统的结构框图;
图4为本申请实施例所提供的一种分布式集群模块进行自动化测试的结构框图。
具体实施方式
本申请的核心是提供一种分布式集群的测试方法及系统,其不仅可以提高测试执行效率、覆盖一些传统人工测试容易出现的遗漏点,而且通过自动执行脚本的方式提高了测试效率和测试质量,同时也可以提高待测程序代码的质量,以减少合并时出现的低级错误。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
以下结合图1,图1为本申请实施例所提供的一种分布式集群的测试方法的流程图。
其具体包括以下步骤:
S101:根据基本配置文件配置任务机池中的所有任务机和自动化控制节点,以使所有任务机和自动化控制节点满足测试要求;
本步骤旨在根据基本配置文件配置任务机池中的所有任务机和自动化控制节点,以使所有任务机和自动化控制节点满足测试要求。其中,该基本配置文件是决定如何配置得到满足测试要求的任务机和自动化控制节点的,且自动化控制节点和任务机池均是利用服务器资源创建得到的,同时任务机和自动化控制节点之间相对独立,即不占用对方的资源,也不受到对方的影响。
任务机池包含多个任务机,视实际情况的不同,任务机的数量最少应满足测试任务的最少任务机数量需要。由于物理服务器每增设一台的成本极高,且配置至能够使用的情况及其繁琐和复杂,故在测试任务要求使用的任务机的数量超过了当前物理服务器的配置数量时,也可以采用虚拟机技术虚拟出一定量的虚拟任务机,并可方便配置过程,同时富余的服务器资源还可以进行其它任务的执行。
S102:根据配置在自动化控制节点上的测试任务按第一预设规则从任务机池中选定目标任务机,并向目标任务机下发待测软件包;其中,自动化控制节点的配置内容还包括自动执行脚本库和待测软件包;
在S101的基础上,本步骤旨在由该配置好的自动化控制节点根据其上任务列队中的测试任务按第一预设规则选择目标任务机,并将待测软件包下发至选定的目标任务机。
其中,自动化控制节点包括测试任务、自动执行脚本库、待测软件包,还可以配置有其它需要的数据文件,可以根据实际情况下设备型号、配置方法、下发要求等自行选择和添加。在从测试任务获取到需要具体数量的任务机后,该自动化控制节点依据预设的选择规则选取出目标任务机,该选择规则多种多样,例如随机选择、依次选择、特定选择、优先选择、性能优先选择等等,可以根据任务机的附属特征信息结合特定的选择规则进行选择,此处并不对该自动化控制节点具体包括哪些数据内容以及具体为哪种选取规则做具体限定,只需能够实现目的即可,可以根据实际情况结合各影响因素综合考虑和选择。
S103:利用目标任务机和下发至目标任务机的待测软件包搭建测试集群,并从自动执行脚本库中获取与待测软件包对应的自动执行脚本;
在S102的基础上,本步骤旨在有目标任务机利用待测软件包搭建测试集群,并从自动化控制节点获取相应的自动执行脚本。其中,该自动执行脚本与待测软件包包含的待测软件相对应,是将该待测软件的测试过程脚本化得到的一种自动执行文件,按照顺序一行行的书写相关命令,也依照程序的执行顺序依次执行。
具体的,如何从该自动化控制节点获取到该自动执行脚本的方式以及如何从该自动控制节点向任务机下发指令的方式多种多样,可以在配置过程中,将自动控制节点和任务池中的所有任务机配置为可互相访问的模式,也可以借助设置的连接方式以及特殊的命令实现,此处并不做具体限定。
S104:利用自动执行脚本测试待测软件包中携带的待测软件,得到测试结果,并在测试完成后初始化测试集群,以便为下一次测试做好准备。
在S103的基础上,本步骤旨在测试集群根据自动执行脚本测试待测软件包中携带的待测软件,得到测试结果,并在测试完成后初始化目标任务机,以便为下一次测试做好准备。其中,该测试结果可以包括具体的测试过程和为该待测软件在测试后得到的程度认定等等。此外,该初始化的方式有很多,可以采用最为彻底的全部格式化的方式,然后考虑到节省时间和不变要的初始化过程,可以只将负责搭建测试机群的目标任务机进行初始化,可以初始化为与其它未使用的任务机一致,也可以结合特殊要求进行相应的初始化,此处并不做具体限定。
进一步的,还可以为该自动化控制节点、任务池中的所有任务机设定还原点,以便该测试系统发生异常时能够依据建立的还原点进行快速还原。就像我们去网吧上网,网吧的电脑上都按照由还原精灵等类似的软件,在每个客人下机后会自动还原至一个通用的还原点,以最大程度的满足每个客人的使用需求和减小上一个客人对下一个客人的使用影响。更进一步的,该还原点可以根据服务器的负载情况设置为多个,已在发生异常时可以选择最为合适的一个。
更进一步的,还可以在每个测试任务完成后,通过预设路径发送包括测试结果和记录测试过程的日志在内的测试报告,以供测试管理人员根据该测试报告查找测试过程中出现的问题。
基于上述技术方案,本申请实施例提供的一种分布式集群的测试方法,通过自动化控制节点控制任务机池中的任务机根据测试任务搭建起测试集群,并根据测试任务中的待测软件获取相应自动执行脚本,且依次执行该自动执行脚本中的每条测试命令,直至完成所有测试任务后初始化任务机,以为下次测试做好准备。该测试方法不仅可以提高测试执行效率、覆盖一些传统人工测试容易出现的遗漏点,而且通过自动执行脚本的方式提高了测试效率和测试质量,同时也可以提高待测程序代码的质量,以减少合并时出现的低级错误。
以下结合图2,图2为本申请实施例所提供的另一种分布式集群的测试方法的流程图。
其具体包括以下步骤:
S201:获取服务器的当前配置数量和任务机的数量要求;
S202:判断当前配置数量是否小于任务机的数量要求;
S203:利用虚拟机创建程序创建与数量要求相同数量的虚拟任务机;
S204:按第二预设规则选定作为任务机的服务器;
以上四步骤旨在判断服务器的当前配置数量是否能够直接满足任务机的数量要求,若满足则直接从当前配置的服务器按第二预设规则选择作为任务机的服务器,若不满足则利用虚拟机创建程度创建出满足数量要求的虚拟任务机。
S205:为任务机池中的所有任务机安装统一且满足测试要求的基础操作系统,并将所有任务机之间配置SSH无密码访问;
S206:为自动化控制节点设置容纳测试任务的任务队列、自动执行脚本库以及待测软件包,并将自动化控制节点和所有任务机之间配置SSH无密码访问;
S205、S206旨在通过为任务机池中的所有任务机安装统一且满足测试要求的基础操作系统,并通过配置SSH无密码访问实现自动化控制节点与各任务机和任务机池中的所有任务机之间能够互访。
S207:从任务机池中任意选取符合测试任务要求数量的任务机作为目标任务机;
本步骤采用了在无特殊要求的情况下,通常选用的任意选择方式。
S208:通过yum源的方式同时将待测软件包下发至目标任务机;
yum是“Yellow dog Updater,Modified”的缩写,是一个软件包管理器,yum从指定的地方(相关网站的RPM包地址或本地的RPM路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题说到yum源就必须说到linux(一种操作系统)系统中特有的依赖关系问题,yum就是为了解决依赖关系而存在的。yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。
YUM的基本工作机制如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP(File Transfer Protocol,文件传输协议)方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。
其中,RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对RPM形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的文件删除干净,因此推荐初学者尽可能使用RPM形式的软件包。
S209:依次执行自动执行脚本中的所有命令,得到每个命令的执行结果;
S210:将所有执行结果记录并生成测试结果日志,并发送测试完成信号;
S211:根据测试完成信号调用初始化程序对目标任务机进行初始化,以为下一次测试做好准备。
基于上述技术方案,本申请实施例提供的一种分布式集群的测试方法,通过自动化控制节点控制任务机池中的任务机根据测试任务搭建起测试集群,并根据测试任务中的待测软件获取相应自动执行脚本,且依次执行该自动执行脚本中的每条测试命令,直至完成所有测试任务后初始化任务机,以为下次测试做好准备。该测试方法不仅可以提高测试执行效率、覆盖一些传统人工测试容易出现的遗漏点,而且通过自动执行脚本的方式提高了测试效率和测试质量,同时也可以提高待测程序代码的质量,以减少合并时出现的低级错误。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到更具本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
下面请参见图3,图3为本申请实施例所提供的一种分布式集群的测试系统的结构框图。
该测试系统可以包括:
参数配置单元100,用于根据基本配置文件配置任务机池中的所有任务机和自动化控制节点,以使所有任务机和自动化控制节点满足测试要求;
任务机选定及下发单元200,用于自动化控制节点根据测试任务按第一预设规则选定目标任务机,并将待测软件包下发至目标任务机;其中,自动化控制节点至少包括测试任务、自动执行脚本库、待测软件包;
测试集群搭建单元300,用于目标任务机利用待测软件包搭建测试集群,并从自动化控制节点获取相应的自动执行脚本;
执行测试及初始化单元400,用于测试集群根据自动执行脚本测试待测软件包中携带的待测软件,得到测试结果,并在测试完成后初始化目标任务机,以便为下一次测试做好准备。
其中,参数配置单元100包括:
任务机配置子单元,用于为任务机池中的所有任务机安装统一且满足测试要求的基础操作系统,并在所有任务机之间配置SSH无密码访问;
自动化控制节点配置子单元,用于为自动化控制节点设置容纳测试任务的任务队列、自动执行脚本库以及待测软件包,并在自动化控制节点和所有任务机之间配置SSH无密码访问。
任务机选定及下发单元200包括:
目标任务机选取子单元,用于从任务机池中任意选取符合测试任务要求数量的任务机作为目标任务机;
待测软件包下发子单元,用于通过yum源的方式同时将待测软件包下发至目标任务机。
执行测试及初始化单元400包括:
命令执行子单元,用于依次执行自动执行脚本中的所有命令,得到每个命令的执行结果;其中,执行结果包括成功执行和未成功执行的执行过程;
日志记录生成子单元,用于将所有执行结果记录并生成测试结果日志,并发送测试完成信号;
初始化子单元,用于根据测试完成信号调用初始化程序对目标任务机进行初始化,以为下一次测试做好准备。
进一步的,该参数配置单元还可以包括:
数量配置获取子单元,用于获取服务器的当前配置数量和任务机的数量要求;
数量要求判断子单元,用于判断当前配置数量是否小于任务机的数量要求;
任务机第一创建子单元,用于利用虚拟机创建程序创建与数量要求相同数量的虚拟任务机;
任务机第二创建子单元,用于按第二预设规则选定作为任务机的服务器。
进一步的,该测试系统还可以包括:
还原点创建单元,用于为自动化控制节点和任务机池中的所有任务机创建还原点,以便发生异常时能够依据该还原点进行快速还原。
报告发送单元,用于在每次测试任务完成后,通过预设路径发送包括测试结果和测试结果日志在内的测试报告。
以上各单元可以应用于以下的一个具体的实际例子中:
第一步:创建任务机池,可以使用虚拟机方式。为任务机安装所需的操作系统,此操作系统为待测特性软件包的基础操作系统。任务机操作系统之间配置SSH密码访问。
第二步:创建自动化控制节点,自动化控制节点上设置任务队列、脚本库、yum源。自动化控制节点与任务机池内的节点同样需要配置SSH无密码访问。
第三步:自动化测试执行人员,在自动化控制节点上提交测试任务,任务执行角色会到队列中读取未执行的任务,然后到任务机池中根据节点配置选取所需任务机并锁定。在锁定的任务机上获取测试脚本,并执行,脚本执行结束后将脚本执行生成的日志上传到指定节点的指定路径下,完成此条任务的执行。一条任务对应的是一条调用脚本,此脚本调用当前模块中的功能测试脚本,每条功能测试脚本有对应的执行日志,同时此调用脚本日志中体现所有功能测试脚本的执行结果,脚本数量,执行时间等信息。
自动化控制节点搭建主要包括以下几个步骤:
(1)创建ssh-key并设置免密信息;
(2)搭建脚本库(Git(一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理)/SVN(Subversion的简称,是一个开放源代码的版本控制系统,采用了分支管理系统,可以理解为用于多个人共同开发同一个项目,共用资源的目的))、yum源,配置任务队列;
(3)将任务机节点上部署特性开发组的待测软件包;
(4)将任务机相关信息写入轻量级数据库中;
(5)使用标记语言书写自动化测试配置文件,指明所需任务节点数量、测试脚本路径;
(6)提交测试任务到任务队列中,以待执行。
执行分布式集群自动化测试方法主要包括以下步骤,可参见图4:
(1)启动自动化控制节点的执行脚本;
(2)执行脚本读取任务队列,并获取到待执行任务信息;
(3)从任务机池中获取所需任务机并锁定;
(4)执行搭建分布式集群脚本,集群角色配置可从任务配置文件中获取
(5)在任务机上获取测试脚本(远程脚本库中);
(6)根据任务配置文件,执行指定测试脚本执行;
(7)脚本执行完毕,上传日志;
(8)以上步骤执行失败,均会进入失败流程,清理集群,上传日志,释放任务机。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种分布式集群的测试方法,其特征在于,包括:
根据基本配置文件配置任务机池中的所有任务机和自动化控制节点,以使所有所述任务机和所述自动化控制节点满足测试要求;其中,所述自动化控制节点和所有所述任务机由服务器配置得到;
根据配置在所述自动化控制节点上的测试任务按第一预设规则从所述任务机池中选定目标任务机,并向所述目标任务机下发待测软件包;其中,所述自动化控制节点的配置内容还包括自动执行脚本库和所述待测软件包;
利用所述目标任务机和下发至所述目标任务机的待测软件包搭建测试集群,并从所述自动执行脚本库中获取与所述待测软件包对应的自动执行脚本;
利用所述自动执行脚本测试所述待测软件包中携带的待测软件,得到测试结果,并在测试完成后初始化所述测试集群,以便为下一次测试做好准备。
2.根据权利要求1所述的测试方法,其特征在于,在根据基本配置文件配置任务机池中的所有任务机和自动化控制节点之前,还包括:
获取所述服务器的当前配置数量和所述任务机的数量要求;
判断所述当前配置数量是否小于所述任务机的数量要求;
若是,利用虚拟机程序配置得到与所述数量要求相同数量的虚拟任务机;
若否,按第二预设规则选定作为所述任务机的服务器。
3.根据权利要求1或2所述的测试方法,其特征在于,根据基本配置文件配置任务机池中的所有任务机和自动化控制节点,以使所有所述任务机和所述自动化控制节点满足测试要求,包括:
为所述任务机池中的所有任务机安装统一且满足所述测试要求的基础操作系统,并将所有所述任务机之间配置SSH无密码访问;
为所述自动化控制节点设置容纳所述测试任务的任务队列、所述自动执行脚本库以及所述待测软件包,并将所述自动化控制节点和所有所述任务机之间配置所述SSH无密码访问。
4.根据权利要求3所述的测试方法,其特征在于,根据配置在所述自动化控制节点上的测试任务按第一预设规则从所述任务机池中选定目标任务机,并向所述目标任务机下发待测软件包,包括:
从所述任务机池中任意选取符合所述测试任务要求数量的任务机作为所述目标任务机;
通过yum源的方式同时将所述待测软件包下发至所述目标任务机。
5.根据权利要求4所述的测试方法,其特征在于,利用所述自动执行脚本测试所述待测软件包中携带的待测软件,得到测试结果,并在测试完成后初始化所述测试集群,以便为下一次测试做好准备,包括:
依次执行所述自动执行脚本中的所有命令,得到每个命令的执行结果;其中,所述执行结果包括成功执行和未成功执行的执行过程;
将所有所述执行结果记录并生成测试结果日志,并发送测试完成信号;
根据所述测试完成信号调用初始化程序对所述目标任务机进行初始化,以为下一次测试做好准备。
6.根据权利要求5所述的测试方法,其特征在于,还包括;
为所述自动化控制节点和所述任务机池中的所有任务机创建还原点,以便发生异常时能够依据该还原点进行快速还原。
7.根据权利要求6所述的测试方法,其特征在于,还包括:
在每次所述测试任务完成后,通过预设路径发送包括所述测试结果和所述测试结果日志在内的测试报告。
8.一种分布式集群的测试系统,其特征在于,包括:
参数配置单元,用于根据基本配置文件配置任务机池中的所有任务机和自动化控制节点,以使所有所述任务机和所述自动化控制节点满足测试要求;
任务机选定及下发单元,用于根据配置在所述自动化控制节点上的测试任务按第一预设规则从所述任务机池中选定目标任务机,并向所述目标任务机下发待测软件包;其中,所述自动化控制节点的配置内容还包括自动执行脚本库和所述待测软件包;
测试集群搭建单元,用于利用所述目标任务机和下发至所述目标任务机的待测软件包搭建测试集群,并从所述自动执行脚本库中获取与所述待测软件包对应的自动执行脚本;
执行测试及初始化单元,用于利用所述自动执行脚本测试所述待测软件包中携带的待测软件,得到测试结果,并在测试完成后初始化所述测试集群,以便为下一次测试做好准备。
9.根据权利要求8所述的测试系统,其特征在于,所述参数配置单元包括:
任务机配置子单元,用于为所述任务机池中的所有任务机安装统一且满足所述测试要求的基础操作系统,并在所有所述任务机之间配置SSH无密码访问;
自动化控制节点配置子单元,用于为所述自动化控制节点设置容纳所述测试任务的任务队列、所述自动执行脚本库以及所述待测软件包,并在所述自动化控制节点和所有所述任务机之间配置所述SSH无密码访问。
10.根据权利要求8或9所述的测试系统,其特征在于,所述执行测试及初始化单元包括:
命令执行子单元,用于依次执行所述自动执行脚本中的所有命令,得到每个命令的执行结果;其中,所述执行结果包括成功执行和未成功执行的执行过程;
日志记录生成子单元,用于将所有所述执行结果记录并生成测试结果日志,并发送测试完成信号;
初始化子单元,用于根据所述测试完成信号调用初始化程序对所述目标任务机进行初始化,以为下一次测试做好准备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710883652.8A CN107608897A (zh) | 2017-09-26 | 2017-09-26 | 一种分布式集群的测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710883652.8A CN107608897A (zh) | 2017-09-26 | 2017-09-26 | 一种分布式集群的测试方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107608897A true CN107608897A (zh) | 2018-01-19 |
Family
ID=61058639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710883652.8A Pending CN107608897A (zh) | 2017-09-26 | 2017-09-26 | 一种分布式集群的测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107608897A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108776604A (zh) * | 2018-05-23 | 2018-11-09 | 网易(杭州)网络有限公司 | 目标任务的执行方法及系统 |
CN108804297A (zh) * | 2018-06-12 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种qat状态控制功能的测试方法及系统 |
CN109358976A (zh) * | 2018-10-24 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种自精简特性测试方法、装置、设备及存储介质 |
CN109508233A (zh) * | 2018-07-27 | 2019-03-22 | 北京中电普华信息技术有限公司 | 一种计算脚本并行处理方法及装置 |
CN109597764A (zh) * | 2018-12-10 | 2019-04-09 | 浪潮(北京)电子信息产业有限公司 | 一种目录配额的测试方法及相关装置 |
CN110633208A (zh) * | 2019-08-22 | 2019-12-31 | 浙江大搜车软件技术有限公司 | 增量代码覆盖率测试方法及系统 |
CN111026656A (zh) * | 2019-11-29 | 2020-04-17 | 浪潮商用机器有限公司 | 分布式存储的自动化测试系统、方法、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799519A (zh) * | 2012-06-07 | 2012-11-28 | 浪潮电子信息产业股份有限公司 | 一种集群文件系统自动化测试方法 |
CN106055486A (zh) * | 2016-08-19 | 2016-10-26 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统的自动化运维方法及平台 |
-
2017
- 2017-09-26 CN CN201710883652.8A patent/CN107608897A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799519A (zh) * | 2012-06-07 | 2012-11-28 | 浪潮电子信息产业股份有限公司 | 一种集群文件系统自动化测试方法 |
CN106055486A (zh) * | 2016-08-19 | 2016-10-26 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统的自动化运维方法及平台 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108776604A (zh) * | 2018-05-23 | 2018-11-09 | 网易(杭州)网络有限公司 | 目标任务的执行方法及系统 |
CN108804297A (zh) * | 2018-06-12 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种qat状态控制功能的测试方法及系统 |
CN109508233A (zh) * | 2018-07-27 | 2019-03-22 | 北京中电普华信息技术有限公司 | 一种计算脚本并行处理方法及装置 |
CN109358976A (zh) * | 2018-10-24 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种自精简特性测试方法、装置、设备及存储介质 |
CN109597764A (zh) * | 2018-12-10 | 2019-04-09 | 浪潮(北京)电子信息产业有限公司 | 一种目录配额的测试方法及相关装置 |
CN110633208A (zh) * | 2019-08-22 | 2019-12-31 | 浙江大搜车软件技术有限公司 | 增量代码覆盖率测试方法及系统 |
CN111026656A (zh) * | 2019-11-29 | 2020-04-17 | 浪潮商用机器有限公司 | 分布式存储的自动化测试系统、方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107608897A (zh) | 一种分布式集群的测试方法及系统 | |
US11132192B2 (en) | Bi-directional communication between change management tool and implementation tools | |
CN107302475A (zh) | 一种面向分布式存储集群的测试方法及装置 | |
Nguyen | Testing applications on the Web: Test planning for Internet-based systems | |
US8677320B2 (en) | Software testing supporting high reuse of test data | |
US8150674B2 (en) | Automated testing platform for event driven systems | |
CN102656557B (zh) | 自动化企业软件开发 | |
CN108369537A (zh) | 启用fpga的计算实例 | |
US9454384B2 (en) | Custom operating system via a web-service | |
US7698293B2 (en) | System and methods for capturing structure of data models using entity patterns | |
US20060156288A1 (en) | Extensible execution language | |
CN107908543A (zh) | 应用程序测试方法、装置、计算机设备及存储介质 | |
CN102722381B (zh) | 优化升级任务的技术 | |
CN107590075A (zh) | 一种软件测试方法及装置 | |
CN105324750A (zh) | 开发环境系统、开发环境装置、开发环境提供方法及程序 | |
US20120117531A1 (en) | Instantiating a Software Development Environment From an Environment Class | |
US6999910B2 (en) | Method and apparatus for implementing a metamethodology | |
CN106873966A (zh) | 一种应用程序开发方法及装置 | |
US7636911B2 (en) | System and methods for capturing structure of data models using entity patterns | |
US20020111840A1 (en) | Method and apparatus creation and performance of service engagement modeling | |
US8402433B2 (en) | Method and system for performing automated transactions using a server-side script-engine | |
US10423398B1 (en) | Automated firmware settings management | |
CN107797845A (zh) | 用于访问容器的方法和装置 | |
US11361055B1 (en) | Protection of a content repository using dynamic watermarking | |
Swaraj | Accelerating DevSecOps on AWS: Create secure CI/CD pipelines using Chaos and AIOps |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180119 |
|
RJ01 | Rejection of invention patent application after publication |