首页> 中国专利> 一种基于随机用例的逻辑仿真验证回归测试系统及方法

一种基于随机用例的逻辑仿真验证回归测试系统及方法

摘要

本发明公开了一种基于随机用例的逻辑仿真验证回归测试系统及方法,涉及逻辑仿真测试技术领域。该方法包括以下步骤:创建随机用例列表,并在设定测试参数后启动回归测试;测试记录模块记录单轮执行情况;当硬盘存储空间大于单用例存储空间门限时,用例执行模块执行单用例,且首次执行仅带必要信息;待随机用列列表中所有单用例执行完后,种子更换模块判断是否满足随机种子更换条件,若是,则更换随机种子,进行下一轮回归测试,若否,则结束回归测试。本发明能解决日益增加的用例数量和硬盘存储资源有限的矛盾;高效快速定位;实现自动扩大验证空间的覆盖范围;同时还能降低回归测试过程中单条用例执行时间和占用资源。

著录项

  • 公开/公告号CN104794053A

    专利类型发明专利

  • 公开/公告日2015-07-22

    原文格式PDF

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

    申请/专利号CN201510195698.1

  • 发明设计人 董舒;

    申请日2015-04-22

  • 分类号

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

  • 代理人彭程程

  • 地址 430074 湖北省武汉市洪山区光谷创业街67号

  • 入库时间 2023-12-18 09:52:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-01

    授权

    授权

  • 2017-08-25

    专利申请权的转移 IPC(主分类):G06F11/36 登记生效日:20170804 变更前: 变更后: 申请日:20150422

    专利申请权、专利权的转移

  • 2017-06-30

    专利申请权的转移 IPC(主分类):G06F11/36 登记生效日:20170609 变更前: 变更后: 申请日:20150422

    专利申请权、专利权的转移

  • 2017-06-27

    专利申请权的转移 IPC(主分类):G06F11/36 登记生效日:20170606 变更前: 变更后: 申请日:20150422

    专利申请权、专利权的转移

  • 2015-08-19

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20150422

    实质审查的生效

  • 2015-07-22

    公开

    公开

查看全部

说明书

技术领域

本发明涉及逻辑仿真测试技术领域,具体来讲是一种基于随机用 例的逻辑仿真验证回归测试系统及方法。

背景技术

芯片设计和FPGA(Field Programmable Gate Array,现场可编程 逻辑门阵列)逻辑的规模不断增大,为了保证设计的质量,需要依靠 尽可能多尽可能有效的用例来验证其质量。随着用例数量的增加,对 用例的回归测试管理也需要更加有效的方法。回归测试中,所有用例 都由人去逐一执行会使回归测试的效率非常低下,所以需要用自动化 工具和脚本去管理,提高回归测试的效率。

另外,随着芯片和FPGA的验证技术日益成熟,随机验证已经成 为增加验证完备性的首选方式,通过随机验证可以有效扩大验证空间 的覆盖范围。一条随机用例,在不同的随机种子下执行可以产生不同 的用例配置,从而实现扩大验证空间的覆盖范围。

目前,有关自动化回归测试方法的研究和应用也越来越多。例如 公布号为CN103823747A的专利《自动回归测试的方法》,介绍了一 种分层次随机验证芯片的自动回归测试方法,可以收集每次回归测试 的信息。但是,当用例数量庞大时,资源的不足会导致回归测试效率 降低,甚至是异常中断。另外,该方法测试覆盖率有限,无法实现自 动扩大功能覆盖率的目的;也无法保证回归测试在运行资源有限的情 况下高效快速的运行;更不能自动筛选有效信息供开发人员高效定位 问题,需要再投入精力恢复问题现场,费时费力且占用资源大。

因此,如何设计一种既能解决用例数量和硬盘存储资源之间的矛 盾,又能有效提高定位问题的效率,还能实现回归测试中自动扩大验 证空间覆盖率的回归测试方法,是目前亟待解决的技术问题。

发明内容

本发明的目的是为了克服上述背景技术的不足,提供一种基于随 机用例的逻辑仿真验证回归测试系统及方法,能解决日益增加的用例 数量和硬盘存储资源有限的矛盾;高效快速定位;实现自动扩大验证 空间的覆盖范围;同时还能降低回归测试过程中单条用例执行时间和 占用资源。

为达到以上目的,本发明提供一种基于随机用例的逻辑仿真验证 回归测试系统,包括测试记录模块、用例执行模块和种子更换模块; 所述测试记录模块,用于记录回归测试中随机用例列表的单轮执行情 况;所述用例执行模块,用于判断当前硬盘存储空间是否大于设定的 单用例存储空间门限,若否,则终止回归测试;若是,则在关闭波形 收集选项、关闭除了用例结果以外的log信息的条件下,执行单用例, 并将相关执行文件存放到指定文件夹内;若该用例结果通过,则删除 该指定文件夹内的文件,并判断随机用例列表中的单用例是否全部执 行完;若该用例结果未通过,则在打开波形收集选项、打开所有log 信息的条件下,用相同随机种子再执行一次该单用例,并将相关执行 文件存放到定位文件夹内,再判断随机用例列表中的单用例是否全部 执行完;所述种子更换模块,用于在满足随机种子更换条件下,对随 机种子进行更换。

