一种ISMCLI命令行测试方法、系统、终端及存储介质与流程

专利2022-06-30  53


本发明涉及分布式存储技术领域,具体涉及一种ismcli命令行测试方法、系统、终端及存储介质。



背景技术:

在分布式存储系统的测试工作中,测试人员一直进行业务功能的黑盒测试工作,并且没有适合as13000海量存储的ismcli命令行测试工具,也不知道如何测试ismcli命令行,更加无法进行更深层次的ismcli命令行测试工作,无法进行更深层次的测试工作,无法覆盖更全面的测试项目,导致无法发现分布式存储系统的ismcli命令行功能问题。



技术实现要素:

针对现有技术的上述不足,本发明提供一种ismcli命令行测试方法、系统、终端及存储介质,以解决上述技术问题。

第一方面,本发明提供一种ismcli命令行测试方法,包括:

利用interactive交互式公共库登录ismcli命令行;

监控ismcli命令行登录时间;

利用测试用例执行所述ismcli命令行;

收集所述ismcli命令行执行过程中生成的测试日志并输出所述测试日志。

进一步的,所述利用interactive交互式公共库登录ismcli命令行,包括:

读取配置文件中的ismcli命令行的登录名和密码;

通过interactive交互式公共库的send命令向测试集群发送登录名与密码;

通过intercative交互式公共库的expect命令获取测试集群返回的登录结果提示,所述登录结果提示包括登录成功提示和登录失败提示。

进一步的,所述监控ismcli命令行登录时间,包括:

从向测试集群发送登录名和密码开始计时并在接收到登录结果提示时停止计时;

判断计时时间是否超过预设的超时阈值:

若是,则判定登录超时,输出登录异常提示。

进一步的,所述利用测试用例执行所述ismcli命令行,包括:

根据ismcli命令行的命令依赖关系将命令执行顺序写入测试用例;

所述测试用例根据所述命令执行顺序依次生成命令执行指令,将所述命令执行指令通过interactive交互式公共库的send命令下发至测试集群,控制所述测试集群调用ismcli命令行的相应命令。

进一步的,在所述收集ismcli命令行执行过程中生成的测试数据之前,所述方法还包括:

根据命令行规范文档中对执行命令的正常结果的描述,利用interactive交互式公共库的expect命令,获取执行命令的返回值;

将所述执行命令的返回值写入测试日志。

第二方面,本发明提供一种ismcli命令行测试系统,包括:

远程登录单元,配置用于利用interactive交互式公共库登录ismcli命令行;

登录监控单元,配置用于监控ismcli命令行登录时间;

命令执行单元,配置用于利用测试用例执行所述ismcli命令行;

结果输出单元,配置用于收集所述ismcli命令行执行过程中生成的测试日志并输出所述测试日志。

进一步的,所述远程登录单元包括:

信息读取模块,配置用于读取配置文件中的ismcli命令行的登录名和密码;

信息发送模块,配置用于通过interactive交互式公共库的send命令向测试集群发送登录名与密码;

信息捕获模块,配置用于通过intercative交互式公共库的expect命令获取测试集群返回的登录结果提示,所述登录结果提示包括登录成功提示和登录失败提示。

进一步的,所述命令执行单元包括:

顺序设置模块,配置用于根据ismcli命令行的命令依赖关系将命令执行顺序写入测试用例;

指令下发模块,配置用于所述测试用例根据所述命令执行顺序依次生成命令执行指令,将所述命令执行指令通过interactive交互式公共库的send命令下发至测试集群,控制所述测试集群调用ismcli命令行的相应命令。

第三方面,提供一种终端,包括:

处理器、存储器,其中,

该存储器用于存储计算机程序,

该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明的有益效果在于,

本发明提供的ismcli命令行测试方法、系统、终端及存储介质,通过利用interactive交互式公共库对测试集群的ismcli命令行进行远程登录,并在完成登录后利用测试用例执行ismcli命令行,然后收集ismcli命令行执行过程中生成的测试日志并输出测试日志。本发明可以使对分布式存储产品的测试不止局限在黑盒的页面功能测试,使测试人员能够对分布式存储产品的ismcli命令行层进行可视化测试,从而扩展了测试工作的范围,加深了测试工作的深度,让存储产品测试更充分,更全面,进一步保障分布式存储产品的质量。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

附图说明

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

图1是本发明一个实施例的方法的示意性流程图。

图2是本发明一个实施例的系统的示意性框图。

图3为本发明实施例提供的一种终端的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

下面对本发明中出现的关键术语进行解释。

interactive交互式公共库:命令行交互式客户端工具,具有建立连接和查询访问的基础功能。

图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种ismcli命令行测试系统。

如图1所示,该方法100包括:

步骤110,利用interactive交互式公共库登录ismcli命令行;

