一种交换机自动化测试方法及装置制造方法及图纸

技术编号:30321905 阅读:11 留言:0更新日期:2021-10-09 23:46
本申请实施例公开了一种交换机自动化测试方法及装置,方法包括:响应于接收到的交换机测试参数,确定交换机的测试用例集;基于交换机软件版本路径,获取需要测试的交换机软件版本;基于测试用例集以及交换机软件版本,构建Jenkins测试任务;实时获取Jenkins测试任务的状态信息并实时显示在前端界面上。解决了直接使用Jenkins工具对交换机进行测试会增加操作人员的学习成本、降低软件测试质量的技术问题。可以降低平台使用者的使用门槛,减少平台使用者的学习成本。使用者的学习成本。使用者的学习成本。

【技术实现步骤摘要】
一种交换机自动化测试方法及装置


[0001]本申请涉及软件测试领域,尤其涉及一种交换机自动化测试方法及装置。

技术介绍

[0002]软件测试是一个在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。在一些大型软件开发过程中,测试活动需要花费大量的时间和成本,如果用手工测试,测试的效率非常低,而测试工具可以进行部分的测试设计、实现、执行和比较的工作。通过运用测试工具,可以达到提高测试效率的目的。
[0003]Jenkins工具是目前流行的自动化持续集成管理工具,内部集成非常丰富的插件管理工具Gitlab、python、shell等。但是由于其操作和环境部署的复杂性,对操作人员及管理员都有一定的学习成本和维护成本,操作人员需要花费大量的时间和精力学习如何操作Jenkins工具,而不能专注于分析测试报告与测试数据。并且依赖于人工创建Jenkins交换机任务、选择测试用例集以及编写测试脚本,也会有操作出错的风险,降低软件测试的质量。

技术实现思路

[0004]本申请实施例提供了一种交换机自动化测试方法及装置,用于解决如下技术问题:直接使用Jenkins工具对交换机进行测试会增加操作人员的学习成本、降低软件测试质量。
[0005]本申请实施例采用下述技术方案:
[0006]一方面,本申请实施例提供了一种交换机自动化测试方法,方法包括:响应于接收到的交换机测试参数,确定交换机的测试用例集;基于交换机软件版本的存储路径,获取需要测试的交换机软件版本;基于所述测试用例集以及所述交换机软件版本,构建Jenkins测试任务;实时获取所述Jenkins测试任务的状态信息并实时显示。
[0007]在一种可行的实施方式中,所述响应于接收到的交换机测试参数,确定交换机测试用例集,具体包括:基于树形数据结构,将交换机软件中的所有功能模块组装为树形结构;其中,每一个功能模块对应所述树形结构中的一个节点;通过数字下标标记所述树形结构中的每个节点;基于所述交换机测试参数,在所述树形结构中查找对应的节点,以获取需要测试的若干功能模块的名称;其中,所述交换机测试参数包括一个或多个所述数字下标;将所述需要测试的若干功能模块的名称组合为所述交换机的测试用例集。
[0008]在一种可行的实施方式中,基于交换机测试参数,在所述树形结构中查找对应的节点,以获取若干需要测试的功能模块的名称,具体包括:将所述树形结构的根节点入栈;在每次入栈操作后,判断最后入栈的节点的数字下标与所述交换机测试参数是否匹配;在不匹配的情况下,获取所述最后入栈的节点的所有子节点;将所述最后入栈的节点的第一个子节点入栈,进行下一次循环,直至所述最后入栈的节点的数字下标与所述交换机测试参数匹配,返回所述最后入栈的节点对应的功能模块的名称。
[0009]在一种可行的实施方式中,在获取所述最后入栈的节点的所有子节点之前,所述方法还包括:在所述最后入栈的节点不存在子节点的情况下,将所述最后入栈的节点出栈,并将出栈后的所述节点的下一个节点入栈,进行循环,直至所述最后入栈的节点存在子节点;其中,所述下一个节点为出栈后的所述节点的数字下标加一后对应的节点。
[0010]本申请实施例通过树形结构组装交换机的功能模块,以key

