首页> 中国专利> 一种实现高效测试的虚拟测试仪表及测试方法

一种实现高效测试的虚拟测试仪表及测试方法

摘要

本发明公开了一种实现高效测试的虚拟测试仪表及测试方法,涉及包处理芯片的测试技术领域。该虚拟测试仪表包括顺次相连的配置模块、发送模块、接收模块、检查模块、比对模块和结果输出模块;配置模块用于对测试用例中的数据发送、接收期望进行配置;发送模块用于将测试用例中数据发送相关配置封装成发送帧发送至DUT;接收模块用于对DUT输出的帧信息进行接收;检查模块用于对接收帧进行有效性检查;比对模块用于对接收帧与配置的接收期望进行帧内容的比对,以验证接收帧的正确性;结果输出模块用于将测试结果以Log文件的形式输出。本发明能够增强测试用例的可重用性,简化测试过程;还能缩短不同验证阶段的收敛时间,提高测试效率。

著录项

  • 公开/公告号CN105974297A

    专利类型发明专利

  • 公开/公告日2016-09-28

    原文格式PDF

  • 申请/专利权人 烽火通信科技股份有限公司;

    申请/专利号CN201610225832.2

  • 发明设计人 范新越;袁博浒;

    申请日2016-04-12

  • 分类号

  • 代理机构武汉智权专利代理事务所(特殊普通合伙);

  • 代理人沈林华

  • 地址 430074 湖北省武汉市东湖开发区光谷创业街67号

  • 入库时间 2023-06-19 00:31:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-27

    授权

    授权

  • 2016-10-26

    实质审查的生效 IPC(主分类):G01R31/28 申请日:20160412

    实质审查的生效

  • 2016-09-28

    公开

    公开

说明书

技术领域

本发明涉及包处理芯片的测试技术领域,具体来讲是一种实现高效测试的虚拟测试仪表及测试方法。

背景技术

随着包处理芯片的需求扩大化及协议复杂化,芯片验证环节的高效性显得尤为重要。实际开发过程中,通常需要在功能模型、寄存器传输级(Register Transport Level)、FPGA(Field Programmable GateArray,现场可编程门阵列)原型等不同级别上做大量的测试(验证)工作。

目前,功能模型和寄存器传输级的测试以虚拟测试仪表的形式驱动收发,FPGA原型测试阶段则通过实体仪表的形式驱动收发。由于上述3个阶段的测试所采用的方法不同,一般需要为每个阶段单独设计一套硬件或软件来分别实现,使得不同测试阶段的测试用例可重用性差,整个过程异常复杂;并且,以OAM(Operation Administrationand Maintenance,操作、管理、维护)为代表的协议测试在FPGA原型测试之前欠缺完备的测试环境,整个芯片的测试周期较长、测试效率较低。

发明内容

针对现有技术中存在的缺陷,本发明的目的在于提供一种实现高效测试的虚拟测试仪表及测试方法,能够增强测试用例的可重用性,简化测试过程;还能缩短不同验证阶段的收敛时间,提高测试效率。

为达到以上目的,本发明采取的技术方案是:提供一种实现高效测试的虚拟测试仪表,该虚拟测试仪表进行测试时与被测设备DUT连接,包括顺次相连的配置模块、发送模块、接收模块、检查模块、比对模块和结果输出模块;所述配置模块用于:对测试用例中的数据发送、接收期望进行配置;所述发送模块用于:将测试用例中数据发送、接收期望的配置封装成发送帧发送至DUT;并将封装的发送帧以Log文件的形式存储;所述接收模块用于:对DUT输出的帧信息进行接收,将接收到的帧定义为接收帧;所述检查模块用于:根据测试用例中数据发送、接收期望的配置,对接收帧进行有效性检查;所述比对模块用于:根据测试用例中接收期望的配置,对接收帧进行帧内容的比对,以验证接收帧的正确性;所述结果输出模块用于:将测试结果以Log文件的形式输出。