步骤120,监控ismcli命令行登录时间;

步骤130,利用测试用例执行所述ismcli命令行;

步骤140,收集所述ismcli命令行执行过程中生成的测试日志并输出所述测试日志。

为了便于对本发明的理解,下面以本发明ismcli命令行测试方法的原理,结合实施例中对ismcli命令行进行测试的过程,对本发明提供的ismcli命令行测试方法做进一步的描述。

具体的,所述ismcli命令行测试方法包括:

s1、利用interactive交互式公共库登录ismcli命令行。

在配置文件中写入测试集群的ismcli命令行登录名和密码。执行登录时,首先读取配置文件中的ismcli功能的登陆名与密码。然后通过interactive交互式公共库的send命令,向远程测试集群发送登录名与密码。发送完成后,利用intercative交互式公共库的expect命令捕获测试集群返回的登录结果提示,所述登录结果提示包括登录成功提示和登录失败提示信息,登陆成功返回:>>as13000登陆失败返回:loginfailed。保持本次登录的token信息。

s2、监控ismcli命令行登录时间。

根据ismcli功能的60秒超时机制设置登录超时阈值为60秒。从向测试集群发送登录名和密码开始计时并在接收到登录结果提示时停止计时,判断计时时间是否超过60秒,若是超过60秒则判定登录超时,并输出登录异常提示;若是未超过60秒,则继续等待。

s3、利用测试用例执行所述ismcli命令行。

根据ismcli命令行的命令依赖关系将命令执行顺序写入测试用例,例如:首先执行icfs-admin-pool–create–poolnamepool1命令创建存储池pool1,在step1创建存储pool1成功后,可以将pool1名称进行持久化处理,然后传给icfs-admin-pool–delete–poolnamepool1来执行存储池删除操作,来测试存储池删除功能是否正常;也可以再传入icfs-admin-pool--query-list来进行存储池查询,查看pool1是否已经不在查询结果中,从而判断查询功能是否正常。也可以对多条命令组成的某个功能业务(如:存储池管理功能、快照恢复功能、配额功能等)进行测试。根据用户的命令之间的依赖关系和用户测试需求设置命令执行顺序。

测试用例执行时,根据命令执行顺序依次生成命令执行指令,将生成的命令执行指令按生成顺序依次通过interactive交互式公共库的send命令下发至测试集群,在测试集群生成一个待执行的命令执行指令队列,测试集群执行该队列的指令,依次调用ismcli命令行的相应命令。调用ismcli命令行的相应命令例如:通过ismcli命令行测试平台,使用send命令,向远程集群,传入被测命令行,如icfs-admin-pool–create–poolnamepool1创建存储池pool1,根据命令行规范文档中对该命令正常结果的描述,使用expect命令,获取返回值。如果返回值为:successfully则该命令行执行成功。如果返回值结果为error则该命令行执行失败。将每个命令执行的返回值写入测试日志。

s4、收集所述ismcli命令行执行过程中生成的测试日志并输出所述测试日志。

通过关键词(如error)查找对测试日志进行筛选,筛选测试日志的错误信息(如登录异常、某个命令的返回值为失败),若测试日志没有错误信息,则输出测试通过提示,若测试日志有错误信息,则将错误信息输出,便于测试人员快速定位异常命令。

如图2示,该系统200包括:

远程登录单元210,配置用于利用interactive交互式公共库登录ismcli命令行;

登录监控单元220,配置用于监控ismcli命令行登录时间;

命令执行单元230,配置用于利用测试用例执行所述ismcli命令行;

结果输出单元240,配置用于收集所述ismcli命令行执行过程中生成的测试日志并输出所述测试日志。

可选地,作为本发明一个实施例,所述远程登录单元包括:

信息读取模块,配置用于读取配置文件中的ismcli命令行的登录名和密码;

信息发送模块,配置用于通过interactive交互式公共库的send命令向测试集群发送登录名与密码;

信息捕获模块,配置用于通过intercative交互式公共库的expect命令获取测试集群返回的登录结果提示,所述登录结果提示包括登录成功提示和登录失败提示。

可选地,作为本发明一个实施例,所述登录监控单元包括:

计时模块,配置用于从向测试集群发送登录名和密码开始计时并在接收到登录结果提示时停止计时;

判断模块,配置用于判断计时时间是否超过预设的超时阈值;

提示模块,配置用于若计时时间超过预设的超时阈值,则判定登录超时,输出登录异常提示。

可选地,作为本发明一个实施例,所述命令执行单元包括:

顺序设置模块,配置用于根据ismcli命令行的命令依赖关系将命令执行顺序写入测试用例;

指令下发模块,配置用于所述测试用例根据所述命令执行顺序依次生成命令执行指令,将所述命令执行指令通过interactive交互式公共库的send命令下发至测试集群,控制所述测试集群调用ismcli命令行的相应命令。

