一种自动化测试方法及系统的制作方法

文档序号:6634221阅读:157来源:国知局
一种自动化测试方法及系统的制作方法
【专利摘要】本发明公开了一种自动化测试方法及系统,该方法包括以下步骤:S1、伪随机发生器产生测试激励,训练样例收集整理模块对训练样例进行整理,得到概率表;S2、分类器使用所述概率表判断所述伪随机发生器产生的测试激励是否为有效激励,如果是,则执行步骤S4;否则,执行步骤S3;S3、所述伪随机发生器重新产生激励,并返回步骤S2;S4、偏置器测试有效激励的响应元素,产生与所述有效激励对应的新激励;S5、测试平台根据所述有效激励和所述新激励进行仿真验证,得到测试结果。本发明有方向性地产生测试激励,调整投入的测试激励,分类出高效的测试激励进行仿真验证,极大地缩短了测试验证的时间,提高了测试验证的效率。
【专利说明】一种自动化测试方法及系统

【技术领域】
[0001] 本发明涉及硬件仿真【技术领域】,具体涉及一种自动化测试方法及系统。

【背景技术】
[0002] 随着芯片设计工艺和规模的扩大,芯片的接口数量和逻辑复杂程度倍增,不仅提 高了对芯片设计人员的开发能力的要求,也提高了对芯片验证人员的验证能力的要求。由 于芯片逻辑和规模的扩大,芯片开发过程中的系统级仿真验证的验证环境复杂,芯片的模 拟验证时间周期也得到相应的延长,使得测试验证过程占用了整体开发周期的很大比重。
[0003] 现有技术中,使用BFM(Bus Function Model,总线功能建模)工具搭建测试平台 (Test Bench),由于BFM工具的运行速率较慢,测试人员的工作时间通常被浪费在等待仿真 结果上,并且每次测试验证都需要人工干预,相邻两次的测试验证也不是即时衔接的,造成 了机器资源的浪费。此外,在大规模的测试验证过程中,所需要的激励种类的纬度往往也很 大,极大地增加了人工设计测试激励的难度。


【发明内容】

[0004] 本发明提供了一种自动化测试方法及系统,以解决现有技术中测试验证效率低的 缺陷。
[0005] 本发明提供了一种自动化测试方法,包括以下步骤:
[0006] S1、伪随机发生器产生测试激励,训练样例收集整理模块对训练样例进行整理,得 到概率表;
[0007] S2、分类器使用所述概率表判断所述伪随机发生器产生的测试激励是否为有效激 励,如果是,则执行步骤S4 ;否则,执行步骤S3 ;
[0008] S3、所述伪随机发生器重新产生激励,并返回步骤S2 ;
[0009] S4、偏置器测试有效激励的响应元素,产生与所述有效激励对应的新激励;
[0010] S5、测试平台根据所述有效激励和所述新激励进行仿真验证,得到测试结果。
[0011] 可选地,所述步骤S5之后,还包括:
[0012] S6、所述测试平台根据所述测试结果,判断是否满足协议覆盖率的要求,如果是, 则结束流程;否则,所述测试平台将所述测试结果添加到所述训练样例中,并返回步骤Sl。
[0013] 可选地,所述伪随机发生器产生测试激励,具体为:
[0014] 所述伪随机发生器通过调整地址和指令类型的分布规律,采用局部随机的方式, 产生伪随机激励作为测试激励。
[0015] 可选地,所述偏置器测试有效激励的响应元素,产生与所述有效激励对应的新激 励,具体为:
[0016] 所述偏置器通过微调激励元素的构成,在所述有效激励中添加扰动,产生与有效 激励对应的新激励。
[0017] 可选地,所述训练样例收集整理模块对训练样例进行整理,得到概率表,具体为:
[0018] 所述训练样例收集整理模块对训练样例进行统计和计算,将得到的数据文件作为 概率表,所述训练样例包括测试结果和测试激励,所述测试结果包括覆盖统计。
[0019] 本发明还提供了一种自动化测试系统,包括:
[0020] 伪随机发生器,用于产生测试激励;
[0021] 训练样例收集整理模块,用于对训练样例进行整理,得到概率表;
[0022] 分类器,用于使用所述概率表判断所述伪随机发生器产生的测试激励是否为有效 激励,并在判断出所述测试激励不是有效激励时,触发所述伪随机发生器重新产生激励;
[0023] 偏置器,用于在所述分类器判断出所述测试激励为有效激励时,测试有效激励的 响应元素,产生与所述有效激励对应的新激励;
[0024] 测试平台,用于根据所述有效激励和所述新激励进行仿真验证,得到测试结果。
[0025] 可选地,所述测试平台,还用于根据所述测试结果,判断是否满足协议覆盖率的要 求,如果不满足,则将所述测试结果添加到所述训练样例中,并触发训练样例收集整理模块 对所述训练样例进行整理。
[0026] 可选地,所述伪随机发生器,具体用于通过调整地址和指令类型的分布规律,采用 局部随机的方式,产生伪随机激励作为测试激励。
[0027] 可选地,所述偏置器,具体用于通过微调激励元素的构成,在所述有效激励中添加 扰动,产生与有效激励对应的新激励。
[0028] 可选地,所述训练样例收集整理模块,具体用于对训练样例进行统计和计算,将得 到的数据文件作为概率表,所述训练样例包括测试结果和测试激励,所述测试结果包括覆 盖统计。
[0029] 本发明以协议覆盖率和激励元素的分布为驱动,对机器学习模型进行分段的多次 学习,有方向性地产生测试激励,调整投入的测试激励,分类出高效的测试激励进行仿真验 证,并通过偏置器对有效激励进行偏置操作,扩大了有效激励的规模,通过循环往复的自动 化运行,极大地缩短了测试验证的时间,解放了人力,提高了有效激励的产生比例、准确性, 以及测试验证的效率,具有高效率、低人力的特点。

