交换芯片驱动测试方法、装置、电子设备和存储介质制造方法及图纸

技术编号:29972461 阅读:21 留言:0更新日期:2021-09-08 09:51
本申请提供一种交换芯片驱动测试方法、装置、电子设备和存储介质,涉及数据通讯测试技术领域。本申请通过将SCD服务对应的SCD API信息转换为设定格式的结构体数据,基于结构体数据分别生成用于安装在客户端设备上的测试模块和用于安装在服务端设备上的业务模块。其中,通过设定格式的结构体数据,建立使用不同的编程语言的服务端和客户端之间的连接,从而基于测试脚本实现函数级接口测试,可以对SCD服务涉及的所有SCD API进行测试,提高测试覆盖率。盖率。盖率。

【技术实现步骤摘要】
交换芯片驱动测试方法、装置、电子设备和存储介质


[0001]本申请涉及数据通讯测试
,具体涉及一种交换芯片驱动测试方法、装置、电子设备和存储介质。

技术介绍

[0002]随着网络技术的不断发展,网络产品通过分层和模块化可以实现很多功能。不同层面的软件通过应用程序编程接口进行函数调用。
[0003]在交换机领域,SCD(Switch Chip Driver,交换芯片驱动)服务可以向上层应用程序提供统一的API(Application Programming Interface,应用程序编程接口),向下对接不同的ASIC(Application Specific Integrated Circuit,专用集成电路),使得SONiC(Software for Open Networking in the Cloud,云平台开放软件)和上层APP(Application,应用程序)可运行在不同的硬件平台上。不同芯片厂商的芯片操作接口命名和实现方式差异较大,而SCD可以对芯片操作进行抽象,提供统一的接口定义,以屏蔽各个厂商之间的差异。为了保证SCD正常实现其功能,需要对SCD API进行测试。
[0004]现有的交换机测试方法,通过配置命令行方式进行测试,每次仅是对个别的SCD API进行测试,无法保证测试到每个SCD API。

技术实现思路