图3为本发明实施例提供的一种终端系统300的结构示意图,该终端系统300可以用于执行本发明实施例提供的ismcli命令行测试方法。

其中,该终端系统300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。

处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器310可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。

通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

因此,本发明通过利用interactive交互式公共库对测试集群的ismcli命令行进行远程登录,并在完成登录后利用测试用例执行ismcli命令行,然后收集ismcli命令行执行过程中生成的测试日志并输出测试日志。本发明可以使对分布式存储产品的测试不止局限在黑盒的页面功能测试,使测试人员能够对分布式存储产品的ismcli命令行层进行可视化测试,从而扩展了测试工作的范围,加深了测试工作的深度,让存储产品测试更充分,更全面,进一步保障分布式存储产品的质量,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。


技术特征:

1.一种ismcli命令行测试方法,其特征在于,包括:

利用interactive交互式公共库登录ismcli命令行;

监控ismcli命令行登录时间;

利用测试用例执行所述ismcli命令行;

收集所述ismcli命令行执行过程中生成的测试日志并输出所述测试日志。

2.根据权利要求1所述的方法,其特征在于,所述利用interactive交互式公共库登录ismcli命令行,包括:

读取配置文件中的ismcli命令行的登录名和密码;

通过interactive交互式公共库的send命令向测试集群发送登录名与密码;

通过intercative交互式公共库的expect命令获取测试集群返回的登录结果提示,所述登录结果提示包括登录成功提示和登录失败提示。

3.根据权利要求2所述的方法,其特征在于,所述监控ismcli命令行登录时间,包括:

从向测试集群发送登录名和密码开始计时并在接收到登录结果提示时停止计时;

判断计时时间是否超过预设的超时阈值:

若是,则判定登录超时,输出登录异常提示。

4.根据权利要求1所述的方法,其特征在于,所述利用测试用例执行所述ismcli命令行,包括:

根据ismcli命令行的命令依赖关系将命令执行顺序写入测试用例;

所述测试用例根据所述命令执行顺序依次生成命令执行指令,将所述命令执行指令通过interactive交互式公共库的send命令下发至测试集群,控制所述测试集群调用ismcli命令行的相应命令。

5.根据权利要求1或4所述的方法,其特征在于,在所述收集ismcli命令行执行过程中生成的测试数据之前,所述方法还包括:

根据命令行规范文档中对执行命令的正常结果的描述,利用interactive交互式公共库的expect命令,获取执行命令的返回值;

将所述执行命令的返回值写入测试日志。

6.一种ismcli命令行测试系统,其特征在于,包括:

远程登录单元,配置用于利用interactive交互式公共库登录ismcli命令行;

登录监控单元,配置用于监控ismcli命令行登录时间;

命令执行单元,配置用于利用测试用例执行所述ismcli命令行;

结果输出单元,配置用于收集所述ismcli命令行执行过程中生成的测试日志并输出所述测试日志。

7.根据权利要求6所述的系统,其特征在于,所述远程登录单元包括:

信息读取模块,配置用于读取配置文件中的ismcli命令行的登录名和密码;

信息发送模块,配置用于通过interactive交互式公共库的send命令向测试集群发送登录名与密码;

信息捕获模块,配置用于通过intercative交互式公共库的expect命令获取测试集群返回的登录结果提示,所述登录结果提示包括登录成功提示和登录失败提示。

8.根据权利要求6所述的系统,其特征在于,所述命令执行单元包括:

顺序设置模块,配置用于根据ismcli命令行的命令依赖关系将命令执行顺序写入测试用例;

指令下发模块,配置用于所述测试用例根据所述命令执行顺序依次生成命令执行指令,将所述命令执行指令通过interactive交互式公共库的send命令下发至测试集群,控制所述测试集群调用ismcli命令行的相应命令。

9.一种终端,其特征在于,包括:

处理器;

用于存储处理器的执行指令的存储器;

其中,所述处理器被配置为执行权利要求1-5任一项所述的方法。

10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的方法。

技术总结
本发明提供一种ISMCLI命令行测试方法、系统、终端及存储介质,包括:利用interactive交互式公共库登录ISMCLI命令行;监控ISMCLI命令行登录时间;利用测试用例执行所述ISMCLI命令行;收集所述ISMCLI命令行执行过程中生成的测试日志并输出所述测试日志。本发明可以使对分布式存储产品的测试不止局限在黑盒的页面功能测试,使测试人员能够对分布式存储产品的ISMCLI命令行层进行可视化测试,从而扩展了测试工作的范围,加深了测试工作的深度,让存储产品测试更充分,更全面,进一步保障分布式存储产品的质量。

技术研发人员:吴昊
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2020.01.18
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-58814.html

最新回复(0)