一种分布式存储系统的测试方法和装置与流程

文档序号:20917482发布日期:2020-05-29 13:43阅读:127来源:国知局
一种分布式存储系统的测试方法和装置与流程

本发明涉及测试技术领域,具体来说,涉及一种分布式存储系统的测试方法和装置。



背景技术:

现有的系统测试一般是通过手动测试的方法来实现的,该手动测试的方法是通过测试人员手动执行测试用例,然后观察测试对象是否达到了测试预期。

但是,由于该手动测试的方法是需要测试人员逐条手动执行测试用例的,因此,其至少存在着测试速度慢、人力成本高和回归测试困难的问题。

针对相关技术中的问题,目前尚未提出有效的解决方案。



技术实现要素:

针对相关技术中的问题,本发明提出一种分布式存储系统的测试方法和装置。

本发明的技术方案是这样实现的:

根据本发明的一个方面,提供了一种分布式存储系统的测试方法,该方法包括:获取测试指令;根据测试指令,读取分布式存储系统的配置文件,得到分布式存储系统的环境信息;根据预设的测试脚本和分布式存储系统的环境信息,对分布式存储系统进行测试。

可选地,分布式存储系统的环境信息包括节点信息,节点信息包括分布式存储系统中的linux节点和windows节点通过远程过程调用xml-rpc协议进行通信。

可选地,预设的测试脚本是根据测试指令来读取测试脚本路径/名称列表得到的。

可选地,测试方法还包括:输出测试日志,保留测试脚本运行过程和环境信息;根据测试脚本的运行信息,确定测试脚本的执行信息。

可选地,测试方法还包括:将测试脚本的执行信息上传到测试用例管理系统testlink。

根据本发明的另一方面,提供了一种分布式存储系统的测试装置,该装置包括:获取模块,用于获取测试指令;读取模块,用于根据测试指令,读取分布式存储系统的配置文件,得到分布式存储系统的环境信息;测试模块,用于根据预设的测试脚本和分布式存储系统的环境信息,对分布式存储系统进行测试。

可选地,分布式存储系统的环境信息包括节点信息,节点信息包括分布式存储系统中的linux节点和windows节点通过远程过程调用xml-rpc协议进行通信。

可选地,预设的测试脚本是根据测试指令来读取测试脚本路径/名称列表得到的。

可选地,测试装置还包括:读取模块,还用于输出测试日志,保留测试脚本运行过程和环境信息;确定模块,用于根据测试脚本的运行信息,确定测试脚本的执行信息。

可选地,测试装置还包括:上传模块,用于将测试脚本的执行信息上传到测试用例管理系统testlink。

本发明通过获取测试指令,以及根据测试指令,读取分布式存储系统的配置文件,得到分布式存储系统的环境信息,最后根据预设的测试脚本和分布式存储系统的环境信息,对分布式存储系统进行测试,从而相比于现有的手动测试的方法,其能够极大的提高测试效率、降低人力成本,以及还能够缩短分布式存储系统的研发周期。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明提供的分布式存储系统的测试方法的流程图;

图2示出了本发明提供的一种分布式存储系统的测试方法的具体流程图;

图3示出了本发明提供的一种分布式存储系统的测试装置的框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。

现有的测试方法除了手动测试的方法之外,还包括自动测试的方法。该自动测试的方法是通过自动化测试工具来自动执行测试用例,且执行过程中不需要人员的干预。

其中,现有的自动化测试工具有qtp(quicktestprofessional,自动测试工具)、testcomplete(支持自动测试软件的工具)、autorunner(黑盒测试工具)和robotframework(功能自动化测试框架)等。

但是,现有的自动化测试工具多数是以gui(graphicaluserinterface,图形用户界面)、接口为测试对象来进行测试的。但是,由于分布式存储系统的特点是具有多个存储服务节点,且每个节点都是对称的,也就是说,测试代码不止对一个节点进行测试,需要同时测试多个节点。以及,存储系统的测试对象也不是gui和接口,主要是对数据存储和存储系统的状态进行测试。因此,现有的测试工具都不适用于以上两点,即这些测试工具并不适用于分布式存储系统的测试。

根据本发明的实施例,提供了一种分布式存储系统的测试方法。

如图1所示,图1示出了本发明提供的分布式存储系统的测试方法的流程图。如图1所示的方法包括:

步骤s110,获取测试指令。

步骤s120,根据测试指令,读取分布式存储系统的配置文件,得到分布式存储系统的环境信息。

步骤s130,根据预设的测试脚本和分布式存储系统的环境信息,对分布式存储系统进行测试。

通过本发明的上述方案,通过获取测试指令,以及根据测试指令,读取分布式存储系统的配置文件,得到分布式存储系统的环境信息,最后根据预设的测试脚本和分布式存储系统的环境信息,对分布式存储系统进行测试,从而相比于现有的手动测试的方法,其能够极大的提高测试效率、降低人力成本,以及还能够缩短分布式存储系统的研发周期。

为了便于理解本发明的技术方案,下面通过具体的实施例来进行描述。

如图2所示,图2示出了本发明提供的一种分布式存储系统的测试方法的具体流程图。该方法包括如下步骤:

步骤s210,获取测试指令。

具体地,该测试工具可获取用户输入的测试指令,该测试指令为对分布式存储系统的测试指令。

此外,该测试指令对应的测试功能可根据实际需求来进行设置。例如,该测试指令对应的测试功能可以是对分布式存储的状态进行测试。

