一种遍历测试命令生成方法及装置制造方法及图纸

技术编号:17837401 阅读:49 留言:0更新日期:2018-05-03 19:09
本申请提供一种遍历测试命令生成方法,其特征在于,任一待测试命令i由ni个命令片段构成,且ni≥1,所述方法包括:在未指定联想依据的情况下,调用系统内置联想功能,获得第一命令片段集合,所述第一命令片段集合包括:所有可能在待测试命令第一个命令片段位置出现的命令片段;针对第一命令片段集合中的每个命令片段,分别以该命令片段为根节点,调用系统内置联想功能,生成联想片段树,在联想片段树中,任一非根节点所对应的命令片段,均以其所有祖先节点对应命令片段所构成的序列为联想依据;遍历各联想片段树,得到任一根节点至任一叶子节点所形成的有向路径,并根据各有向路径对应的命令片段序列生成待测试命令。

A method and device for ergodic test command generation

The present application provides a method of ergodic test command generation, which is characterized by that any of the test commands I is composed of Ni command segments, and Ni is equal to 1, and the method includes: in the case of unspecified association basis, the system has built-in associative functions in the system, and the first command fragment collection is obtained, and the first command fragment collection includes A command fragment that may occur at the position of the first command fragment in the test command; for each command fragment in the first command fragment set, the command fragment is used as the root node, and the system is called the association function, the association fragment tree is generated, and the command corresponding to any non root node in the associative fragment tree. All of the sequences formed by the corresponding command segments of all their ancestral nodes are associative, traversing each association tree to get the directed path formed by any root node to any leaf node, and generate the orders to be tested according to the sequence of commands corresponding to the directed paths.

【技术实现步骤摘要】
一种遍历测试命令生成方法及装置
本申请涉及计算机
,特别涉及一种遍历测试命令生成方法及装置。
技术介绍
CLI(CommandLineInterface,命令行界面)是指用户可以通过键入命令行的方式操作软件的界面,设备执行命令行时,根据命令行中的不同命令将得到不同的执行结果。由于CLI具有操作速度快、节约系统资源、功能强大、扩充方便等优点,许多应用软件都可以通过CLI模式操作。在对这类软件进行功能测试前,需要对软件在CLI中的命令的有效性进行测试,例如,在软件更新版本后,遍历执行新版本中的所有命令,验证更新后的软件版本中所有命令的有效性,从而在新版本投入使用之前,及时准确地发现无效的命令。现有技术中,在测试命令的有效性时,可以人为地确定软件在CLI中的命令,并进行测试,以保证能够遍历测试所有命令。但是,开发人员在进行开发时,会设定不同的可执行命令,并且可能会在版本更新时,对命令进行新增、修改和删除等更新,因此,不同软件的命令存在差异,同一软件的不同版本的命令也可能存在差异,在对软件的命令进行测试时,人为地确定软件在CLI中的命令会耗费大量的人力及时间。
技术实现思路
有鉴于此,本申请提供本申请提供一种遍历测试命令生成方法及装置,技术方案如下:一种遍历测试命令生成方法,其特征在于,任一待测试命令i由ni个命令片段构成,且ni≥1,所述方法包括:在未指定联想依据的情况下,调用系统内置联想功能,获得第一命令片段集合,所述第一命令片段集合包括:所有可能在待测试命令第一个命令片段位置出现的命令片段;针对第一命令片段集合中的每个命令片段,分别以该命令片段为根节点,调用系统内置联想功能,生成联想片段树,在联想片段树中,任一非根节点所对应的命令片段,均以其所有祖先节点对应命令片段所构成的序列为联想依据;任一叶子节点均为无法继续生成联想结果的节点;遍历各联想片段树,得到任一根节点至任一叶子节点所形成的有向路径,并根据各有向路径对应的命令片段序列生成待测试命令。一种遍历测试命令生成装置,其特征在于,任一待测试命令i由ni个命令片段构成,且ni≥1,所述装置包括:第一命令片段联想模块,用于在未指定联想依据的情况下,调用系统内置联想功能,获得第一命令片段集合,所述第一命令片段集合包括:所有可能在待测试命令第一个命令片段位置出现的命令片段;联想片段树生成模块,用于针对第一命令片段集合中的每个命令片段,分别以该命令片段为根节点,调用系统内置联想功能,生成联想片段树,在联想片段树中,任一非根节点所对应的命令片段,均以其所有祖先节点对应命令片段所构成的序列为联想依据;任一叶子节点均为无法继续生成联想结果的节点;待测试命生成模块,用于遍历各联想片段树,得到任一根节点至任一叶子节点所形成的有向路径,并根据各有向路径对应的命令片段序列生成待测试命令。本申请所提供的技术方案,可以通过调用系统内置的联想功能,完成组成一条命令的各个命令片段之间的自动联想,生成命令的联想片段树,并按照生成的树中从根节点到叶子节点的有向路径,生成待测试的命令,从而可以在不耗费大量的人力及时间的情况下,进行命令遍历测试,及时准确地发现无效的命令,避免出现无效命令导致的设备死机等问题。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。此外,本申请中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本申请的遍历测试命令生成方法的流程示意图;图2是本申请的遍历测试命令生成装置的结构示意图;图3是本申请的联想片段树生成模块的结构示意图;图4是本申请的删除单元的结构示意图;图5是本申请的遍历测试命令生成装置的另一结构示意图。具体实施方式为了使本领域技术人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。首先,对本专利技术实施例的遍历测试命令生成方法进行说明,其中,任一待测试命令i由ni个命令片段构成,且ni≥1,即可以通过CLI执行的每一条待测试命令,都是由至少一个命令片段构成,例如“showiprouteA.B.C.D”这条命令,如果通过空格划分,则该条命令是由“show”、“ip”、“route”和“A.B.C.D”四个命令片段构成。对于不同的系统,命令行的语法也可能并不相同,对应地可以采用不同的命令片段划分标准,以实现命令片段之间的联想,本申请所提供的基本方案理论上并不需要对此进行限定。参见图1所示,本专利技术实施例的遍历测试命令生成方法可以包括以下步骤:S101,在未指定联想依据的情况下,调用系统内置联想功能,获得第一命令片段集合,所述第一命令片段集合包括:所有可能在待测试命令第一个命令片段位置出现的命令片段;对于由两个或更多命令片段组成的每条待测试命令,通过命令中的各个命令片段之间的相互关联,可以实现多次的联想,直至组成一条完整的待测试命令。而为了尽可能地生成软件在CLI中的所有待测试命令,首先需要确定每条待测试命令的第一个命令片段,从而依次联想出后面的命令片段。因此,在没有联想依据——前一个命令片段——的情况下,通过调用系统内置的联想功能,获得所有可能在待测试命令的第一个命令片段位置出现的命令片段,例如,在某些系统中,在CLI中键入“?”,CLI将自动列出所有可能的首个命令片段。S102,针对第一命令片段集合中的每个命令片段,分别以该命令片段为根节点,调用系统内置联想功能,生成联想片段树,在联想片段树中,任一非根节点所对应的命令片段,均以其所有祖先节点对应命令片段所构成的序列为联想依据;任一叶子节点均为无法继续生成联想结果的节点;在S101中,通过调用系统内置的联想功能,可以在没有联想依据的情况下,得到第一命令片段集合,接下来就可以继续通过调用系统内置的联想功能,以第一命令片段集合中的每个命令片段为一个根节点,逐级联想生成各级节点直到叶子节点,最终得到每个根节点对应的完整的联想片段树。在S101中得到各个根节点的联想是没有联想依据的,而在由各个根节点逐级联想生成树的过程中,对每个节点的联想都是有联想依据的,例如,在没有联想依据的情况下,得到了一个第一命令片段“show”,以此为根节点生成联想片段树时,首先就以“show”为联想依据,可能会得到“ip”、“mac”、“ipv6”等多个新的命令片段,即根节点的第一级子节点,之后,第二级子节点的联想依据分别为“showip”、“showmac”、“showipv6”,即以其祖先节点对应的命令片段所构成的序列为联想依据,类似地,逐级联想直到得到叶子节点,也就是无法继续生成联想结果的节点,即完成了整个联想片段树的联想生成过程。S103,遍历各联想片段树,得到任一根节点至任一叶子节点所形成的有向路径,并根据各有向路径对应的命令片段序列生成待测试命令。根据得到的所有第一本文档来自技高网...
一种遍历测试命令生成方法及装置