在上述技术方案的基础上,所述发送模块内设置有超时定时器,超时定时器在发送模块进行发送时启动,若在超时定时器设置的超时时间内收到对端DUT的响应,则表示发送正常,可继续执行其他操作;若在超时定时器设置的超时时间内未收到对端DUT的响应,则表示发送不正常,结束此次测试。

在上述技术方案的基础上,该虚拟测试仪表同时支持3种应用场景:系统功能模型测试、软硬件协同仿真测试、FPGA原型测试;当应用场景为系统功能模型测试时,被测设备DUT对应为C模型封装器;当应用场景为软硬件协同仿真测试时,被测设备DUT对应为RTL测试平台;当应用场景为FPGA原型测试时,被测设备DUT对应为FPGA。

在上述技术方案的基础上,当应用场景为系统功能模型测试或软硬件协同仿真测试时,虚拟测试仪表的发送模块、接收模块均直接与DUT相连;当应用场景为FPGA原型测试时,该虚拟测试仪表内部还增设有发送转换模块、接收转换模块,且虚拟测试仪表与DUT之间还增设有实体测试仪表,所述发送模块、接收模块分别通过发送转模块、接收转换模块与实体测试仪表相连。

本发明还提供一种基于上述虚拟测试仪表的实现高效测试的测试方法,包括以下步骤:

步骤S1、配置:对测试用例中的数据发送、接收期望进行配置,转入步骤S2;

步骤S2、发送:将测试用例中数据发送、接收期望的配置封装成发送帧发送至DUT;并将封装的发送帧以Log文件的形式存储,转入步骤S3;

步骤S3、接收:对DUT输出的帧信息进行接收,将接收到的帧定义为接收帧,转入步骤S4;

步骤S4、检查:根据测试用例中数据发送、接收期望的配置,对接收帧进行有效性检查,若检查通过,则转入步骤S5;若检查未通过,则给出本测试用例失败信息及具体原因,结束;

步骤S5、比对:根据测试用例中接收期望的配置,对接收帧进行帧内容的比对,若比对通过,则判定为正确的接收,转入步骤S6;若比对未通过,则判定为错误的接收,结束;

步骤S6、结果输出:将测试结果以Log文件的形式输出,结束。

在上述技术方案的基础上,在执行步骤S2的同时,还包括以下步骤:在进行发送帧的发送时启动超时定时器,判断在超时定时器设置的超时时间内是否收到对端DUT的响应,若是,则表示发送正常,可继续执行其他操作;否则表示发送不正常,结束此次测试。

在上述技术方案的基础上,该测试方法可适用于3种应用场景:系统功能模型测试、软硬件协同仿真测试、FPGA原型测试;步骤S2中,当应用场景为系统功能模型测试或软硬件协同仿真测试时,是以消息传递的方式将发送帧直接发送至DUT;当应用场景为FPGA原型测试时,则需对发送帧进行转换后,通过驱动实体测试仪表执行发送;步骤S3中,当应用场景为系统功能模型测试或软硬件协同仿真测试时,是以接收消息的形式获取DUT输出的帧信息;当应用场景为FPGA原型测试时,则需通过实体测试仪表采集DUT输出的帧信息,然后再对实体测试仪表采集的帧信息进行转换后接收。

在上述技术方案的基础上,步骤S1中,对测试用例中的数据发送、接收期望进行配置时,数据发送的配置内容包括:发送端口号、帧数量、帧长度、帧内容和发送模式;接收期望的配置内容包括:有效性检查模式、有效性检查内容、期望接收的端口号、期望收帧数量、期望收帧长度和期望帧内容;步骤S2具体包括以下步骤:

步骤S201、配置合法性检验:判断测试用例中数据发送、接收期望的配置是否合法,若是,转入步骤S202;否则,给出错误提示并结束;

步骤S202、期望池确定:根据测试用例中有关接收期望的配置,组建出期望池,转入步骤S203;