【专利附图】

【附图说明】
[0030] 图1为本发明实施例中的一种自动化测试系统的结构示意图;
[0031] 图2为本发明实施例中的一种自动化测试方法流程图。

【具体实施方式】
[0032] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0033] 需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结 合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况 下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0034] 本发明实施例提供了一种自动化测试系统,如图1所示,包括测试平台、机器学 习激励生成器、训练样例收集整理模块、错误触发器,测试平台包括BFM工具、DUT (Device Under Test,被测器件)和结果校验模块(Result Checker),机器学习激励生成器用于产生 激励,包括伪随机发生器、分类器和偏置器。
[0035] 其中,训练样例收集整理模块,用于对训练样例进行整理,得到概率表。
[0036] 具体地,训练样例收集整理模块对训练样例进行统计和计算,将得到的数据文件 作为分类器所需的概率表,其中,训练样例包括测试结果和测试激励,测试结果包括覆盖统 计,即,对协议覆盖率的统计。
[0037] 本发明实施例自定义了概率表的数据存储格式,将大量的描述性名词映射成单字 符的形式,并按照一定的排版格式,将映射得到的单字符存储成文本文件。相应地,分类器 通过读取上述文本文件,获取概率表中的概率值。
[0038] 伪随机发生器,用于产生测试激励。
[0039] 其中,测试激励中的激励元素包括地址和指令类型。伪随机发生器可以通过调整 地址和指令类型的分布规律,采用局部随机的方式,产生伪随机激励作为测试激励。
[0040] 为了全方位的覆盖所有场景,本发明实施例中的伪随机发生器将指令组合、请求 节点、目的地址、延迟间隔和函数设置作为随机化方向,产生伪随机激励。其中,指令组合为 12种指令的随机组合,请求节点为发起请求的源,目的地址为发起请求的地址,延迟间隔为 每条指令间的延迟,函数设置为测试平台中设计的相应的开关函数,指令条数为每次产生 的伪随机激励的指令条数。
[0041] 分类器,用于使用概率表判断伪随机发生器产生的测试激励是否为有效激励。
[0042] 具体地,分类器是基于改进型朴素贝叶斯机器学习算法设计的分类器,使用训练 样例收集整理模块整理得到的概率表,对伪随机发生器产生的激励进行有效激励的判定, 并将通过测试的有效激励加入到偏置器上。
[0043] 其中,分类器所用的算法为基于改进型朴素贝叶斯机器学习算法,分类器根据该 算法中的定理公式,计算训练样例中出现过的测试激励对协议覆盖率的贡献,据此得出一 个比较模糊的新产生的激励对未覆盖项的贡献值P,并计算新产生的激励元素的出现较以 往测试激励的分布值d,判断P和d是否满足预设的阈值,如果满足,则确定测试激励为有效 激励;否则,确定测试激励不是有效激励。上述算法能够满足朴素贝叶斯型机器学习模型分 类要求中训练样例必须覆盖所有分类项的要求,也就是说,在本发明实施例的自动化测试 系统中,分类项(覆盖)是逐步增长的,验证过程是以协议覆盖率作为驱动的。
[0044] 偏置器,用于测试有效激励的响应元素,产生与有效激励对应的新激励,以扩大激 励的规模。
[0045] 本发明实施例中,如果覆盖统计中的两条覆盖之间的不同元素小于两个,则确定 上述两条覆盖为相近覆盖。设每条覆盖元素集合为D,按照以下公式对D中的各维数定义减 法运算:

【权利要求】
1. 一种自动化测试方法,其特征在于,包括以下步骤: 51、 伪随机发生器产生测试激励,训练样例收集整理模块对训练样例进行整理,得到概 率表; 52、 分类器使用所述概率表判断所述伪随机发生器产生的测试激励是否为有效激励, 如果是,则执行步骤S4 ;否则,执行步骤S3 ; 53、 所述伪随机发生器重新产生激励,并返回步骤S2 ; 54、 偏置器测试有效激励的响应元素,产生与所述有效激励对应的新激励; 55、 测试平台根据所述有效激励和所述新激励进行仿真验证,得到测试结果。
2. 如权利要求1所述的方法,其特征在于,所述步骤S5之后,还包括: 56、 所述测试平台根据所述测试结果,判断是否满足协议覆盖率的要求,如果是,则结 束流程;否则,所述测试平台将所述测试结果添加到所述训练样例中,并返回步骤S1。
3. 如权利要求1所述的方法,其特征在于,所述伪随机发生器产生测试激励,具体为: 所述伪随机发生器通过调整地址和指令类型的分布规律,采用局部随机的方式,产生 伪随机激励作为测试激励。
4. 如权利要求1所述的方法,其特征在于,所述偏置器测试有效激励的响应元素,产生 与所述有效激励对应的新激励,具体为: 所述偏置器通过微调激励元素的构成,在所述有效激励中添加扰动,产生与有效激励 对应的新激励。
5. 如权利要求1所述的方法,其特征在于,所述训练样例收集整理模块对训练样例进 行整理,得到概率表,具体为: 所述训练样例收集整理模块对训练样例进行统计和计算,将得到的数据文件作为概率 表,所述训练样例包括测试结果和测试激励,所述测试结果包括覆盖统计。
6. -种自动化测试系统,其特征在于,包括: 伪随机发生器,用于产生测试激励; 训练样例收集整理模块,用于对训练样例进行整理,得到概率表; 分类器,用于使用所述概率表判断所述伪随机发生器产生的测试激励是否为有效激 励,并在判断出所述测试激励不是有效激励时,触发所述伪随机发生器重新产生激励; 偏置器,用于在所述分类器判断出所述测试激励为有效激励时,测试有效激励的响应 元素,产生与所述有效激励对应的新激励; 测试平台,用于根据所述有效激励和所述新激励进行仿真验证,得到测试结果。
7. 如权利要求6所述的系统,其特征在于, 所述测试平台,还用于根据所述测试结果,判断是否满足协议覆盖率的要求,如果不满 足,则将所述测试结果添加到所述训练样例中,并触发训练样例收集整理模块对所述训练 样例进行整理。
8. 如权利要求6所述的系统,其特征在于, 所述伪随机发生器,具体用于通过调整地址和指令类型的分布规律,采用局部随机的 方式,产生伪随机激励作为测试激励。
9. 如权利要求6所述的系统,其特征在于, 所述偏置器,具体用于通过微调激励元素的构成,在所述有效激励中添加扰动,产生与 有效激励对应的新激励。
10.如权利要求6所述的系统,其特征在于, 所述训练样例收集整理模块,具体用于对训练样例进行统计和计算,将得到的数据文 件作为概率表,所述训练样例包括测试结果和测试激励,所述测试结果包括覆盖统计。
【文档编号】G06F11/36GK104360944SQ201410645683
【公开日】2015年2月18日 申请日期:2014年11月12日 优先权日:2014年11月12日
【发明者】史宏志 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1