步骤s220,根据测试指令,读取分布式存储系统的配置文件,得到分布式存储系统的环境信息。

具体地,用户可将分布式存储系统的信息填写到配置文件中,从而后续,该测试工具可根据测试指令,来从配置文件中获取分布式存储系统的环境信息。

此外,该分布式存储的信息可包括节点信息,其中,该节点信息可以包括节点的存储状态和不同节点之间的通信状况。该节点信息的具体信息可根据实际需求来进行设置。

例如,对于测试对象是分布式存储系统的,其所要解决的问题之一是多节点之间的交互。对于分布式存储系统中的节点的操作系统是不同的,本发明的测试工具可采用如下方法来进行处理:

对于分布式存储系统的多节点的操作系统都是linux操作系统的,节点之间可采用ssh(secureshell,安全外壳协议)协议进行交互。也就是说,节点信息包括分布式存储系统中的linux节点之间通过ssh协议进行通信,其中,linux节点是操作系统为linux系统的节点;

对于分布式存储系统的多节点的操作系统包括linux操作系统和windows操作系统的,linux节点和windows节点之间可采用xml-rpc(xmlremoteprocedurecall,远程过程调用)协议进行交互。也就是说,节点信息包括分布式存储系统中的linux节点和windows节点通过远程过程调用xml-rpc协议进行通信。其中,windows节点是操作系统为windows系统的节点。

此外,ssh协议和xml-rpc协议均在工具内都封装有接口,使用工具时直接调用接口即可,无需关心协议的实现方式,从而方便了测试人员写自动化的测试脚本。

此外,该配置文件可采用xml的文件格式,从而可通过解析xml文件来获取上述环境信息。

另外,环境信息除了包括节点信息之外,还可包括其他的信息。

步骤s230,根据测试指令读取测试脚本路径/名称列表,得到预设的测试脚本。

具体地,用户可将本次需要执行的测试脚本的序号填写到测试脚本表中,从而后续测试工具可通过读取测试脚本表,来获取本次运行的测试脚本表中的预设的测试脚本。

此外,除了上述通过测试脚本表的方式来获取预设的测试脚本之外,还可通过其它的方式来获取预先获取的测试脚本。

步骤s240,根据预设的测试脚本和分布式存储系统的环境信息,对分布式存储系统进行测试。

具体地,该测试工具可通过分布式存储系统的环境信息,确定分布式存储系统的环境。以及,基于分布式存储系统的环境,并利用预设的测试脚本来对分布式存储系统进行测试。

步骤s250,在测试脚本的运行过程中,实时的记录测试脚本的日志。

步骤s260,输出测试日志,保留测试脚本运行过程和环境信息。

具体地,可确定测试脚本是否运行成功。在测试脚本运行成功的情况下,可通过测试日志记录测试脚本的运行成功的结果。以及,在测试脚本没有运行成功的情况下,也可通过测试日志记录测试脚本的未运行成功的结果。

此外,由于测试日志记录有测试脚本的运行信息,从而可通过测试脚本的运行信息,确定测试脚本的执行信息

步骤s270,确定是否执行下一个测试脚本。在确定执行下一个测试脚本的情况下,返回至步骤s240。在确定不需要执行下一个测试脚本的情况下,执行步骤s280。

步骤s280,将所述测试脚本的执行信息上传到测试用例管理系统testlink。

具体地,testlink是测试用例管理系统,所有的测试用例在testlink上进行管理。从而,在自动化测试完成后,可把测试脚本的执行结果上传到testlink上对应的用例的信息中。进而,后续测试人员可以在testlink上直接观察到用例的执行情况。

此外,本发明可以很好的兼容当前主流的存储性能测试工具。例如,vdbench、mdtest、iozone等。在本发明的测试工具中封装了调用这些工具的接口,使用时调用接口即可。

另外,相对于现有的自动化测试方法,本发明的测试方式更适用于多节点的存储系统的测试,并且可以完全覆盖存储系统的所有测试内容。

根据本发明的实施例,还提供了一种分布式存储系统的测试装置。

如图3所示,图3示出了本发明提供的一种分布式存储系统的测试装置的框图。如图3所示的装置包括:

获取模块310,用于获取测试指令;

读取模块320,用于根据测试指令,读取分布式存储系统的配置文件,得到分布式存储系统的环境信息;

测试模块330,用于根据预设的测试脚本和分布式存储系统的环境信息,对分布式存储系统进行测试。

可选地,分布式存储系统的环境信息包括节点信息,节点信息包括分布式存储系统中的linux节点和windows节点通过远程过程调用xml-rpc协议进行通信。

可选地,预设的测试脚本是根据测试指令来读取测试脚本路径/名称列表得到的。

可选地,读取模块320,还用于输出测试日志,保留测试脚本运行过程和环境信息;确定模块(未示出),用于根据测试脚本的运行信息,确定测试脚本的执行信息。

可选地,上传模块(未示出),用于将测试脚本的执行信息上传到测试用例管理系统testlink。

此外,图3所示的装置与图1或者图2中的方法对应,具体可参见集群方法实施例的相关描述,在此不再赘述。

综上所述,通过获取测试指令,以及根据测试指令,读取分布式存储系统的配置文件,得到分布式存储系统的环境信息,最后根据预设的测试脚本和分布式存储系统的环境信息,对分布式存储系统进行测试,从而相比于现有的手动测试的方法,其能够极大的提高测试效率、降低人力成本,以及还能够缩短分布式存储系统的研发周期。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1