步骤S203、发送帧内容封装:根据测试用例中已设的协议域信息以及Payload信息,完成发送帧内容的封装,发送帧内容中包含期望池,转入步骤S204;

步骤S204、发送帧描述加载:根据测试用例中数据发送、接收期望的配置得到帧描述信息,帧描述信息包括:发送端口号、期望接收的端口号、流ID、包ID、丢弃指示、ICRC验证值;将帧描述信息加载到发送帧中,转入步骤S205;

步骤S205、发送帧发送:按照测试用例中所配置的发送模式,将加载有帧描述信息的发送帧发送至DUT;并将该发送帧以Log文件的形式存储。

在上述技术方案的基础上,步骤S4具体包括以下操作:

步骤S401、帧描述解析:从接收帧中解析出帧描述信息,检查帧描述信息是否合法,若是,转入步骤S402;若否,给出帧描述不合法的错误提示,结束;

步骤S402、接收存储及统计:将接收帧以Log文件的形式存储,并对收发包进行统计,转入步骤S403;

步骤S403、超时检查:判断接收帧是否是在超时时间内发送的有效帧,若是,转入步骤S404;否则,给出超时错误提示,结束;

步骤S404、丢弃性检查:根据解析出的帧描述信息的丢弃指示,判断接收帧是否在发送时标识为期望丢弃的帧,以验证DUT的丢弃、转发行为的正确性,若是,给出丢弃包错误提示,结束;否则,转入步骤S405;

步骤S405、接收端口检查:判断接收帧的接收端口是否正确,以验证DUT的转发路径的正确性,若是,转入步骤S406;否则,给出收包端口错误的提示,结束;

步骤S406、有效性检查:从IP检查、FCS检查、帧长度检查、ICRC检查中选择一种或多种检查模式,对接收帧的合法性进行检查,若检查通过,则转入步骤S5;若检查未通过,则给出相应错误提示后,结束。

在上述技术方案的基础上,步骤S5具体包括以下操作:

步骤S501:确定比对模式,若为绝对匹配模式,转入步骤S502;若为库匹配模式,转入步骤S503;

步骤S502:选择期望池中帧描述信息与之匹配的期望帧;将该期望帧与接收帧信息逐一比对,只有接收帧与期望帧的信息完全匹配才判定为正确的接收;否则,判定为错误的接收,给出具体不匹配的信息提示并保存到Log文件中,结束;

步骤S503:将接收帧信息与期望池中的期望帧逐一比对,只要存在匹配的期望帧,则判定为正确的接收;否则,判定为错误的接收,给出错误信息并保存到Log文件中,结束。

本发明的有益效果在于:

1、本发明的虚拟测试仪表包括配置模块、发送模块、接收模块、检查模块、比对模块和结果输出模块。其中,发送模块能将测试用例中数据发送、接收期望的配置封装成发送帧发送至DUT(Device undertest,被测设备);接收模块能对DUT输出的帧信息进行接收;检查模块能根据测试用例中数据发送、接收期望的配置(即期望配置),对接收帧进行有效性检查;比对模块能根据测试用例中接收期望的配置(即期望帧内容),对接收帧进行帧内容的比对,以验证接收帧的正确性;结果输出模块能将测试结果以Log文件的形式输出,以便测试人员(或用户)快速查看、定位测试用例的异常,还便于回归测试的自动运行。

与现有技术相比,本发明通过具有上述功能模块的虚拟测试仪表,能实现高效的包处理芯片的测试,能对DUT的输出结果进行自动比对,无需人工参与,将繁琐的测试任务自动化,提高测试效率,缩短测试时间,从而提高测试准确性和测试人员的积极性,并且可以进行大规模的回归测试,具有可复现性,能彻底将测试技术人员从重复的工作中解脱出来,使其可以投入更多精力到设计更好的测试用例中。

