首页> 中国专利> 用于超大规模芯片验证的回归测试用例维护方法及系统

用于超大规模芯片验证的回归测试用例维护方法及系统

摘要

本申请提供了一种用于超大规模芯片验证的回归测试用例维护方法,确定与目标超大规模芯片的功能相对应的覆盖率目标;根据所述覆盖率目标,构造测试激励组;利用所述测试激励组进行验证,统计覆盖率,并将所述测试激励组保存在测试用例集合中;判断统计的覆盖率是否达到所述覆盖率目标,若是,则判断是否需要回归测试,若是,则对所述测试用例集合进行优化,去除冗余的测试用例;利用优化后的测试用例集合进行验证,统计并保存优化后的覆盖率。本申请基于覆盖率的方法,对测试用例集合进行了优化处理,然后利用优化后的测试用例集合进行验证,提高了回归测试的效率,在保证了回归测试有效性的同时,节省了保存激励和运行仿真的资源和时间。

著录项

  • 公开/公告号CN105260534A

    专利类型发明专利

  • 公开/公告日2016-01-20

    原文格式PDF

  • 申请/专利权人 浪潮(北京)电子信息产业有限公司;

    申请/专利号CN201510652390.5

  • 发明设计人 李拓;

    申请日2015-10-10

  • 分类号G06F17/50(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人罗满

  • 地址 100085 北京市海淀区上地信息路2号2-1号C栋1层

  • 入库时间 2023-12-18 13:47:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-18

    授权

    授权

  • 2016-02-17

    实质审查的生效 IPC(主分类):G06F17/50 申请日:20151010

    实质审查的生效

  • 2016-01-20

    公开

    公开

说明书

技术领域

本申请涉及芯片设计领域,特别涉及一种用于超大规模芯片验证的回 归测试用例维护方法及系统。

背景技术

随着技术的发展,人们对超大规模芯片验证的回归测试用例维护的方 法越来越关注。

传统的回归测试用例,直接应用上一轮测试中的绝大部分测试用例, 这种方法在小规模的验证以及设计已经相对稳定的验证中比较合适,但 是在超大规模的芯片验证中,大量冗余的测试用例会给保存和回归测试 造成极大的资源和时间的浪费。

因此,如何有效的实现超大规模芯片的验证,提高验证效率,节约资 源和时间是本领域技术人员目前需要解决的技术问题。

发明内容

本申请所要解决的技术问题是提供一种用于超大规模芯片验证的回 归测试用例维护方法及系统,解决了现有技术中应用传统的回归测试用 例对超大规模的芯片验证中,大量冗余的测试用例会给保存和回归测试 造成极大的资源和时间的浪费的问题。

其具体方案如下:

一种用于超大规模芯片验证的回归测试用例维护方法,该方法包括:

确定与目标超大规模芯片的功能相对应的覆盖率目标;

根据所述覆盖率目标,构造测试激励组;

利用所述测试激励组进行验证,统计覆盖率,并将所述测试激励组保 存在测试用例集合中;

判断统计的覆盖率是否达到所述覆盖率目标,若是,则判断是否需要 回归测试,若是,则对所述测试用例集合进行优化,去除冗余的测试用 例;

利用优化后的测试用例集合进行验证,统计并保存优化后的覆盖率。

上述的方法,优选的,在所述利用所述测试激励组进行验证之后,所 述判断统计的覆盖率是否达到所述覆盖率目标之前,还包括:

判断所述目标超大规模芯片是否需要进行修改,若是,则执行所述对 所述测试用例集合进行优化,去除冗余的测试用例的步骤,若否,则执 行所述判断统计的覆盖率是否达到所述覆盖率目标的步骤。

上述的方法,优选的,还包括:

判断所述优化后的覆盖率是否达到所述覆盖率目标,若否,则执行所 述根据所述覆盖率目标,构造测试激励组的步骤,若是,则判断是否需 要回归测试,若是,则执行所述对所述测试用例集合进行优化,去除冗 余的测试用例的步骤,若否,则验证结束。

一种用于超大规模芯片验证的回归测试用例维护系统,该系统包括:

确定单元,用于确定与目标超大规模芯片的功能相对应的覆盖率目 标;

构造单元,用于根据所述覆盖率目标,构造测试激励组;

第一验证单元,用于利用所述测试激励组进行验证,统计覆盖率,并 将所述测试激励组保存在测试用例集合中;

第一判断单元,用于判断统计的覆盖率是否达到所述覆盖率目标,若 是,则判断是否需要回归测试,若是,则对所述测试用例集合进行优化, 去除冗余的测试用例;

第二验证单元,用于利用优化后的测试用例集合进行验证,统计并保 存优化后的覆盖率。

上述的系统,优选的,还包括:

第二判断单元,用于判断所述目标超大规模芯片是否需要进行修改。

上述的系统,优选的,还包括:

第三判断单元,用于判断所述优化后的覆盖率是否达到所述覆盖率目 标。

本申请提供的一种用于超大规模芯片验证的回归测试用例维护方法 中,确定与目标超大规模芯片的功能相对应的覆盖率目标;根据所述覆 盖率目标,构造测试激励组;利用所述测试激励组进行验证,统计覆盖 率,并将所述测试激励组保存在测试用例集合中;判断统计的覆盖率是 否达到所述覆盖率目标,若是,则判断是否需要回归测试,若是,则对 所述测试用例集合进行优化,去除冗余的测试用例;利用优化后的测试 用例集合进行验证,统计并保存优化后的覆盖率。本申请基于覆盖率的 方法,对测试用例集合进行了优化处理,然后利用优化后的测试用例集 合进行验证,提高了回归测试的效率,在保证了回归测试有效性的同时, 节省了保存激励和运行仿真的资源和时间。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描 述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图 仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出 创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请的一种用于超大规模芯片验证的回归测试用例维护方 法实施例1的流程图;

图2是本申请的一种用于超大规模芯片验证的回归测试用例维护方 法实施例2的流程图;

图3是本申请的一种用于超大规模芯片验证的回归测试用例维护方 法中对测试用例集合进行优化的过程图;

图4是本申请的一种用于超大规模芯片验证的回归测试用例维护系 统实施例1的示意图;

图5是本申请的一种用于超大规模芯片验证的回归测试用例维护系 统实施例2的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案 进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实 施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本 申请保护的范围。

参考图1,示出了本申请一种用于超大规模芯片验证的回归测试用例 维护方法实施例1的流程图,可以包括以下步骤:

步骤S101:确定与目标超大规模芯片的功能相对应的覆盖率目标。

通过设计人员或者验证人员对超大规模芯片设计的了解,明确需要 覆盖的功能点,并据此来设置相应明确的覆盖率目标。

本申请中确定覆盖率目标要遵循两个标准,一是要对芯片的功能覆 盖完全;二是覆盖率目标必须是细致的以及可量化的。

前者保证了以覆盖率作为衡量验证完成程度标准的有效性,后者保 证了对覆盖率情况进行统计和分析的可行性。

步骤S102:根据所述覆盖率目标,构造测试激励组。

本申请中,可以根据是覆盖率目标,随机产生激励组,或者定向产生 激励组。

在距离覆盖率目标差距比较大的时候,可以根据情况引入随机生成的 激励进行验证。

但无论是随机激励还是定向激励,都是以包含一定数量的激励的激励 组来作单次验证,并且,根据要覆盖功能的不同,尽可能地减少组中的 激励数目。

步骤S103:利用所述测试激励组进行验证,统计覆盖率,并将所述 测试激励组保存在测试用例集合中。

对于每组用于验证的激励,需要统计和记录该组激励单独的覆盖率结 果,并将其保存到测试用例集合中,并且需要将对应的该组覆盖率结果 保存下来。

根据覆盖率的类型(代码覆盖率,功能点覆盖率或者自行定义的覆盖 率),可以通过EDA工具自带的覆盖率统计功能(主要针对代码覆盖率) 或由验证人员在验证平台加入相应的功能得到。

步骤S104:判断统计的覆盖率是否达到所述覆盖率目标,若是,则 执行步骤S105:判断是否需要回归测试,若是,则执行步骤S106:对所 述测试用例集合进行优化,去除冗余的测试用例。

本申请中对测试用例集合进行优化,指的是以覆盖率作为标准,从已 有的测试用例集合中找出一组在效果上等同于整个集合的尽可能小的子 集,并用该子集作为新的回归测试用的用例集合。

当覆盖率和激励组数量较小的时候,可以通过人工的方式优化,否则, 可以用脚本以及简单的算法自动化完成该部分工作。

步骤S107:利用优化后的测试用例集合进行验证,统计并保存优化 后的覆盖率。

本申请提供的一种用于超大规模芯片验证的回归测试用例维护方法 中,基于覆盖率的方法,对测试用例集合进行了优化处理,然后利用优 化后的测试用例集合进行验证,提高了回归测试的效率,在保证了回归 测试有效性的同时,节省了保存激励和运行仿真的资源和时间。

参考图2,示出了本申请一种用于超大规模芯片验证的回归测试用例 维护方法实施例2的流程图,可以包括以下步骤:

步骤S201:确定与目标超大规模芯片的功能相对应的覆盖率目标。

步骤S202:根据所述覆盖率目标,构造测试激励组。

步骤S203:利用所述测试激励组进行验证,统计覆盖率,并将所述 测试激励组保存在测试用例集合中。

步骤S204:判断所述目标超大规模芯片是否需要进行修改,若是, 则执行步骤S205:对所述测试用例集合进行优化,去除冗余的测试用例, 若否,则执行步骤S208。

步骤S206:利用优化后的测试用例集合进行验证,统计并保存优化 后的覆盖率。

步骤S207:判断所述优化后的覆盖率是否达到所述覆盖率目标,若 否,则执行步骤S202,若是,则执行步骤S209。

步骤S208:判断统计的覆盖率是否达到所述覆盖率目标,若是,则 执行步骤S209,若否,则执行步骤S202。

步骤S209:判断是否需要进行回归测试,若是,则执行步骤S205, 若否,则执行步骤S210。

步骤S210:验证结束。

本申请中,在设计需要频繁迭代修改的阶段,对回归测试的时间要求 很高,而每次的回归测试除了用到之前的测试用例之外,很可能还需要 添加大量新的用例来测试新增的功能。

这样一来,在没有一个有效地删除冗余测例的情况下,回归测试的用 例集合会越来越庞大,让回归测试越来越低效。

本申请中,在应用于设计仍需要频繁迭代修改的阶段时,不会被引入 更多的冗余测例,从而保证了回归测试的效率。

参考图3,示出了本申请中对测试用例集合进行优化的过程图,在这 种基本的场景下,比如测例4可以覆盖测例1的所有功能点,那么就可 以直接找出冗余的测例1并去除,而在复杂一些的场景中,满足功能点 最小覆盖的测例组合可能有多种,那种情况下可以引入对测例规模的评 估来进行选择。

与上述本申请一种用于超大规模芯片验证的回归测试用例维护方法 实施例1所提供的方法相对应,参见图4,本申请还提供了一种用于超大 规模芯片验证的回归测试用例维护系统实施例1,在本实施例中,该系统 包括:

确定单元401,用于确定与目标超大规模芯片的功能相对应的覆盖率 目标。

构造单元402,用于根据所述覆盖率目标,构造测试激励组。

第一验证单元403,用于利用所述测试激励组进行验证,统计覆盖率, 并将所述测试激励组保存在测试用例集合中。

第一判断单元404,用于判断统计的覆盖率是否达到所述覆盖率目 标,若是,则判断是否需要回归测试,若是,则对所述测试用例集合进 行优化,去除冗余的测试用例。

第二验证单元405,用于利用优化后的测试用例集合进行验证,统计 并保存优化后的覆盖率。

参见图5,本申请还提供了一种用于超大规模芯片验证的回归测试用 例维护系统实施例2,在本实施例中,该系统包括:

确定单元501,用于确定与目标超大规模芯片的功能相对应的覆盖率 目标。

构造单元502,用于根据所述覆盖率目标,构造测试激励组。

第一验证单元503,用于利用所述测试激励组进行验证,统计覆盖率, 并将所述测试激励组保存在测试用例集合中。

第二判断单元504,用于判断所述目标超大规模芯片是否需要进行修 改。

第一判断单元505,用于判断统计的覆盖率是否达到所述覆盖率目 标,若是,则判断是否需要回归测试,若是,则对所述测试用例集合进 行优化,去除冗余的测试用例。

第二验证单元506,用于利用优化后的测试用例集合进行验证,统计 并保存优化后的覆盖率。

第三判断单元507,用于判断所述优化后的覆盖率是否达到所述覆盖 率目标。

综上,本申请中考虑到对于超大规模芯片仿真验证的需求,针对验证 中需要反复进行的回归测试,提出以明确定义的覆盖率作为对验证程度 和测试用例作用的评判标准,对测试用例的集合进行维护,优化掉在实 际效果上冗余的测试用例。

在保证了回归测试有效性的同时,节省了保存激励和运行仿真的资源 和时间。特别是在应用于设计仍需要频繁迭代修改的阶段时,测试用例 集合规模的增长基本与需要覆盖的功能点增长相一致,而不会被引入更 多的冗余测例,从而保证了回归测试的效率。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每 个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相 同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实 施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分 说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系 术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不 一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺 序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他 性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅 包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为 这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况 下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的 过程、方法、物品或者设备中还存在另外的相同要素。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然, 在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了 解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样 的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可 以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质 中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设 备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实 施例或者实施例的某些部分所述的方法。

以上对本申请所提供的一种用于超大规模芯片验证的回归测试用例 维护方法及系统进行了详细介绍,本文中应用了具体个例对本申请的原 理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请 的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请 的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本 说明书内容不应理解为对本申请的限制。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号