[0005]为解决现有存在的技术问题,本申请实施例提供一种交换芯片驱动测试方法、装置、电子设备和存储介质。
[0006]为达到上述目的,本申请实施例的技术方案是这样实现的:
[0007]第一方面,本申请实施例提供一种交换芯片驱动测试方法,该方法包括:
[0008]获取网络业务关联的交换芯片驱动SCD服务对应的SCD应用程序编程接口API信息;
[0009]将所述SCD服务对应的SCD API信息转换为设定格式的结构体数据;
[0010]基于所述结构体数据分别生成符合客户端编程语言的客户端单元和符合服务端编程语言的服务端单元;
[0011]基于所述客户端单元生成用于安装在客户端设备上的测试模块,并基于所述服务端单元生成用于安装在服务端设备上的业务模块;
[0012]基于所述客户端单元和设定的流量数据生成测试脚本,并基于所述测试模块和所述业务模块运行所述测试脚本,对SCD API进行测试。
[0013]在一种可选的实施例中,所述SCD API信息包括SCD API对应的函数和函数参数;所述获取网络业务关联的交换芯片驱动SCD服务对应的SCD API信息,包括:
[0014]获取所述SCD服务对应的SCD头部文件;
[0015]获取所述SCD头部文件中包含的SCD API对应的函数和函数参数。
[0016]在一种可选的实施例中,所述基于所述结构体数据分别生成符合客户端编程语言
的客户端单元和符合服务端编程语言的服务端单元,包括:
[0017]将所述结构体数据转换为符合客户端编程语言的客户端数据,或获取指定函数作为公共函数库,基于所述客户端数据和所述公共函数库,生成所述客户端单元;
[0018]将所述结构体数据转换为符合服务端编程语言的服务端数据,并在服务端数据内的函数中增加SCD API调用处理逻辑,得到所述服务端单元。
[0019]在一种可选的实施例中,所述基于所述客户端单元生成用于安装在客户端设备上的测试模块,包括:
[0020]获取设定格式的传输服务单元、测试框架单元和流量单元;
[0021]基于所述客户端单元、所述传输服务单元、所述测试框架单元和所述流量单元,生成所述测试模块。
[0022]在一种可选的实施例中,所述基于所述服务端单元生成用于安装在服务端设备上的业务模块,包括:
[0023]获取交互芯片驱动单元、设定格式的传输服务单元和缺省处理单元;所述缺省处理单元用于对缺省功能作预设处理;
[0024]基于所述服务端单元、所述交互芯片驱动单元、所述传输服务单元和所述缺省处理单元,生成所述业务模块。
[0025]在一种可选的实施例中,所述设定格式为接口描述语言IDL格式;所述传输服务单元采用远程过程调用RPC框架。
[0026]第二方面,本申请实施例提供一种交换芯片驱动测试装置,所述装置包括:
[0027]数据转换单元,用于获取网络业务关联的交换芯片驱动SCD服务对应的SCD API信息;将所述SCD服务对应的SCD API信息转换为设定格式的结构体数据;
[0028]测试模块生成单元,用于基于所述结构体数据分别生成符合客户端编程语言的客户端单元,并基于所述客户端单元生成用于安装在客户端设备上的测试模块;
[0029]业务模块生成单元,用于基于所述结构体数据分别生成符合服务端编程语言的服务端单元,并基于所述服务端单元生成用于安装在服务端设备上的业务模块;
[0030]测试脚本生成单元,用于基于所述客户端单元和设定的流量数据生成测试脚本,并基于所述测试模块和所述业务模块运行所述测试脚本,对SCD API进行测试。
[0031]在一种可选的实施例中,所述SCD API信息包括SCD API对应的函数和函数参数;所述数据转换单元,具体用于:
[0032]获取所述SCD服务对应的SCD头部文件;
[0033]获取所述SCD头部文件中包含的SCD API对应的函数和函数参数。
[0034]在一种可选的实施例中,所述测试模块生成单元,具体用于:
[0035]将所述结构体数据转换为符合客户端编程语言的客户端数据,并获取指定函数作为公共函数库,基于所述客户端数据和所述公共函数库,生成所述客户端单元;
[0036]所述业务模块生成单元,具体用于:
[0037]将所述结构体数据转换为符合服务端编程语言的服务端数据,并在服务端数据内的函数中增加SCD API调用处理逻辑,得到所述服务端单元。
[0038]在一种可选的实施例中,所述测试模块生成单元,具体用于:
[0039]获取设定格式的传输服务单元、测试框架单元和流量单元;
[0040]基于所述客户端单元、所述传输服务单元、所述测试框架单元和所述流量单元,生成所述测试模块。
[0041]在一种可选的实施例中,所述业务模块生成单元,具体用于:
[0042]获取交互芯片驱动单元、设定格式的传输服务单元和缺省处理单元;所述缺省处理单元用于对缺省功能作预设处理;
[0043]基于所述服务端单元、所述交互芯片驱动单元、所述传输服务单元和所述缺省处理单元,生成所述业务模块。
[0044]在一种可选的实施例中,所述设定格式为接口描述语言IDL格式;所述传输服务单元采用远程过程调用RPC框架。
[0045]第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种交换芯片驱动测试方法,其特征在于,包括:获取网络业务关联的交换芯片驱动SCD服务对应的SCD应用程序编程接口API信息;将所述SCD服务对应的SCD API信息转换为设定格式的结构体数据;基于所述结构体数据分别生成符合客户端编程语言的客户端单元和符合服务端编程语言的服务端单元;基于所述客户端单元生成用于安装在客户端设备上的测试模块,并基于所述服务端单元生成用于安装在服务端设备上的业务模块;基于所述客户端单元和设定的流量数据生成测试脚本,并基于所述测试模块和所述业务模块运行所述测试脚本,对SCD API进行测试。2.根据权利要求1所述的方法,其特征在于,所述SCD API信息包括SCD API对应的函数和函数参数;所述获取网络业务关联的交换芯片驱动SCD服务对应的SCD API信息,包括:获取所述SCD服务对应的SCD头部文件;获取所述SCD头部文件中包含的SCD API对应的函数和函数参数。3.根据权利要求2所述的方法,其特征在于,所述基于所述结构体数据分别生成符合客户端编程语言的客户端单元和符合服务端编程语言的服务端单元,包括:将所述结构体数据转换为符合客户端编程语言的客户端数据,并获取指定函数作为公共函数库,基于所述客户端数据和所述公共函数库,生成所述客户端单元;将所述结构体数据转换为符合服务端编程语言的服务端数据,并在服务端数据内的函数中增加SCD API调用处理逻辑,得到所述服务端单元。4.根据权利要求1所述的方法,其特征在于,所述基于所述客户端单元生成用于安装在客户端设备上的测试模块,包括:获取设定格式的传输服务单元、测试框架单元和流量单元;基于所述客户端单元、所述传输服务单元、所述测试框架单元和所述流量单元,生成所述测试模块。5.根据权利要求1所述的方法,其特征在于,所述基于所述服务端单元生成用于安装在服务端设备上的业...

【专利技术属性】
技术研发人员:陈小龙叶利福
申请(专利权)人:锐捷网络股份有限公司
类型:发明
国别省市:

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

1