2、本发明适用于包处理芯片的整个测试周期,尤其是前端测试,效果非常显著,初期系统模型测试期间能够将所有测试用例测试完成,后续的软硬协同仿真测试阶段和FPGA原型测试阶段仍然可以沿用之前的测试用例,在不修改原有测试用例的情况下,只需修改少量全局配置参数置即可完成测试,可实现最大限度地复用前期测试资源,不但增强测试用例的可重用性,简化测试过程;还能缩短不同验证阶段的收敛时间,提高测试效率。

3、本发明为OAM协议测试提供了高效的验证方案,改善了FPGA互通阶段才进行OAM协议测试的业内常规做法,实现在FPGA测试初期即可复用在系统模型测试阶段的大批量测试用例,自动完成OAM基本功能的测试,提高了验证效率,降低了调试成本。

附图说明

图1为本发明实施例中虚拟测试仪表的结构框图;

图2为系统功能模型测试的应用场景示意图;

图3为软硬件协同仿真测试的应用场景示意图;

图4为FPGA原型测试的应用场景示意图;

图5为本发明实施例中实现高效测试的测试方法的流程图;

图6为步骤S2的具体流程图;

图7为步骤S4的具体流程图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述。

参见图1所示,本发明实施例提供一种实现高效测试的虚拟测试仪表,该虚拟测试仪表进行测试时与被测设备DUT(Device under test)连接。具体来说,该虚拟测试仪表包括顺次相连的配置模块、发送模块、接收模块、检查模块、比对模块和结果输出模块。

其中,配置模块用于:对测试用例中的数据发送、接收期望进行配置;具体来说,数据发送的配置内容包括:发送端口号、帧数量、帧长度、帧内容和发送模式;接收期望的配置内容包括:有效性检查模式、有效性检查内容、期望接收的端口号、期望收帧数量、期望收帧长度和期望帧内容。

发送模块用于:将测试用例中数据发送、接收期望的配置封装成发送帧发送至DUT;并将封装的发送帧以Log(日志)文件的形式存储。

接收模块用于:对DUT输出的帧信息进行接收,并将接收到的帧定义为接收帧。

检查模块用于:根据测试用例中数据发送、接收期望的配置(即期望配置),对接收帧进行有效性检查;有效性检查内容包括接收端口号是否正确、帧数量是否一致、协议类型检查是否通过、帧长度是否匹配、校验是否正确等。

比对模块用于:根据测试用例中接收期望的配置(即期望帧内容),对接收帧进行帧内容的比对,以验证接收帧的正确性。

结果输出模块用于:将测试结果以Log文件的形式输出。

参见图2至图4所示,本发明的虚拟测试仪表同时支持3种应用场景:系统功能模型测试(C-model,又称C模型测试)、软硬件协同仿真测试(Co-simulation)、FPGA原型测试(Emulation)。当应用场景为系统功能模型测试时,被测设备DUT对应为C模型封装器,如图2所示;当应用场景为软硬件协同仿真测试时,被测设备DUT对应为RTL(Register Transport Level,寄存器传输级)测试平台,如图3所示;当应用场景为FPGA原型测试时,被测设备DUT对应为FPGA,如图4所示。

在此基础上,参见图2和图3所示,当应用场景为系统功能模型测试或软硬件协同仿真测试时,虚拟测试仪表的发送模块、接收模块均直接与DUT相连;而参见图4所示,当应用场景为FPGA原型测试时,该虚拟测试仪表内部还增设有用于实现转换的发送转换模块、接收转换模块,且虚拟测试仪表与DUT之间还增设有实体测试仪表,所述发送模块、接收模块分别通过发送转模块、接收转换模块与实体测试仪表相连。

另外,为了保证同步通信的有效性,避免出现因发送帧无法保证正常发送而出现卡死的现象(任意一端掉线而另外一端不知道的情况),本发明采用在发送模块内设置超时定时器的方式来解决上述问题。具体来说,所述发送模块内设置有超时定时器,超时定时器在发送模块进行发送时启动,若在超时定时器设置的超时时间内收到对端DUT的响应,则表示发送正常,可继续执行其他操作;若在超时定时器设置的超时时间内未收到对端DUT的响应,则表示发送不正常,结束此次测试。可以理解的是,超时定时器的超时时间可在测试用例中根据测试人员(或用户)的需要自行设置;若测试人员(或用户)未设置,则采用超时定时器的默认时间。具体来说,系统功能模型测试应用场景下的默认时间为5s,软硬件协同仿真测试、FPGA原型测试应用场景下的默认时间为180s,即3分钟。