value关键字标记法标记功能模块,并采用递归算法快速查找需要测试的交换机功能模块,可以实现自动确定测试用例集,无需人工组装测试用例集,减少工作人员的工作量。且通过树形结构组装交换机的功能模块也可以保留功能模块之间的相关性。
[0011]在一种可行的实施方式中,基于所述测试用例集以及所述交换机软件版本,构建Jenkins测试任务,具体包括:基于启动指令,获取构建参数;其中,所述构建参数至少包括以下一项或多项:交换机拓扑配置信息、交换机端口配置信息、构建者信息;基于所述测试用例集,确定所述交换机软件版本中需要进行测试的若干功能模块;基于所述构建参数,构建对所述若干功能模块的Jenkins测试任务。
[0012]在一种可行的实施方式中,在基于所述构建参数,构建对所述若干功能模块的Jenkins测试任务之前,所述方法还包括:确定所述构建参数对应的Jenkins流水线任务是否存在;在所述构建参数对应的Jenkins流水线任务不存在的情况下,调用python Jenkins API接口,复制预创建的Jenkins流水线任务模板,生成对应的Jenkins流水线任务;通过所述Jenkins流水线任务,构建所述Jenkins测试任务。
[0013]在一种可行的实施方式中,在构建所述Jenkins测试任务的过程中,所述方法还包括:响应于前端的中止操作或执行操作,通过调用pythonJenkins API接口中止所述Jenkins测试任务,或对异常终止的Jenkins测试任务进行重新构建。
[0014]在一种可行的实施方式中,在基于所述测试用例集以及所述交换机软件版本,构建Jenkins测试任务之后,所述方法还包括:在同时进行的Jenkins测试任务多于一个的情况下,通过预设的正则表达式,正则匹配所有Jenkins测试任务的构建号;为每一条构建号创建对应的线程;基于预设时间间隔,依次启动并执行所述线程。
[0015]在一种可行的实施方式中,实时获取所述Jenkins测试任务的状态信息并显示,具体包括:调用pythonJenkinsAPI接口,实时获取所述Jenkins测试任务的状态信息;其中,所述状态信息至少包括以下一项或多项:构建状态信息、构建进度信息、构建参数信息、构建者信息;将获取每个Jenkins测试任务的所述状态信息实时可视化显示。
[0016]另一方面,本申请实施例还提供了一种交换机自动化测试装置,包括:数据控制模块,用于基于接收的交换机测试参数,确定交换机的测试用例集;以及,基于交换机软件版本路径,获取需要测试的交换机软件版本;Jenkins控制模块,用于基于所述测试用例集以及所述交换机软件版本,构建Jenkins测试任务;前端控制模块,用于实时获取所述Jenkins测试任务的状态信息并实时显示在前端界面上。
[0017]本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
[0018]本申请实施例提供的交换机自动化测试平台,无需平台使用者手动构建交换机测试任务、编写测试脚本以及手动选择测试用例集,以上操作均可由交换机自动化测试平台自动完成,平台使用者只需进行简单的界面操作即可,可以降低平台使用者的使用门槛与学习成本。本申请提供的交换机自动化测试平台使用python多线程技术实现多个测试任务
同时进行,提升测试效率。快速实时获取Jenkins任务状态并显示在前端界面上,便于前端用户查看与管理Jenkins测试任务。
附图说明
[0019]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种交换机自动化测试方法,其特征在于,所述方法包括:响应于接收到的交换机测试参数,确定交换机的测试用例集;基于交换机软件版本的存储路径,获取需要测试的交换机软件版本;基于所述测试用例集以及所述交换机软件版本,构建Jenkins测试任务;实时获取所述Jenkins测试任务的状态信息并实时显示。2.根据权利要求1所述的一种交换机自动化测试方法,其特征在于,所述响应于接收到的交换机测试参数,确定交换机测试用例集,具体包括:基于树形数据结构,将交换机软件中的所有功能模块组装为树形结构;其中,每一个功能模块对应所述树形结构中的一个节点;通过数字下标标记所述树形结构中的每个节点;基于所述交换机测试参数,在所述树形结构中查找对应的节点,以获取需要测试的若干功能模块的名称;其中,所述交换机测试参数包括一个或多个所述数字下标;将所述需要测试的若干功能模块的名称组合为所述交换机的测试用例集。3.根据权利要求2所述的一种交换机自动化测试方法,其特征在于,基于交换机测试参数,在所述树形结构中查找对应的节点,以获取若干需要测试的功能模块的名称,具体包括:将所述树形结构的根节点入栈;在每次入栈操作后,判断最后入栈的节点的数字下标与所述交换机测试参数是否匹配;在不匹配的情况下,获取所述最后入栈的节点的所有子节点;将所述最后入栈的节点的第一个子节点入栈,进行下一次循环,直至所述最后入栈的节点的数字下标与所述交换机测试参数匹配,返回所述最后入栈的节点对应的功能模块的名称。4.根据权利要求3所述的一种交换机自动化测试方法,其特征在于,在获取所述最后入栈的节点的所有子节点之前,所述方法还包括:在所述最后入栈的节点不存在子节点的情况下,将所述最后入栈的节点出栈,并将出栈后的所述节点的下一个节点入栈,进行循环,直至所述最后入栈的节点存在子节点;其中,所述下一个节点为出栈后的所述节点的数字下标加一后对应的节点。5.根据权利要求1所述的一种交换机自动化测试方法,其特征在于,基于所述测试用例集以及所述交换机软件版本,构建Jenkins测试任务,具体包括:基于启动指令,获取构建参数;其中,所述构建参数至少包括以下一项或多项:交换机拓扑配置信息、交换机端口配置信息、构建者信息;基于所述测试用例集,确定所述交换机软件版本中需要进行测试...

【专利技术属性】
技术研发人员:胡雷
申请(专利权)人:浪潮思科网络科技有限公司
类型:发明
国别省市:

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

1