【技术保护点】
一种遍历测试命令生成方法,其特征在于,任一待测试命令i由ni个命令片段构成,且ni≥1,所述方法包括:在未指定联想依据的情况下,调用系统内置联想功能,获得第一命令片段集合,所述第一命令片段集合包括:所有可能在待测试命令第一个命令片段位置出现的命令片段;针对第一命令片段集合中的每个命令片段,分别以该命令片段为根节点,调用系统内置联想功能,生成联想片段树,在联想片段树中,任一非根节点所对应的命令片段,均以其所有祖先节点对应命令片段所构成的序列为联想依据;任一叶子节点均为无法继续生成联想结果的节点;遍历各联想片段树,得到任一根节点至任一叶子节点所形成的有向路径,并根据各有向路径对应的命令片段序列生成待测试命令。

【技术特征摘要】
1.一种遍历测试命令生成方法,其特征在于,任一待测试命令i由ni个命令片段构成,且ni≥1,所述方法包括:在未指定联想依据的情况下,调用系统内置联想功能,获得第一命令片段集合,所述第一命令片段集合包括:所有可能在待测试命令第一个命令片段位置出现的命令片段;针对第一命令片段集合中的每个命令片段,分别以该命令片段为根节点,调用系统内置联想功能,生成联想片段树,在联想片段树中,任一非根节点所对应的命令片段,均以其所有祖先节点对应命令片段所构成的序列为联想依据;任一叶子节点均为无法继续生成联想结果的节点;遍历各联想片段树,得到任一根节点至任一叶子节点所形成的有向路径,并根据各有向路径对应的命令片段序列生成待测试命令。2.根据权利要求1所述的方法,其特征在于,所述针对第一命令片段集合中的每个命令片段,分别以该命令片段为根节点,调用系统内置联想功能,生成联想片段树,包括:针对第一命令片段集合中的每个命令片段,分别以该命令片段为根节点,调用系统内置联想功能,生成各级子节点;生成所述各级子节点中的每一级子节点时,删除符合预设规则的子节点;根据所述根节点及所生成的各级子节点,生成联想片段树。3.根据权利要求2所述的方法,其特征在于,所述生成所述各级子节点中的每一级子节点时,删除符合预设规则的子节点,包括:生成所述各级子节点中的每一级子节点时,将所述每一级子节点中的各子节点与其父节点比较;在所述各子节点中存在与其父节点相同的子节点的情况下,删除所述相同的子节点。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述有向路径对应的命令片段序列中,存在不可直接生成待测试命令的目标命令片段的情况下,根据预设规则生成所述目标命令片段对应的待测试片段;使用所生成的待测试片段替换对应的目标命令片段。5.一种遍历测试命令生成装...

【专利技术属性】
技术研发人员:张美
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1