参见图5所示,本发明实施例还提供一种基于上述虚拟测试仪表的实现高效测试的测试方法,包括以下步骤:

步骤S1、配置:对测试用例中的数据发送、接收期望进行配置,转入步骤S2;具体来说,数据发送的配置内容包括:发送端口号、帧数量、帧长度、帧内容和发送模式;接收期望的配置内容包括:有效性检查模式、有效性检查内容、期望接收的端口号、期望收帧数量、期望收帧长度和期望帧内容。

步骤S2、发送:将测试用例中数据发送、接收期望的配置封装成发送帧发送至DUT;并将封装的发送帧以Log(日志)文件的形式存储,转入步骤S3;

可以理解的是,步骤S2中,当应用场景为系统功能模型测试或软硬件协同仿真测试时,是以消息传递的方式将发送帧直接发送至DUT;当应用场景为FPGA原型测试时,需对发送帧进行转换后,通过驱动实体测试仪表执行发送。

步骤S3、接收:对DUT输出的帧信息进行接收,并将接收到的帧定义为接收帧,转入步骤S4;

可以理解的是,步骤S3中,当应用场景为系统功能模型测试或软硬件协同仿真测试时,是以接收消息的形式获取DUT输出的帧信息(即以接收消息的形式获取接收帧);当应用场景为FPGA原型测试时,需通过实体测试仪表采集DUT输出的帧信息,然后再对实体测试仪表采集的帧信息进行转换后接收。

步骤S4、检查:根据测试用例中数据发送、接收期望的配置(即期望配置),对接收帧进行有效性检查,有效性检查内容包括接收端口号是否正确、帧数量是否一致、协议类型检查是否通过、帧长度是否匹配、校验是否正确等;若检查通过,则转入步骤S5;若检查未通过,则给出本测试用例失败信息及具体原因,结束。

步骤S5、比对:根据测试用例中接收期望的配置(即期望帧内容),对接收帧进行帧内容的比对,以验证接收帧的正确性,若比对通过,则判定为正确的接收,转入步骤S6;若比对未通过,则判定为错误的接收,结束。

步骤S6、结果输出:将测试结果以Log文件的形式输出,结束。其中,测试结果包括收发包统计信息、有效性检查结果、帧内容比对结果以及测试的最终结论。本步骤既方便用户查看以快速定位测试用例的异常,又便于回归测试的自动运行。

实际操作时,为了保证同步通信的有效性,避免出现因发送帧无法保证正常发送而出现卡死的现象(任意一端掉线而另外一端不知道的情况),本发明采用超时判断的方式来解决上述问题。也就是说,在步骤S2的同时,还包括以下步骤:在进行发送帧的发送时启动超时定时器,判断在超时定时器设置的超时时间内是否收到对端DUT的响应,若是,则表示发送正常,可继续执行其他操作;否则表示发送不正常,结束此次测试。

在此基础上,参见图6所示,步骤S2具体包括以下步骤:

步骤S201、配置合法性检验:判断测试用例中数据发送、接收期望的配置是否合法,若是,转入步骤S202;否则,给出错误提示并结束;

步骤S202、期望池确定:根据测试用例中有关接收期望的配置,组建出由一系列期望的接收帧组成的期望池,该期望池用以在接收时做对比判断用,转入步骤S203;

步骤S203、发送帧内容封装:根据测试用例中已设的协议域信息以及Payload(净荷)信息,完成发送帧内容的封装,发送帧内容中包含期望池,转入步骤S204;