在上述技术方案的基础上,所述测试记录模块记录的随机用例列 表的单轮执行情况包括该轮随机用例列表执行开始时间、回归测试所 用设计代码、验证平台的版本号以及该轮随机用例列表执行的随机种 子号。

本发明还提供一种应用于上述系统的基于随机用例的逻辑仿真 验证回归测试方法,包括以下步骤:

S1、测试人员根据需要创建至少一个随机用例列表,设定回归测 试中单用例执行次数、不间断回归测试指示、错误用例数量门限和单 用例存储空间门限;设定完成后,启动回归测试,利用随机用列列表 进行测试,并转入S2;

S2、测试记录模块记录回归测试中随机用例列表的单轮执行情况, 并转入S3;

S3、用例执行模块判断当前硬盘存储空间是否大于设定的单用例 存储空间门限,若是,则转入S4,若否,则终止回归测试;

S4、用例执行模块在关闭波形收集选项、关闭除了用例结果以外 的log信息的条件下,执行单用例,并将相关执行文件存放到指定文 件夹内;若单用例结果通过,则删除该指定文件夹内的文件,并转入 S5,若单用例结果未通过,则在打开波形收集选项、打开所有log信 息的条件下,用相同随机种子再执行一次该单用例,并将相关执行文 件存放到定位文件夹内,再转入S5;

S5、用例执行模块判断随机用例列表中的单用例是否全部执行完, 若是,则转入S6,若否,则重复S3~S4,直至随机用例列表中所有 单用例执行完;

S6、种子更换模块判断是否满足随机种子更换条件,若是,则更 换随机种子,并转入S2,进行下一轮回归测试,若否,则结束回归 测试。

在上述技术方案的基础上,步骤S1中,启动回归测试,利用随 机用列列表进行测试时,若测试人员指定了随机用例列表,则自动化 回归测试该指定的随机用例列表;若测试人员没有指定随机用例列表, 则自动化回归测试默认随机用例列表。

在上述技术方案的基础上,步骤S2的具体过程为:测试记录模 块记录该轮随机用例列表执行开始时间、回归测试所用设计代码、验 证平台的版本号、该轮随机用例列表执行的随机种子号,并转入S3。

在上述技术方案的基础上,步骤S4中所述相关执行文件包括执 行结果、临时文件、可执行文件。

在上述技术方案的基础上,步骤S4中,若单用例结果通过,还 需进行融合覆盖率数据的操作,再转入S5。

在上述技术方案的基础上,步骤S5中,当随机用例列表中的单 用例全部执行完时,测试记录模块将记录该轮随机用例列表的执行结 束时间、统计耗时、错误用例数。

在上述技术方案的基础上,步骤S6中,种子更换模块判断是否 满足随机种子更换条件时,若不间断回归测试指示有效,则直接判定 为满足随机种子更换条件;若不间断回归测试指示无效,则需进一步 判断错误用例总数和随机用例列表执行次数,如果错误用例总数大于 设定的错误用例数量门限或者随机用例列表执行次数大于设定的单 用例执行次数,则判定为不满足随机种子更换条件,否则判定为满足 随机种子更换条件。

在上述技术方案的基础上,步骤S4中所述定位文件夹的格式为 “单用例名_版本号_随机种子号”,测试人员根据所述定位文件夹定 位问题,并在解决该问题后,删除该文件夹及该文件夹对应的单用例。

本发明的有益效果在于:

(1)本发明中,在每次执行单用例测试之前,会根据设定的单 用例存储空间门限,判断当前硬盘存储空间是否大于设定的单用例存 储空间门限,从而实现系统资源情况的自动判断,避免了硬盘存储资 源不足造成的回归测试效率降低和异常中断等情况的发生,解决了日 益增加的用例数量和硬盘存储资源有限的矛盾。

(2)本发明中,每轮执行随机用例列表中的单用例时,首次只 带必要信息执行,减少了回归测试过程中单条用例执行时间和所占资 源。如果首次执行结果错误,则重新打开波形收集选项、打开log信 息,用相同的随机种子再执行一次该单用例,以保留错误现场,方便 测试人员直接定位问题;如果首次执行结果正确,则融合覆盖率数据, 方便回归测试结束后统计覆盖率,并删除结果文件、临时文件、可执 行文件,以节省硬盘存储空间。上述单用例执行方式能在节省不必要 存储空间的同时,方便设计工程师重现问题现场、定位问题,无需投 入精力恢复问题现场。

(3)本发明中,能根据设定的回归测试中单用例执行次数、错 误用例数量门限和不间断回归测试指示控制回归过程,在回归测试中, 自动更换随机种子多次执行随机用例列表中的随机用例,以扩大验证 空间覆盖范围,提高测试覆盖率。

附图说明

图1是本发明实施例中基于随机机用例的逻辑仿真验证回归测 试方法的流程图。

具体实施方式

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

本发明实施例提供一种基于随机用例的逻辑仿真验证回归测试 系统,包括测试记录模块、用例执行模块和种子更换模块。

