一种基于数据包自动化测试NP芯片API接口的方法与流程

文档序号:32401783发布日期:2022-12-02 19:14阅读:182来源:国知局
一种基于数据包自动化测试NP芯片API接口的方法与流程
一种基于数据包自动化测试np芯片api接口的方法
技术领域
1.本发明属于计算机网络领域,具体涉及一种基于数据包自动化测试np芯片api接口的方法。


背景技术:

2.网络处理器芯片(后称np芯片)是当今对网络数据流量更专业更高效的一种处理方案。为了让用户可以更便捷更高效得使用np芯片提供的各种功能,通常np芯片中提供了强大的api支持。通常api的测试更多是在验证阶段进行,通过逻辑仿真进行功能正确性测试,但该方法具有明显的局限性。另一种测试方式是通过编写微码程序调用api接口,从而观察api输入输出是否符合预期设计。但使用微码程序验证api的测试方案有很多局限性。首先,微码属于一种较为底层的编程语言,学习及编写的效率较为低下,使用其进行测试会有大量的时间浪费在编码上;其次,np处理器中能写入的微码程序容量有限,一次性能验证的功能极其有限,反复导入微码程序也是效率瓶颈;最后,该方案无法实现自动化测试,或者说实现自动化测试的难度较高。


技术实现要素:

3.(一)要解决的技术问题
4.本发明要解决的技术问题是如何提供一种基于数据包自动化测试np芯片api接口的方法,以解决使用微码程序验证api的测试方案有很多局限性,导致无法实现自动化测试,或者说实现自动化测试的难度较高的问题。
5.(二)技术方案
6.为了解决上述技术问题,本发明提出一种基于数据包自动化测试np芯片api接口的方法,该方法包括如下步骤:
7.第一步,设计测试报文格式,该报文基于以太头设计,属于二层通讯协议,采用以太协议0x4500作为识别协议号;
8.第二步,编写自动化测试框架;该框架运行在测试pc上,首先读取测试用例文件,测试用例描述该项测试的需发送测试报文各字段的值和预期返回测试报文各字段的值,把需发送的测试报文各字段值提取出来,组成测试报文,并发送到np芯片;np芯片对测试报文进行一系列处理会返回一个测试应答报文,测试框架对测试应答报文的结果进行分析处理,判定该测试是否通过,从而完成一项测试;然后重复这个过程,不断读取用例、组装并发送测试报文、解析测试应答报文、收集测试结果并生成测试报告;
9.第三步,编写微码;微码是存储并运行在np芯片中的代码,微码用于拆解发送到np芯片的测试报文,把其中的有效载荷部分发送到np芯片的api处理模块中;然后在api处理模块返回结果后,再次把结果封装到测试应答报文中,发送出测试应答报文;
10.第四步,编写测试用例文件;在框架和微码工作完成之后,设计测试用例,测试用例文件内容包括:测试编号、测试用例名称、api接口名、发送测试报文各字段参数值、返回
测试应答报文各字段参数值和备注信息;
11.第五步,执行测试:首先,准备好被测np芯片,灌入写好的微码;其次,准备一台测试pc,装好自动化测试框架,并导入测试用例文件;最后,使用网线把二者链接在一起,开始对np芯片进行验证。
12.进一步地,测试pc负责组装测试报文,通过网卡发送该报文到np平台的平台网卡,np平台包括np芯片和平台网卡,np芯片通过平台网卡收到测试报文后触发自动测试流程,并组装包含测试结果的测试应答报文发回到测试pc,测试pc自动分析报文内容判断测试结果。
13.进一步地,所述第一步中,测试报文的每个word为32bi t,word0-2的全部和word3的高位16bi t属于以太头部分;word3的低位16bi t和word4-11的全部属于测试控制字段部分;word12到最后的所有部分属于具体的测试内容部分。
14.进一步地,所述第一步中,测试报文的字段包括:opcode、miss_case、code、subcode、extcode、tages、data_len、dst_value、api_ack_datalen、api_datalen、api_header、api_data和padding,其中,opcode用于识别测试请求还是测试应答,miss_case用于识别是否命中微码测试处理分支;code,subcode,extcode用于识别微码测试中的各个处理分支路径;tages用于识别测试报文的id序号;data_len用于识别api_ack_datalen、api_datalen、api_header、api_data和padding这几部分的总长度;dst_value用于识别最终测试结果;api_ack_datalen用于设置api返回数据长度;api_datalen用于设置发送api数据长度;api_header为api指令部分;api_data为api数据部分;padding为报文填充部分。
15.进一步地,所述第二步中,测试框架基于python程序实现。
16.进一步地,所述第二步中,测试框架编写完成后,除非新api接口与以前接口使用模式有很大的区别,才需要另行设计测试框架。
17.进一步地,所述第三步中,通过code、subcode、extcode分支路径判断处理不同的api处理流程。
18.进一步地,所述第三步中,微码编写固化后,除非新api接口与以前接口使用模式有很大的区别,才需要另行设计分支路径进行新处理流程。
19.进一步地,所述第四步中,测试用例文件使用excel格式。
20.进一步地,所述第四步中,发送测试报文各字段参数值和返回测试应答报文各字段参数值中详细记录了组装报文时各字段需要设置的值。
21.(三)有益效果
22.本发明提出一种基于数据包自动化测试np芯片api接口的方法,本发明不仅设计了np芯片api接口的测试报文格式,而且编写了自动化测试框架、微码、测试用例,测试环境易于移植和复制,可以同步在多个环境中进行。采用本发明所述的方法后,测试人员对np芯片api接口的验证效率得到了极大提高,且在回归阶段可以自动化实现所有的api接口覆盖验证。对np芯片研发流程有了更高效更准确的测试保障。
附图说明
23.图1为本发明的总流程图;
24.图2为本发明的拓扑图;
25.图3为本发明的执行阶段流程图;
26.图4为本发明的测试报文格式图。
具体实施方式
27.为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
28.本发明的目的是为了提供一种能够更高效的对np芯片api接口进行测试验证的方法。首先,能让测试人员更多的精力都在设计测试方案和用例上,而不是更多时间耗费在编写测试程序上;其次,提高了api验证的效率,能够更快地验证一个api接口的各种输入输出;最后,该方案基于自动化方式实现,能极大提高回归效率。
29.图1是本发明的总流程图。该方法的核心原理在于使用数据包的方式进行驱动,所以大量的工作内容是围绕在数据报文的生成、处理和验证方面展开的。
30.图2是本发明的拓扑图。其中,测试pc负责组装测试报文,通过网卡发送该报文到np平台的平台网卡,np平台包括np芯片和平台网卡,np芯片通过平台网卡收到测试报文后触发自动测试流程,并组装包含测试结果的测试应答报文发回到测试pc,测试pc自动分析报文内容判断测试结果。
31.以下是总流程每一步的说明:
32.第一步,设计测试报文格式。如图4所示,该报文基于以太头设计,属于二层通讯协议。采用以太协议0x4500作为识别协议号。
33.其中,每个word为32bit,word0-2的全部和word3的高位16bit属于以太头部分;word3的低位16bit和word4-11的全部属于测试控制字段部分;word12到最后的所有部分属于具体的测试内容部分。其中各字段意义如下:
[0034][0035]
该报文设计不仅可适用于api接口测试,还具有扩展性,既可以适用于np芯片的微码指令测试,也可以适用于np芯片业务功能测试,仅需要修改测试内容部分的内容,即可兼容。
[0036]
第二步,编写自动化测试框架。该框架基于python程序实现,运行在拓扑图中测试
pc上,主要实现了测试流程执行阶段流程的实现。如图3所示,首先python程序读取测试用例文件,测试用例主要描述该项测试的需发送测试报文各字段的值和预期返回测试报文各字段的值,python程序把需发送的测试报文各字段值提取出来,组成测试报文,并发送到np芯片;np芯片对测试报文进行一系列处理会返回一个测试应答报文,测试框架对测试应答报文的结果进行分析处理,判定该测试是否通过,从而完成一项测试。然后重复这个过程,不断读取用例、组装并发送测试报文、解析测试应答报文、收集测试结果并生成测试报告。测试框架编写完成后,无需再次修改。除非有出现的新api接口与以前接口使用模式有很大的区别,才需要另行设计测试框架。
[0037]
第三步,编写微码。微码是存储并运行在np芯片中的代码,本步骤编写微码的主要用途在于拆解发送到np芯片的测试报文,把其中的有效载荷部分发送到np芯片的api处理模块中。然后在api处理模块返回结果后,再次把结果封装到测试应答报文中,再发送出测试应答报文。由于api的种类众多,所以设计了不同的api处理流程,分别通过code、subcode、extcode等分支路径进行判断处理。微码编写固化后,无需再次修改。除非有出现的新api接口与以前接口使用模式有很大的区别,才需要另行设计分支路径进行新处理流程。
[0038]
第四步,编写测试用例文件。在框架和微码工作完成之后,长期的工作内容主要就在测试用例的设计方面。测试用例文件使用excel格式,内容主要包含有:测试编号、测试用例名称、api接口名、发送测试报文各字段参数值、返回测试报文各字段参数值、备注信息等组成。其中,发送测试报文各字段参数值和返回测试应答报文各字段参数值中详细记录了组装图4中报文时各字段需要设置的值。
[0039]
第五步,执行测试。首先,准备好被测np芯片设备,灌入写好的微码测试程序;其次,准备一台测试pc,装好自动化测试框架程序,并导入测试用例文件;最后,使用网线把二者链接在一起。即可开始对np芯片程序进行验证。该环境易于移植和复制,可以同步在多个环境中进行。
[0040]
本发明不仅设计了np芯片api接口的测试报文格式,而且编写了自动化测试框架、微码、测试用例,测试环境易于移植和复制,可以同步在多个环境中进行。采用本发明所述的方法后,测试人员对np芯片api接口的验证效率得到了极大提高,且在回归阶段可以自动化实现所有的api接口覆盖验证。对np芯片研发流程有了更高效更准确的测试保障。
[0041]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1