步骤S204、发送帧描述加载:根据测试用例中数据发送、接收期望的配置得到帧描述信息,帧描述信息包括:发送端口号、期望接收的端口号、流ID、包ID、丢弃指示、ICRC验证值;将帧描述信息加载到发送帧中,转入步骤S205;

步骤S205、发送帧发送:按照测试用例中所配置的发送模式,将加载有帧描述信息的发送帧通过对应端口发送至DUT;并将该发送帧以Log文件的形式存储。

进一步地,参见图7所示,步骤S4具体包括以下操作:

步骤S401、帧描述解析:从接收帧中解析出帧描述信息,检查帧描述信息是否合法,若是,转入步骤S402;若否,给出帧描述不合法的错误提示,结束;

步骤S402、接收存储及统计:将接收帧以Log文件的形式存储,并对收发包进行统计,转入步骤S403;

步骤S403、超时检查:判断接收帧是否是在超时时间内发送的有效帧,若是,转入步骤S404;否则,给出超时错误提示,结束;

步骤S404、丢弃性检查:根据解析出的帧描述信息的丢弃指示,判断接收帧是否在发送时标识为期望丢弃的帧,以验证DUT的丢弃、转发行为的正确性,若是,给出丢弃包错误提示,结束;否则,转入步骤S405;

步骤S405、接收端口检查:判断接收帧的接收端口是否正确,以验证DUT的转发路径的正确性,若是,转入步骤S406;否则,给出收包端口错误的提示,结束;

步骤S406、有效性检查:从IP检查、FCS(Frame Check Sequence,帧校验序列)检查、帧长度检查、ICRC(Inner Cyclic Redundancy Check,内部循环冗余校验)检查中选择一种或多种检查模式,对接收帧的合法性进行检查,若检查通过,则转入步骤S5;若检查未通过,则给出相应错误提示后,结束。

具体来说,IP检查、FCS检查、帧长度检查、ICRC检查的具体检查步骤分别为:

IP检查:若接收帧是IP帧,则对接收帧进行IP校验和的计算及比对,比对成功,表示IP检查通过;比对失败,表示IP检查未通过,则给出IP检查错误指示;

FCS检查:根据接收帧内容做CRC(Cyclic Redundancy Check,循环冗余校验)计算并且与接收帧的最后4B做比对,以验证FCS的正确性,比对成功,表示FCS检查通过;比对失败,表示FCS检查未通过,则给出FCS检查错误提示;

帧长度检查:判断接收帧的长度是否在期望收帧长度的范围内或与期望收帧长度相匹配,若是,表示帧长度检查通过;若否,表示帧长度检查未通过,则给出帧长度检查错误提示。本实施例提供绝对值检查、原始帧加减检查两种模式,可增强测试的直观性和可操作性。

ICRC检查:将发送帧、接收帧的部分或全部内容做CRC校验,以验证输入输出的一致性,CRC校验成功,表示ICRC检查通过;CRC校验失败,表示ICRC检查未通过,则给出ICRC检查错误提示。

进一步地,本发明在对接收帧进行帧内容的比对时,提供可选全部或者部分匹配的模式,在测试用例中仅对关心的部分帧内容做期望。配置时可选三种匹配模式:协议帧的逐个域信息、BYTE匹配(字节匹配)、BIT匹配(比特匹配)。为适应OAM协议测试需要,本发明提供绝对匹配和库匹配两种模式。具体来说,步骤S5具体包括以下操作:

步骤S501:确定比对模式,若为绝对匹配模式,转入步骤S502;若为库匹配模式,转入步骤S503;

步骤S502:选择期望池中帧描述信息与之匹配的期望帧;将该期望帧与接收帧信息逐一比对,只有接收帧与期望帧的信息完全匹配才判定为正确的接收;否则,判定为错误的接收,给出具体不匹配的信息提示并保存到Log文件中,结束;

步骤S503:将接收帧信息与期望池中的期望帧逐一比对,只要存在匹配的期望帧,则判定为正确的接收;否则,判定为错误的接收,给出错误信息并保存到Log文件中,结束。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号