CN113360386A - 交换芯片驱动测试方法、装置、电子设备和存储介质 - Google Patents
交换芯片驱动测试方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113360386A CN113360386A CN202110669644.XA CN202110669644A CN113360386A CN 113360386 A CN113360386 A CN 113360386A CN 202110669644 A CN202110669644 A CN 202110669644A CN 113360386 A CN113360386 A CN 113360386A
- Authority
- CN
- China
- Prior art keywords
- scd
- unit
- service
- client
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010998 test method Methods 0.000 title claims description 12
- 238000012360 testing method Methods 0.000 claims abstract description 153
- 230000006870 function Effects 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 20
- 230000002452 interceptive effect Effects 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000009434 installation Methods 0.000 claims description 10
- 238000000547 structure data Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 abstract description 7
- 239000008186 active pharmaceutical agent Substances 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 14
- 238000011161 development Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种交换芯片驱动测试方法、装置、电子设备和存储介质,涉及数据通讯测试技术领域。本申请通过将SCD服务对应的SCD API信息转换为设定格式的结构体数据,基于结构体数据分别生成用于安装在客户端设备上的测试模块和用于安装在服务端设备上的业务模块。其中,通过设定格式的结构体数据,建立使用不同的编程语言的服务端和客户端之间的连接,从而基于测试脚本实现函数级接口测试,可以对SCD服务涉及的所有SCD API进行测试,提高测试覆盖率。
Description
技术领域
本申请涉及数据通讯测试技术领域,具体涉及一种交换芯片驱动测试方法、装置、电子设备和存储介质。
背景技术
随着网络技术的不断发展,网络产品通过分层和模块化可以实现很多功能。不同层面的软件通过应用程序编程接口进行函数调用。
在交换机领域,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进行测试。
现有的交换机测试方法,通过配置命令行方式进行测试,每次仅是对个别的SCDAPI进行测试,无法保证测试到每个SCD API。
发明内容
为解决现有存在的技术问题,本申请实施例提供一种交换芯片驱动测试方法、装置、电子设备和存储介质。
为达到上述目的,本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种交换芯片驱动测试方法,该方法包括:
获取网络业务关联的交换芯片驱动SCD服务对应的SCD应用程序编程接口API信息;
将所述SCD服务对应的SCD API信息转换为设定格式的结构体数据;
基于所述结构体数据分别生成符合客户端编程语言的客户端单元和符合服务端编程语言的服务端单元;
基于所述客户端单元生成用于安装在客户端设备上的测试模块,并基于所述服务端单元生成用于安装在服务端设备上的业务模块;
基于所述客户端单元和设定的流量数据生成测试脚本,并基于所述测试模块和所述业务模块运行所述测试脚本,对SCD API进行测试。
在一种可选的实施例中,所述SCD API信息包括SCD API对应的函数和函数参数;所述获取网络业务关联的交换芯片驱动SCD服务对应的SCD API信息,包括:
获取所述SCD服务对应的SCD头部文件;
获取所述SCD头部文件中包含的SCD API对应的函数和函数参数。
在一种可选的实施例中,所述基于所述结构体数据分别生成符合客户端编程语言的客户端单元和符合服务端编程语言的服务端单元,包括:
将所述结构体数据转换为符合客户端编程语言的客户端数据,或获取指定函数作为公共函数库,基于所述客户端数据和所述公共函数库,生成所述客户端单元;
将所述结构体数据转换为符合服务端编程语言的服务端数据,并在服务端数据内的函数中增加SCD API调用处理逻辑,得到所述服务端单元。
在一种可选的实施例中,所述基于所述客户端单元生成用于安装在客户端设备上的测试模块,包括:
获取设定格式的传输服务单元、测试框架单元和流量单元;
基于所述客户端单元、所述传输服务单元、所述测试框架单元和所述流量单元,生成所述测试模块。
在一种可选的实施例中,所述基于所述服务端单元生成用于安装在服务端设备上的业务模块,包括:
获取交互芯片驱动单元、设定格式的传输服务单元和缺省处理单元;所述缺省处理单元用于对缺省功能作预设处理;
基于所述服务端单元、所述交互芯片驱动单元、所述传输服务单元和所述缺省处理单元,生成所述业务模块。
在一种可选的实施例中,所述设定格式为接口描述语言IDL格式;所述传输服务单元采用远程过程调用RPC框架。
第二方面,本申请实施例提供一种交换芯片驱动测试装置,所述装置包括:
数据转换单元,用于获取网络业务关联的交换芯片驱动SCD服务对应的SCD API信息;将所述SCD服务对应的SCD API信息转换为设定格式的结构体数据;
测试模块生成单元,用于基于所述结构体数据分别生成符合客户端编程语言的客户端单元,并基于所述客户端单元生成用于安装在客户端设备上的测试模块;
业务模块生成单元,用于基于所述结构体数据分别生成符合服务端编程语言的服务端单元,并基于所述服务端单元生成用于安装在服务端设备上的业务模块;
测试脚本生成单元,用于基于所述客户端单元和设定的流量数据生成测试脚本,并基于所述测试模块和所述业务模块运行所述测试脚本,对SCD API进行测试。
在一种可选的实施例中,所述SCD API信息包括SCD API对应的函数和函数参数;所述数据转换单元,具体用于:
获取所述SCD服务对应的SCD头部文件;
获取所述SCD头部文件中包含的SCD API对应的函数和函数参数。
在一种可选的实施例中,所述测试模块生成单元,具体用于:
将所述结构体数据转换为符合客户端编程语言的客户端数据,并获取指定函数作为公共函数库,基于所述客户端数据和所述公共函数库,生成所述客户端单元;
所述业务模块生成单元,具体用于:
将所述结构体数据转换为符合服务端编程语言的服务端数据,并在服务端数据内的函数中增加SCD API调用处理逻辑,得到所述服务端单元。
在一种可选的实施例中,所述测试模块生成单元,具体用于:
获取设定格式的传输服务单元、测试框架单元和流量单元;
基于所述客户端单元、所述传输服务单元、所述测试框架单元和所述流量单元,生成所述测试模块。
在一种可选的实施例中,所述业务模块生成单元,具体用于:
获取交互芯片驱动单元、设定格式的传输服务单元和缺省处理单元;所述缺省处理单元用于对缺省功能作预设处理;
基于所述服务端单元、所述交互芯片驱动单元、所述传输服务单元和所述缺省处理单元,生成所述业务模块。
在一种可选的实施例中,所述设定格式为接口描述语言IDL格式;所述传输服务单元采用远程过程调用RPC框架。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现第一方面中任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面中任一项所述的方法。
第五方面,本申请实施例提供一种交换芯片驱动测试系统,包括客户端设备和服务端设备;所述客户端设备上安装有第一方面中的测试模块,所述服务端设备上安装有第一方面中的业务模块。
在一种可选的实施例中,所述客户端设备和服务端设备通过RPC框架进行通信。
本申请实施例提供的一种交换芯片驱动测试方法、装置、系统和存储介质,通过将SCD服务对应的SCD API信息转换为设定格式的结构体数据,基于结构体数据分别生成用于安装在客户端设备上的测试模块和用于安装在服务端设备上的业务模块。其中,通过设定格式的结构体数据,建立使用不同的编程语言的服务端和客户端之间的连接,从而基于测试脚本实现函数级接口测试,可以对SCD服务涉及的所有SCD API进行测试,提高测试覆盖率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为SCD的一种应用场景示意图;
图2为本申请实施例提供的一种交换芯片驱动测试方法的流程图;
图3为本申请实施例提供的另一种交换芯片驱动测试方法的流程图;
图4为本申请实施例提供的一种交换芯片驱动测试方法的流程示意图;
图5为本申请实施例提供的一种交换芯片驱动测试装置的结构框图;
图6为本申请实施例提供的一种交换芯片驱动测试系统的结构框图;
图7为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
需要说明的是,本申请的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
图1示出了一种SCD的应用场景示意图,如图1所示,SCD向上为各个适配器主机提供统一的API接口,向下通过适配器和代理元件对接不同的专用集成电路。由于不同芯片厂商的芯片操作接口命名、实现差异较大,而SCD对芯片操作进行抽象,提供统一的接口定义,可以屏蔽各个厂商的芯片之间的差异。
为了保证SCD正常实现其功能,需要对SCD API进行测试。SCD API通常采用C语言实现,主要包含三种类型:
第一种,必选函数:指Control stack(控制栈)所需的基本转发操作的“核心”API。所有Adapter(适配器)实现必须支持这些功能,缺少任意一个,Control stack将无法正常加载Adapter。
第二种,可选函数:指在兼容的SCD Adapter实现中定义,但不是必需的一组附加功能。可选函数以标准方式启用非核心转发功能,只有使用这些函数的Control stack实现才需要这些可选函数。
第三种,用户自定义函数:指兼容的SCD Adapter实现,既未定义,也未要求的附加功能集。
传统的交换芯片驱动测试方法,通过配置命令行方式进行测试,通过网络操作系统下发业务组件去触发测试条件,每次仅是对个别的SCD API进行测试,无法保证测试到每个SCD API。
基于此,本申请实施例提供一种交换芯片驱动测试方法,该方法可以应用于为交换芯片驱动测试配置测试环境的电子设备。如图2所示,该方法包括如下步骤:
步骤S201,获取网络业务关联的SCD服务对应的SCD API信息。
示例性地,网络业务关联的SCD服务可以是Vlan(局域网)接口的增删服务、或者是查询及修改Vlan接口的服务等。SCD API信息包括SCD API对应的函数和函数参数。具体地,可以从用于存储SCD服务对应的SCD Header(SCD头部文件)的数据库中获取所述SCD服务对应的SCD头部文件,从SCD头部文件中获取SCD API对应的函数和函数参数。
步骤S202,将SCD服务对应的SCD API信息转换为设定格式的结构体数据。
其中,设定格式可以是IDL(Interface Description Language,接口描述语言)格式,设定格式的结构体数据可以是IDL文件。根据从SCD头部文件中获取的SCD API对应的函数和函数参数,可以生成IDL文件。
在一些实施例中,可以将SCD头部文件中包含的SCD API对应的函数和函数参数,以及数据结构等制作成IDL文件。
步骤S203,基于结构体数据分别生成符合客户端编程语言的客户端单元和符合服务端编程语言的服务端单元。
具体地,将结构体数据转换为符合客户端编程语言的客户端数据,并获取指定函数作为公共函数库,基于客户端数据和公共函数库,生成客户端单元。将结构体数据转换为符合服务端编程语言的服务端数据,并在服务端数据内的函数中增加SCD API调用处理逻辑,得到服务端单元。
其中,客户端单元又可以称为SCD Client单元,服务端单元又可以称为SCDServer单元。具体地,由于客户端和服务端可能使用不同的编程语言,通过IDL转换工具,可以将IDL文件转换成多种编程语言,分别得到SCD Server单元和SCD Client单元的代码。
步骤S204,基于客户端单元生成用于安装在客户端设备上的测试模块,并基于服务端单元生成用于安装在服务端设备上的业务模块。
具体地,可以采用如下方式生成测试模块:获取设定格式的传输服务单元、测试框架单元和流量单元,基于客户端单元、传输服务单元、测试框架单元和流量单元,生成测试模块。
其中,传输服务单元、测试框架单元和流量单元均保存在数据库中,可以从数据库中获取传输服务单元、测试框架单元和流量单元,通过编程语言中的类函数将传输服务单元、测试框架单元和流量单元进行关联,集成为测试模块。
测试模块用于验证和测试SCD框架基础测试设施。其中,传输服务单元采用基于IDL协议的RPC(Remote Procedure Call,远程过程调用)框架;测试框架单元集成了测试用例管理,测试用例执行和拓扑配置,测试插件拓展框架;流量单元用于处理测试用例中网络报文协议的封装和解析,发送和接收。
可以采用如下方式生成业务模块:获取交互芯片驱动单元、设定格式的传输服务单元和用于对缺省功能作预设处理的缺省处理单元,基于上述服务端单元、交互芯片驱动单元、传输服务单元和缺省处理单元,生成业务模块。
其中,传输服务单元、交互芯片驱动单元和缺省处理单元均保存在数据库中,可以从数据库中获取传输服务单元、交互芯片驱动单元和缺省处理单元,通过编程语言中的类函数将传输服务单元、交互芯片驱动单元和缺省处理单元进行关联,集成为业务模块。
需要说明的是,传输服务单元、交互芯片驱动单元和缺省处理单元与上文中的SCD头部文件、测试框架单元和流量单元可以保存在同一数据库中,也可以保存在不同的数据库中。如果其各自保存在不同的数据库中,可以从上述单元各自保存的数据库中获取其代码。
具体地,传输服务单元采用基于IDL协议的RPC(Remote Procedure Call,远程过程调用)框架。缺省处理单元,又可以称为Mock单元,用于对SCD Server单元某些缺省功能做打桩处理。交互芯片驱动单元,又可以称为网络芯片驱动框架,即SCD框架。服务端单元又可以称为业务单元,是网络设备相关业务进程,是Linux下的进程,为二进制文件。业务模块还可以包括被测芯片单元,如安全芯片,网络芯片等。
本申请实施例通过RPC技术解决芯片驱动在线业务测试难问题,芯片驱动测试一般离线或单元测试偏多,场景测试验证不足,可以做到像本地调用一样调用远程服务,有效、精准地补充在线业务场景测试,从而增强芯片驱动软件质量。
本申请实施例通过MOCK单元进行打桩,对缺省功能可以返回约定的结果,解决开发和测试不能并行同时开发的问题,为测试左移提供有效技术支撑,缩短产品开发周期。
步骤S205,基于客户端单元和设定的流量数据生成测试脚本,基于测试模块和业务模块运行测试脚本,对SCD API进行测试。
执行测试脚本,测试模块和业务模块在基于IDL的协议RPC框架下对SCD服务进行测试。
具体地,根据测试脚本,在基于IDL的协议RPC框架下,测试模块向业务模块发送针对目标SCD服务的测试请求,业务模块根据测试请求对目标SCD服务对应的SCD API进行测试,分别获得各个SCD API对应的测试结果,并向测试模块返回测试结果,从而完成对SCD服务的测试。
本申请实施例提供的基于SCD-RTF(Remote Testing Framework,远程测试框架)的交换芯片驱动测试方法,通过IDL实现基于函数级接口测试,其提供了一种“桥”连接服务端与客户端,可以达到SCD API接口的测试覆盖率100%效果,以及SCD头部文件的代码的测试覆盖率提升到95%以上;解决现有技术中通过配置命令行方式测试芯片驱动问题,无法单独验证SCD API和SCD头部文件测试精准度和代码覆盖率,以及测试和全回归周期长的问题,提升自动化测试精准度和代码覆盖率问题。
本申请实施例通过使用同一版本的SCD头部文件,测试框架和测试脚本解决SCD多款驱动兼容性和一致性测试难,节省了不同驱动适配测试开发和脚本重复开发时间,进而推动多种芯片驱动形成统一接口框架--SCD框架。
图3示出了一种具体实施例的流程图。如图3所示,本申请实施例提供的交换芯片驱动测试方法,包括如下步骤:
步骤S301,获取SCD服务对应的SCD头部文件。
步骤S302,将SCD头部文件中包含的SCD API对应的函数和函数参数,以及数据结构等制作成IDL文件。
示例性地,表1示出了部分SCD头部文件中的数据结构、以及函数和函数参数与IDL文件中的结构体数据之间的对应关系。
表1
步骤S303,通过IDL转换工具,分别将IDL文件转换成SCD Server单元和SCDClient单元。
通过IDL转换工具,可以将IDL文件转换成多种编程语言,分别得到SCD Server单元和SCD Client单元的代码。示例性地,表2示出了根据表1中的IDL文件得到的SCD Server单元和SCD Client单元的代码。
表2
步骤S304,将SCD Server单元,Mock单元,交互芯片驱动单元和基于IDL协议的RPC框架集成到业务模块。
步骤S305,将SCD Client单元,基于IDL协议的RPC框架、测试框架单元和流量单元集成到测试模块。
步骤S306,基于SCD Client单元和设定的流量数据生成测试脚本。
示例性地,表3示出了基于客户端单元和流量数据构建的测试脚本。
表3
步骤S307,执行测试脚本,测试模块和业务模块在基于IDL的协议RPC框架下对SCD服务进行测试。
图4从另一个角度示出本申请实施例提供的交换芯片驱动测试方法的流程。如图4所示,基于SCD头部文件得到IDL文件后,通过转换模块将IDL文件分别转换为SCD Server单元和SCD Client单元,基于SCD Server单元生成业务模块,基于SCD Client单元生成测试模块,业务模块和测试模块通过传输服务模块通信。其中,业务模块包括业务单元、Mock单元、交互芯片驱动单元和被测芯片单元;测试模块包括测试框架单元和流量单元。传输服务模块用于业务模块和测试模块相互网络通信和通信数据的转换,是基于IDL协议的RPC框架,用于提供在线远程服务。
基于与上述交换芯片驱动测试方法相同的发明构思,本申请实施例还提供了一种交换芯片驱动测试装置。如图5所示,该交换芯片驱动测试装置包括数据转换单元501、测试模块生成单元502、业务模块生成单元503和测试脚本生成单元504。其中,
数据转换单元501,用于获取网络业务关联的交换芯片驱动SCD服务对应的SCDAPI信息;将所述SCD服务对应的SCD API信息转换为设定格式的结构体数据;
测试模块生成单元502,用于基于所述结构体数据分别生成符合客户端编程语言的客户端单元,并基于所述客户端单元生成用于安装在客户端设备上的测试模块;
业务模块生成单元503,用于基于所述结构体数据分别生成符合服务端编程语言的服务端单元,并基于所述服务端单元生成用于安装在服务端设备上的业务模块;
测试脚本生成单元504,用于基于所述客户端单元和设定的流量数据生成测试脚本,基于所述测试模块和所述业务模块运行所述测试脚本,对SCD API进行测试。
在一种可选的实施例中,所述SCD API信息包括SCD API对应的函数和函数参数;所述数据转换单元501,具体用于:
获取所述SCD服务对应的SCD头部文件;
获取所述SCD头部文件中包含的SCD API对应的函数和函数参数。
在一种可选的实施例中,所述测试模块生成单元502,具体用于:
将所述结构体数据转换为符合客户端编程语言的客户端数据,并获取指定函数作为公共函数库,基于所述客户端数据和所述公共函数库,生成所述客户端单元;
所述业务模块生成单元503,具体用于:
将所述结构体数据转换为符合服务端编程语言的服务端数据,并在服务端数据内的函数中增加SCD API调用处理逻辑,得到所述服务端单元。
在一种可选的实施例中,所述测试模块生成单元502,具体用于:
获取设定格式的传输服务单元、测试框架单元和流量单元;
基于所述客户端单元、所述传输服务单元、所述测试框架单元和所述流量单元,生成所述测试模块。
在一种可选的实施例中,所述业务模块生成单元503,具体用于:
获取交互芯片驱动单元、设定格式的传输服务单元和缺省处理单元;所述缺省处理单元用于对缺省功能作预设处理;
基于所述服务端单元、所述交互芯片驱动单元、所述传输服务单元和所述缺省处理单元,生成所述业务模块。
在一种可选的实施例中,所述设定格式为接口描述语言IDL格式;所述传输服务单元采用远程过程调用RPC框架。
基于与上述交换芯片驱动测试方法相同的发明构思,本申请实施例还提供了一种交换芯片驱动测试系统。如图6所示,该系统包括客户端设备610和服务端设备620。其中,客户端设备610上安装有上述测试模块,服务端设备620上安装有上述业务模块。客户端设备610和服务端设备620可以采用RPC框架进行通信。
基于与上述交换芯片驱动测试方法相同的发明构思,本申请实施例还提供了一种电子设备。电子设备的结构可采用图7所示的结构表示,包括存储器701,通讯模块703以及一个或多个处理器702。
存储器701,用于存储处理器702执行的计算机程序。存储器701可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等,如上述的测试模块或业务模块;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器701可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器701也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器701是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器701可以是上述存储器的组合。
处理器702,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器702,用于调用存储器701中存储的计算机程序时运行上述的测试方法。
通讯模块703用于与其他设备进行通信。
本申请实施例中不限定上述存储器701、通讯模块703和处理器702之间的具体连接介质。本公开实施例在图7中以存储器701和处理器702之间通过总线704连接,总线704在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可以理解,图7所示的结构仅为示意,客户端设备或服务端设备还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件、软件或其组合实现。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的交换芯片驱动测试方法。所述程序产品可以采用一个或多个可读介质的任意组合,可读介质可以是可读信号介质或者可读存储介质。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (10)
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所述的方法,其特征在于,所述基于所述服务端单元生成用于安装在服务端设备上的业务模块,包括:
获取交互芯片驱动单元、设定格式的传输服务单元和缺省处理单元;所述缺省处理单元用于对缺省功能作预设处理;
基于所述服务端单元、所述交互芯片驱动单元、所述传输服务单元和所述缺省处理单元,生成所述业务模块。
6.根据权利要求4或5所述的方法,其特征在于,所述设定格式为接口描述语言IDL格式;所述传输服务单元采用远程过程调用RPC框架。
7.一种交换芯片驱动测试装置,其特征在于,所述装置包括:
数据转换单元,用于获取网络业务关联的交换芯片驱动SCD服务对应的SCD API信息;将所述SCD服务对应的SCD API信息转换为设定格式的结构体数据;
测试模块生成单元,用于基于所述结构体数据分别生成符合客户端编程语言的客户端单元,并基于所述客户端单元生成用于安装在客户端设备上的测试模块;
业务模块生成单元,用于基于所述结构体数据分别生成符合服务端编程语言的服务端单元,并基于所述服务端单元生成用于安装在服务端设备上的业务模块;
测试脚本生成单元,用于基于所述客户端单元和设定的流量数据生成测试脚本,并基于所述测试模块和所述业务模块运行所述测试脚本,对SCD API进行测试。
8.根据权利要求7所述的装置,其特征在于,所述SCD API信息包括SCD API对应的函数和函数参数;所述数据转换单元,具体用于:
获取所述SCD服务对应的SCD头部文件;
获取所述SCD头部文件中包含的SCD API对应的函数和函数参数。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求1~6中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110669644.XA CN113360386B (zh) | 2021-06-17 | 2021-06-17 | 交换芯片驱动测试方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110669644.XA CN113360386B (zh) | 2021-06-17 | 2021-06-17 | 交换芯片驱动测试方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360386A true CN113360386A (zh) | 2021-09-07 |
CN113360386B CN113360386B (zh) | 2024-06-14 |
Family
ID=77534798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110669644.XA Active CN113360386B (zh) | 2021-06-17 | 2021-06-17 | 交换芯片驱动测试方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360386B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238179A (zh) * | 2021-11-26 | 2022-03-25 | 锐捷网络股份有限公司 | 一种数据传输系统、方法、设备及介质 |
CN114430385A (zh) * | 2022-01-17 | 2022-05-03 | 锐捷网络股份有限公司 | 一种网络设备的检测方法、装置及电子设备 |
CN114510412A (zh) * | 2021-12-29 | 2022-05-17 | 锐捷网络股份有限公司 | 用例生成方法、装置和计算机可读存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848774A (zh) * | 2005-04-11 | 2006-10-18 | 华为技术有限公司 | 一种远程调用通信组件的系统及方法 |
US20090199220A1 (en) * | 2008-02-06 | 2009-08-06 | Rolf Bahlke | Calling Services from a Remote Client |
CN106919509A (zh) * | 2017-03-09 | 2017-07-04 | 腾讯科技(深圳)有限公司 | 一种客户端生成方法、装置及电子设备 |
CN109032920A (zh) * | 2018-06-05 | 2018-12-18 | 北京奇安信科技有限公司 | 一种用于对协议接口进行测试的方法及装置 |
CN110162468A (zh) * | 2019-04-26 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置以及计算机可读存储介质 |
-
2021
- 2021-06-17 CN CN202110669644.XA patent/CN113360386B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848774A (zh) * | 2005-04-11 | 2006-10-18 | 华为技术有限公司 | 一种远程调用通信组件的系统及方法 |
US20090199220A1 (en) * | 2008-02-06 | 2009-08-06 | Rolf Bahlke | Calling Services from a Remote Client |
CN106919509A (zh) * | 2017-03-09 | 2017-07-04 | 腾讯科技(深圳)有限公司 | 一种客户端生成方法、装置及电子设备 |
CN109032920A (zh) * | 2018-06-05 | 2018-12-18 | 北京奇安信科技有限公司 | 一种用于对协议接口进行测试的方法及装置 |
CN110162468A (zh) * | 2019-04-26 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种测试方法、装置以及计算机可读存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238179A (zh) * | 2021-11-26 | 2022-03-25 | 锐捷网络股份有限公司 | 一种数据传输系统、方法、设备及介质 |
CN114238179B (zh) * | 2021-11-26 | 2024-08-20 | 锐捷网络股份有限公司 | 一种数据传输系统、方法、设备及介质 |
CN114510412A (zh) * | 2021-12-29 | 2022-05-17 | 锐捷网络股份有限公司 | 用例生成方法、装置和计算机可读存储介质及电子设备 |
CN114430385A (zh) * | 2022-01-17 | 2022-05-03 | 锐捷网络股份有限公司 | 一种网络设备的检测方法、装置及电子设备 |
CN114430385B (zh) * | 2022-01-17 | 2024-07-19 | 锐捷网络股份有限公司 | 一种网络设备的检测方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113360386B (zh) | 2024-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113360386A (zh) | 交换芯片驱动测试方法、装置、电子设备和存储介质 | |
CN107241315B (zh) | 银行网关接口的接入方法、装置及计算机可读存储介质 | |
CN111552568B (zh) | 云服务调用方法和装置 | |
CN110138753B (zh) | 分布式消息服务系统、方法、设备及计算机可读存储介质 | |
CN113032166B (zh) | 核间通信的方法、处理器、核间通信系统及计算机可读存储介质 | |
CN113794652B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN104503768B (zh) | 一种应用程序编程接口调用方法及设备 | |
CN114244654B (zh) | 一种url的转发方法、装置、设备及计算机存储介质 | |
CN111064626A (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
CN115913937A (zh) | 一种容器多网卡网络配置方法、装置、设备及存储介质 | |
CN114422618A (zh) | 基于云原生的iot平台协议适配方法、装置、设备及介质 | |
CN112953739B (zh) | 基于k8s平台纳管sdn的方法、系统以及存储介质 | |
CN112765246B (zh) | 任务处理方法、装置、电子设备和存储介质 | |
CN112698930B (zh) | 一种获取服务器标识的方法、装置、设备及介质 | |
CN112667205B (zh) | 停电编排微服务的开发方法、装置和计算机设备 | |
CN115865924B (zh) | 一种集群部署方法、装置、设备、介质及产品 | |
CN114936166B (zh) | SAI Thrift自动化测试框架的构建方法 | |
JP3805197B2 (ja) | ネットワークエレメントを電気通信システムに接続する方法 | |
CN116455869A (zh) | 基于Kubernetes高效配置公网域名方法和系统 | |
CN112448854B (zh) | 一种kubernetes复杂网络策略系统及其实现方法 | |
CN115567400A (zh) | 一种整机柜管理方法、装置、设备和介质 | |
CN113992510B (zh) | 一种无线设备参数修改方法及系统 | |
CN114225384B (zh) | 基于可组合gm指令的通讯方法、系统、设备及存储介质 | |
CN112558991B (zh) | 镜像管理方法及系统、云管理平台、存储介质 | |
JP2012094139A (ja) | ソフトウェア・アプリケーション制御管理オブジェクトにおけるステップの実行結果を処理する方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |