CN108108306B - 一种提高报文解析测试覆盖率的方法及系统 - Google Patents
一种提高报文解析测试覆盖率的方法及系统 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test 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所述的系统,其特征在于,所述系统还包括随机激励池,所述随机激励池用于存储随机的测试激励,所述第二选择器还从随机激励池中选择随机的测试激励输入至报文解析模块和验证模块中。
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)
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)
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)
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 | 浪潮电子信息产业股份有限公司 | 一种基于断言的嵌入式存储控制器验证系统及方法 |
-
2018
- 2018-02-09 CN CN201810132697.6A patent/CN108108306B/zh active Active
Patent Citations (8)
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 |