其中,所述测试记录模块,用于记录回归测试过程中随机用例列 表单轮执行情况,该单轮执行情况包括:该轮随机用例列表执行开始 时间、回归测试所用设计代码、验证平台的版本号以及该轮随机用例 列表执行的随机种子号。

所述用例执行模块,用于判断当前硬盘存储空间是否大于设定的 单用例存储空间门限,若否,则终止回归测试;若是,则在关闭波形 收集选项、关闭除了用例结果以外的log信息的条件下,执行单用例, 并将相关执行文件存放到指定文件夹内;若该用例结果通过,则删除 该指定文件夹内的文件,并判断随机用例列表中的单用例是否全部执 行完;若该用例结果未通过,则在打开波形收集选项、打开所有log 信息的条件下,用相同随机种子再执行一次该单用例,并将相关执行 文件存放到定位文件夹内,再判断随机用例列表中的单用例是否全部 执行完。其中,定位文件夹的格式为“单用例名_版本号_随机种子号”, 测试人员能根据该定位文件夹快速定位问题,并在解决该问题后,删 除该文件夹及该文件夹对应的单用例。

所述种子更换模块,用于在满足随机种子更换条件下,对随机种 子进行更换。

参见图1所示,本发明实施例提供一种基于随机机用例的逻辑仿 真验证回归测试方法,包括以下步骤:

S1、测试人员根据项目实际情况和回归测试目的,对需要执行的 用例进行分类,根据用例的分类情况创建至少一个随机用例列表,再 设定回归测试中单用例执行次数、不间断回归测试指示、错误用例数 量门限和单用例存储空间门限;在设定完成后,通过回归测试启动命 令启动回归测试,利用随机用例列表进行测试,并转入S2。

其中,通过回归测试启动命令启动回归测试,利用随机用例列表 进行测试时,若测试人员指定了随机用例列表,则自动化回归测试该 指定的随机用例列表;若测试人员没有指定随机用例列表,则自动化 回归测试默认随机用例列表。具体操作时,可使用回归测试启动命令 regress来执行。当测试人员指定了要回归测试的某一随机用例列表时, 使用“regress随机用例列表名”,来回归测试这个指定的随机用例列 表中的用例;当测试人员没有指定要回归测试的随机用例列表时,直 接使用“regress”,来回归测试默认的随机用例列表中的用例。该回 归测试启动命令regress需要人为执行,可以支持在集群服务器上执 行回归测试,也可以支持在本地执行回归测试,两者不同点在于集群 服务器上用例为并行执行,本地用例为串行执行。

S2、测试记录模块记录回归测试中随机用例列表的单轮执行情况, 具体来说,是记录该轮随机用例列表执行开始时间、回归测试所用设 计代码、验证平台的版本号以及该轮随机用例列表执行的随机种子号, 并转入S3。

S3、用例执行模块判断当前硬盘存储空间是否大于设定的单用例 存储空间门限,若是,则转入S4;若否,则终止回归测试。

S4、用例执行模块在关闭波形收集选项、关闭除了用例结果以外 的log信息的条件下,执行单用例,并将相关执行文件存放到指定文 件夹内;若单用例结果通过,则进行融合覆盖率数据的操作并删除该 指定文件夹内的文件,再转入S5,若单用例结果未通过,则在打开 波形收集选项、打开所有log信息的条件下,用相同随机种子再执行 一次该单用例,并将相关执行文件存放到定位文件夹内,再转入S5。

具体操作时,可使用单用例执行命令run来执行单用例。其中, “run单用例名”命令,用来在打开波形收集选项和所有log信息的 条件下,执行单用例;“run单用例名-close”,用来在关闭波形收集选 项、关闭除了用例结果以外的log信息的条件下,执行单用例。

另外,所述相关执行文件包括执行结果、临时文件、可执行文件。 测试人员能根据格式为“单用例名_版本号_随机种子号”的定位文件 夹快速定位问题,并在解决该问题后,删除该文件夹及该文件夹对应 的单用例,以节省硬盘存储空间。具体删除时,可用“rm_result用 例名_版本号_随机种子号”来删除结果错误的用例,空出存储空间。

S5、用例执行模块判断随机用例列表中的单用例是否全部执行完, 若是,则测试记录模块将记录该轮随机用例列表的执行结束时间、统 计耗时、错误用例数,并转入S6;若否,则重复S3~S4,直至随机 用例列表中所有单用例执行完,并且测试记录模块将在单用例全部执 行完时,记录该轮随机用例列表的执行结束时间、统计耗时、错误用 例数。

S6、种子更换模块判断是否满足随机种子更换条件,若是,则更 换随机种子,并转入S2,进行下一轮回归测试,若否,则结束回归 测试。

其中,种子更换模块判断是否满足随机种子更换条件时,若不间 断回归测试指示有效,则直接判定为满足随机种子更换条件;若不间 断回归测试指示无效,则需进一步判断错误用例数和随机用例列表执 行次数,如果错误用例总数大于设定的错误用例数量门限或者随机用 例列表执行次数大于设定的单用例执行次数,则判定为不满足随机种 子更换条件,否则判定为满足随机种子更换条件。

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号