CN108108306B - 一种提高报文解析测试覆盖率的方法及系统 - Google Patents

一种提高报文解析测试覆盖率的方法及系统 Download PDF

Info

Publication number
CN108108306B
CN108108306B CN201810132697.6A CN201810132697A CN108108306B CN 108108306 B CN108108306 B CN 108108306B CN 201810132697 A CN201810132697 A CN 201810132697A CN 108108306 B CN108108306 B CN 108108306B
Authority
CN
China
Prior art keywords
module
excitation
pool
configuration information
message analysis
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.)
Active
Application number
CN201810132697.6A
Other languages
English (en)
Other versions
CN108108306A (zh
Inventor
闫亭玉
王晶
薛炜澎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Centec Communications Co Ltd
Original Assignee
Suzhou Centec Communications Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Centec Communications Co Ltd filed Critical Suzhou Centec Communications Co Ltd
Priority to CN201810132697.6A priority Critical patent/CN108108306B/zh
Publication of CN108108306A publication Critical patent/CN108108306A/zh
Application granted granted Critical
Publication of CN108108306B publication Critical patent/CN108108306B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明揭示了一种提高报文解析测试覆盖率的方法及系统,方法包括将初始化测试激励输入至验证模块中,同时将初始化测试激励存储至激励池中;验证模块根据初始化测试激励获得匹配报文解析数据流路径的配置信息并将配置信息存储至配置池中;从配置池中选取配置信息初始化至待测试的报文解析模块中;从激励池中选取初始化测试激励输入至待测试的报文解析模块和验证模块中,并对两者输出结果进行匹配。本发明能够在报文解析测试过程中提高设计代码的测试覆盖率,同时确保报文解析测试的随机性,快速发现存在设计缺陷的代码,适用于解析报文的芯片或模块。

Description

一种提高报文解析测试覆盖率的方法及系统
技术领域
本发明涉及一种集成电路技术领域,尤其是涉及一种提高报文解析测试覆盖率的方法及系统。
背景技术
网络芯片用于对报文头部进行解析并根据报文头部信息决定该报文的路由与转发。在解析过程中,由于报文头部包含多个信息,每个信息都决定报文不同的功能,不同的功能在设计代码中走不同的分支,因此,网络芯片在解析过程中会产生多个数据流的分支。
在验证网络芯片的过程中,为了满足验证的完备性,需要验证解析结果的每一条数据分支及其对应的功能是否正确。只有数据流分支的代码被执行到才能验证对应功能是否正确。现有技术中,通过在输入端发送随机化激励到待测设计模块中和验证模型中,概率性的覆盖数据流分支,通过足够多的测试激励去覆盖尽可能多的代码分支。此方法不能确保每一条数据流分支都会被执行到。当足够多的测试激励覆盖代码分支时,需要浪费大量的时间成本,更多的服务器资源,但是依然存在不确定的结果,效率低下。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种提高报文解析测试覆盖率的方法及系统。
为实现上述目的,本发明提出如下技术方案:一种提高报文解析测试覆盖率的方法,包括如下步骤:
S1,将初始化测试激励输入至验证模块中,同时将初始化测试激励存储至激励池中;
S2,验证模块根据初始化测试激励获得匹配报文解析数据流路径的配置信息,并将配置信息存储至配置池中;
S3,从配置池中选取配置信息初始化至待测试的报文解析模块中;
S4,从激励池中选取初始化测试激励输入至待测试的报文解析模块和验证模块中,并对两者输出结果进行匹配。
优选地,在步骤S2中,所述配置信息为报文解析模块中寄存器和存储器的表项配置。
优选地,步骤S3还包括选择随机的配置信息初始化至报文解析模块中。
优选地,步骤S4还包括选择随机的测试激励输入至验证模块和报文解析模块中,并对两者输出结果进行匹配。
一种提高报文解析测试覆盖率的系统,包括
激励池,用于存储初始化测试激励;
验证模块,用于对待测试的报文解析模块进行验证和根据输入的初始化测试激励获得匹配报文解析数据流路径的配置信息;
配置池,用于存储匹配报文解析数据流路径的配置信息;
第一选择器,用于从配置池中选择配置信息初始化至报文解析模块中;
第二选择器,用于从激励池中选择初始化测试激励输入至报文解析模块和验证模块中;以及
比较模块,用于对报文解析模块和验证模块的输出结果进行匹配。
优选地,所述配置信息为报文解析模块中寄存器和存储器的表项配置。
优选地,所述系统还包括随机配置池,所述随机配置池用于存储随机的配置信息,所述第一选择器还从随机配置池中选择配置信息初始化至报文解析模块中。
优选地,所述系统还包括随机激励池,所述随机激励池用于存储随机的测试激励,所述第二选择器还从随机激励池中选择随机的测试激励输入至报文解析模块和验证模块中。
本发明的有益效果是:
与现有技术相比,本发明通过将初始化测试激励先输入验证模型获得匹配报文解析数据流路径的配置信息,并将该配置信息初始化报文解析模块中,测试时选择初始化测试激励或选择随机的测试激励输入至报文解析模块和验证模块进行验证,一方面能够确保匹配到报文解析的每一条数据流路径,提高了设计代码的测试覆盖率,便于发现设计代码缺陷,另一方面还能够确保报文解析测试的随机性。
附图说明
图1是本发明的流程图示意图;
图2是本发明的系统结构框图示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
代码覆盖率是衡量设计代码已被验证代码测试过的一个重要指标。例如以太网报文解析设计模块的地址解析协议(ARP,Address Resolution Protocol)功能,只有该功能有被覆盖到,才能确保对应功能有验证过。设计模块中,ARP协议的功能经过一系列的逻辑变化,需要覆盖到其功能,往往需要特定的激励和配置,传统对该类型设计模块的验证激励是随机的,很难也无法保证能覆盖到对应功能。本发明中可通过验证代码提前获取能够覆盖特定ARP功能的激励和配置,然后再以这些进化过的激励和配置正式进行验证,从而能够确保覆盖到对应功能。
本发明所揭示的一种提高报文解析测试覆盖率的方法及系统,在报文解析测试过程中提高设计代码测试覆盖率的同时确保报文解析测试的随机性,快速发现存在设计缺陷的代码,适用于解析报文的芯片或模块。
如图1所示,一种提高报文解析测试覆盖率的方法,包括如下步骤:
S1,将初始化测试激励输入至验证模块中,同时将初始化测试激励存储至激励池中;
S2,验证模块根据初始化测试激励获得匹配报文解析数据流路径的配置信息,并将配置信息存储至配置池中。
具体地,本实施例中,以包含寄存器和存储器的报文解析模块为例进行详细的说明,当然,本发明不限于本实施例中所述的报文解析模块,还可适用于其他能够解析报文的芯片或模块。其中,寄存器和存储器用于存储匹配报文的表项。
为了对待测试的报文解析模块进行验证,需要构建与报文解析模块功能相一致、用于报文解析的验证模块。所述验证模块不仅能够对待测试的报文解析模块进行代码验证,还能够根据输入的初始化测试激励获得匹配报文解析数据流路径的配置信息。本实施例中,验证模块基于仿真环境构建,具有抽象层次高、仿真速度快、消耗资源少的优点,并且测试激励输入验证模块后可获得匹配解析数据流路径的寄存器和存储器表项配置信息。
为了确保待测的报文解析模块能够匹配报文解析的每一条数据流路径,本发明通过对输入至验证模块中的初始化测试激励进行备份,将其存储至激励池中。激励池中的初始化测试激励在测试报文解析模块时可作为测试激励输入至报文解析模块中,可保证待测试的报文解析模块匹配到预期的数据流路径,提高设计代码的测试覆盖率。
S3,从配置池中选取配置信息初始化至待测试的报文解析模块中;
S4,从激励池中选取初始化测试激励输入至待测试的报文解析模块和验证模块中并对两者输出结果进行匹配。
具体地,在待测试的报文解析模块中寄存器和存储器的配置信息可以从配置池中获取,配置池中的配置信息可保证待测试的报文解析模块的配置是可预期的。当从配置池中将配置信息初始化至报文解析模块中的寄存器和存储器后,从激励池中选择初始化测试激励输入至报文解析模块和验证模块中,并通过比较模块对两者的输出结果进行匹配。由于报文解析模块与验证模块的配置信息相同,初始化测试激励也从激励池中选择,因此,报文解析模块可以匹配到预期的数据流解析路径,提高了设计代码的测试覆盖率。
进一步地,为了保证报文解析模块测试的完备性,还需在报文解析模块中初始化随机的配置信息,并输入随机的测试激励,随机的配置信息和随机的测试激励可以确保验证流程的随机性,使报文解析模块的测试更具完备性。
与现有技术相比,本发明通过将激励池、配置池、随机的测试激励、随机的配置信息进行组合使用,一方面保证了报文解析模块能够匹配到每一条数据流路径,提高了测试过程中设计代码覆的测试覆盖率,另一方面保证了测试的随机性。
如图2所示,一种提高报文解析测试覆盖率的系统,包括激励池、验证模块、配置池、第一选择器、第二选择器,以及比较模块。其中,激励池用于存储初始化测试激励;验证模块用于对待测试的报文解析模块进行验证和根据输入的初始化测试激励获得匹配报文解析数据流路径的配置信息;配置池用于存储匹配报文解析数据流路径的配置信息;第一选择器用于从配置池中选择配置信息初始化至报文解析模块中;第二选择器用于从激励池中选择初始化测试激励输入至报文解析模块和验证模块中,比较模块用于对报文解析模块和验证模块的输出结果进行匹配。
具体地,验证模块不仅能够对待测试的报文解析模块进行代码验证,还能够根据输入的初始化测试激励获得匹配报文解析数据流路径的配置信息。本实施例中,初始化测试激励是测试人员自己设定的测试激励,其输入至验证模型后,验证模型输出的结果是可以匹配报文解析数据流路径的寄存器和存储器表项配置信息。获得的配置信息被存入至配置池中。当进行报文解析模块的代码验证时,首先,第一选择器从配置池中获取配置信息,该配置信息被初始化至报文解析模块的寄存器和存储器中。其次,第二选择器从激励池中选择初始化测试激励输入至报文解析模块和验证模块中,两者的输出结果至比较模块中。与现有技术相比,本发明通过将初始化测试激励先输入至验证模块中获得匹配数据流的配置信息,并将配置信息初始化报文解析模块中,测试时将初始化激励输入至报文解析模块和验证模块中。由于报文解析模块此时的配置信息跟初始化测试激励是相关联的,因此,报文解析模块可以匹配到预期的数据流解析路径,提高了报文解析过程中设计代码的测试覆盖率。
进一步地,为了保证验证的随机性,系统还包括随机激励池和随机配置池,随机激励池用于存储随机的测试激励,随机配置池用于存储随机的配置信息。在验证时,第一选择器可以选择随机配置池中的配置信息初始化至报文解析模块中。配置信息初始化完成后,第二选择器从随机化激励池中选择随机的测试激励输入至报文解析模块和验证模块中。通过测试激励池与随机激励池、配置池与随机配置池的组合使用,保证匹配到报文解析的每一条数据流路径,同时还保证验证流程的随机性。
本发明通过将初始化测试激励先输入验证模块,预先处理得到匹配报文解析数据流路径的配置信息,并将该配置信息初始化报文解析模块中,测试时从测试激励池中选择测试激励或选择随机激励输入至报文解析模块中,一方面提高了报文解析模块的测试覆盖率,便于发现设计代码缺陷,另一方面确保报文解析测试的随机性。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

Claims (8)

1.一种提高报文解析测试覆盖率的方法,其特征在于,包括如下步骤:
S1,将初始化测试激励输入至验证模块中,同时将初始化测试激励存储至激励池中;
S2,验证模块根据初始化测试激励获得匹配报文解析数据流路径的配置信息,并将配置信息存储至配置池中;
S3,从配置池中选取配置信息初始化至待测试的报文解析模块中;
S4,从激励池中选取初始化测试激励输入至待测试的报文解析模块和验证模块中,并对两者输出结果进行匹配。
2.根据权利要求1所述的方法,其特征在于,在步骤S2中,所述配置信息为报文解析模块中寄存器和存储器的表项配置。
3.根据权利要求1所述的方法,其特征在于,步骤S3还包括选择随机的配置信息初始化至报文解析模块中。
4.根据权利要求1所述的方法,其特征在于,步骤S4还包括选择随机的测试激励输入至验证模块和报文解析模块中,并对两者输出结果进行匹配。
5.一种提高报文解析测试覆盖率的系统,其特征在于,包括
激励池,用于存储初始化测试激励;
验证模块,用于对待测试的报文解析模块进行验证和根据输入的初始化测试激励获得匹配报文解析数据流路径的配置信息;
配置池,用于存储匹配报文解析数据流路径的配置信息;
第一选择器,用于从配置池中选择配置信息初始化至报文解析模块中;
第二选择器,用于从激励池中选择初始化测试激励输入至报文解析模块和验证模块中;以及
比较模块,用于对报文解析模块和验证模块的输出结果进行匹配。
6.根据权利要求5所述的系统,其特征在于,所述配置信息为报文解析模块中寄存器和存储器的表项配置。
7.根据权利要求5所述的系统,其特征在于,所述系统还包括随机配置池,所述随机配置池用于存储随机的配置信息,所述第一选择器还从随机配置池中选择配置信息初始化至报文解析模块中。
8.根据权利要求5所述的系统,其特征在于,所述系统还包括随机激励池,所述随机激励池用于存储随机的测试激励,所述第二选择器还从随机激励池中选择随机的测试激励输入至报文解析模块和验证模块中。
CN201810132697.6A 2018-02-09 2018-02-09 一种提高报文解析测试覆盖率的方法及系统 Active CN108108306B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810132697.6A CN108108306B (zh) 2018-02-09 2018-02-09 一种提高报文解析测试覆盖率的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810132697.6A CN108108306B (zh) 2018-02-09 2018-02-09 一种提高报文解析测试覆盖率的方法及系统

Publications (2)

Publication Number Publication Date
CN108108306A CN108108306A (zh) 2018-06-01
CN108108306B true CN108108306B (zh) 2021-10-15

Family

ID=62222126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810132697.6A Active CN108108306B (zh) 2018-02-09 2018-02-09 一种提高报文解析测试覆盖率的方法及系统

Country Status (1)

Country Link
CN (1) CN108108306B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112596966B (zh) * 2020-12-17 2022-11-01 海光信息技术股份有限公司 芯片验证方法、装置、设备、存储介质
CN116302994B (zh) * 2023-02-28 2023-10-10 浙江大学 一种程序路径的层次化匹配方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1549119A (zh) * 2003-05-07 2004-11-24 华为技术有限公司 逻辑仿真测试系统和方法
CN1577274A (zh) * 2003-07-01 2005-02-09 华为技术有限公司 自动化仿真方法及系统
CN1641595A (zh) * 2004-01-05 2005-07-20 华为技术有限公司 一种自适应滤波逻辑验证系统及方法
JP2007072604A (ja) * 2005-09-05 2007-03-22 Canon Inc 論理回路検証装置及びその制御方法、コンピュータプログラム及び記憶媒体
CN101183406A (zh) * 2007-12-25 2008-05-21 盛科网络(苏州)有限公司 网络芯片模块级功能验证测试平台的建立方法
CN105677990A (zh) * 2016-01-11 2016-06-15 盛科网络(苏州)有限公司 一种芯片验证中简化验证模型实现的方法
CN107038280A (zh) * 2017-03-10 2017-08-11 烽火通信科技股份有限公司 一种软硬件协同仿真的验证系统及其方法
CN107247859A (zh) * 2017-08-14 2017-10-13 深圳云天励飞技术有限公司 逻辑电路设计的验证方法、装置、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102497295B (zh) * 2011-12-12 2014-07-09 盛科网络(苏州)有限公司 一种以太网交换芯片队列管理器的rtl级验证方法及系统
CN104408264B (zh) * 2014-12-12 2018-01-09 浪潮电子信息产业股份有限公司 一种基于断言的嵌入式存储控制器验证系统及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1549119A (zh) * 2003-05-07 2004-11-24 华为技术有限公司 逻辑仿真测试系统和方法
CN1577274A (zh) * 2003-07-01 2005-02-09 华为技术有限公司 自动化仿真方法及系统
CN1641595A (zh) * 2004-01-05 2005-07-20 华为技术有限公司 一种自适应滤波逻辑验证系统及方法
JP2007072604A (ja) * 2005-09-05 2007-03-22 Canon Inc 論理回路検証装置及びその制御方法、コンピュータプログラム及び記憶媒体
CN101183406A (zh) * 2007-12-25 2008-05-21 盛科网络(苏州)有限公司 网络芯片模块级功能验证测试平台的建立方法
CN105677990A (zh) * 2016-01-11 2016-06-15 盛科网络(苏州)有限公司 一种芯片验证中简化验证模型实现的方法
CN107038280A (zh) * 2017-03-10 2017-08-11 烽火通信科技股份有限公司 一种软硬件协同仿真的验证系统及其方法
CN107247859A (zh) * 2017-08-14 2017-10-13 深圳云天励飞技术有限公司 逻辑电路设计的验证方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN108108306A (zh) 2018-06-01

Similar Documents

Publication Publication Date Title
CN102169846B (zh) 一种在集成电路晶圆测试过程中实现多维变量密码并行写入的方法
CN108446221A (zh) 系统测试方法、装置、计算机设备和存储介质
US7983866B2 (en) Device testing system and test data obtaining method
CN108108306B (zh) 一种提高报文解析测试覆盖率的方法及系统
US9110135B2 (en) Chip testing with exclusive OR
CN116956801B (zh) 芯片验证方法、装置、计算机设备和存储介质
CN105117340A (zh) 用于iOS浏览器应用质量评估的URL检测方法和装置
Kushik et al. On testing against partial non-observable specifications
CN103888314B (zh) 基于uio序列法验证有限状态机所处状态的方法
CN107294814A (zh) 一种片上网络的测试方法及装置
CN104750608A (zh) 一种程序中基于动态符号执行的自动错误定位方法
CN111782507B (zh) 数据测试方法、装置、存储介质及电子设备
CN106161452B (zh) 验证码的发送方法及装置
CN111131262B (zh) 一种漏洞扫描方法及装置
CN108156045A (zh) 一种软件定义分组传送网络sptn测试系统及方法
CN106294146B (zh) 参数替换测试方法及装置
Ural et al. Constructing checking sequences for distributed testing
George Constructing covering arrays using parallel computing and grid computing
CN111092788B (zh) 一种交换机测试系统
TWI266070B (en) Chip-level design under test verification environment and method thereof
Bernardi et al. SW-based transparent in-field memory testing
CN100389425C (zh) 实现数模混合型集成电路验证的方法及装置
CN108226743B (zh) 一种测试向量的生成方法及装置
CN106707144B (zh) 一种应用于反熔丝fpga测试向量的逆向分析方法
CN106155898A (zh) 一种流程图的路径获取方法及装置

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
CB02 Change of applicant information

Address after: 215101 unit 13 / 16, 4th floor, building B, No. 5, Xinghan street, Suzhou Industrial Park, Jiangsu Province

Applicant after: Suzhou Shengke Communication Co.,Ltd.

Address before: Unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, 215000 Jiangsu Province

Applicant before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant