CN115757157A - 一种高效回归的实现方法、装置及存储介质 - Google Patents
一种高效回归的实现方法、装置及存储介质 Download PDFInfo
- Publication number
- CN115757157A CN115757157A CN202211483354.7A CN202211483354A CN115757157A CN 115757157 A CN115757157 A CN 115757157A CN 202211483354 A CN202211483354 A CN 202211483354A CN 115757157 A CN115757157 A CN 115757157A
- Authority
- CN
- China
- Prior art keywords
- simulation
- file
- excitation
- level control
- test excitation
- 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.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种高效回归的实现方法、装置及存储介质。方法包括运行加载第一级控制文件,并将测试激励结果存储在仿真文件夹内;测试激励开始后,每隔第一预设时长段,遍历仿真文件夹,查看执行第一级控制文件所生成的日志文件;监测激励过程,出现错误就切换并加载第二级控制文件,重新测试激励仿真;提取仿真文件夹中完成激励的第一级控制文件中的关键字,分析执行第一级控制文件的测试激励通过情况,并输出最终仿真结果的第一表格。本发明测试激励出现错误便暂停,加载运行控制仿真产生波形文件第二级控制文件重新仿真,仅对错误的测试激励产生波形文件,替代了传统存储完整波形文件的存储方式,减轻了存储数据量所带来的内存压力。
Description
技术领域
本发明涉及芯片验证技术领域,特别是涉及一种高效回归的实现方法、装置及存储介质。
背景技术
在芯片的功能验证过程后期,需要将所有的测试激励进行回归测试,以保证设计代码中的改动不会出现问题。
在现有的技术中,常用的做法是在高性能的服务器上进行回归仿真。工作人员进行统计回归结果,并完成此次的回归报告。
项目后期,测试激励数量庞大、回归频繁,导致生成波形和日志文件数量巨大,一方面设计和验证人员仅关注少量出现问题的异常用例,极大的浪费了存储空间和服务器性能。回归次数过多,还会导致存储空间满载,回归异常中断的现象,极大地降低了验证回归效率,占用大量的机器资源;另一方面,大量的回归结果需要进行统计,并完成制表、邮件通知等一系列繁琐重复的工作,消耗大量人力资源。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
发明内容
本发明要解决的技术问题是如何解决在验证回归当中出现的存储空间、内存资源浪费,回归效率低下等问题。
本发明采用如下技术方案:
第一方面,本发明提出了一种高效回归的实现方法,针对用于控制产生波形文件的控制文件,设计两级文件架构,其中,第一级控制文件控制仿真过程不产生波形文件,第二级控制文件控制仿真过程产生波形文件,方法包括:
所有测试激励的运行加载第一级控制文件,将测试结果存储在相应仿真文件夹中;
在回归开始之后,每隔第一预设时长段,便遍历所有的仿真文件夹,查看仿真生成的仿真文件夹中的文件;
监测遍历过程出现错误就停止测试激励的仿真,切换并加载第二级控制文件,重新进行测试激励的仿真操作;此时生成波形文件,并将生成的波形文件存储在相应的仿真文件夹中;
提取仿真文件夹内执行第一级控制文件所生成的日志中的关键字,分析对应执行第一级控制文件的测试激励通过情况,并对测试激励结果生成第一表格进行结果状态统计;其中,一旦仿真文件夹中存在波形文件,则确认相应的测试激励不通过,在第一表格中揭露结果状态统计。
优选的,所述设计两级文件架构,其中,第一级控制文件控制仿真过程不产生波形文件,第二级控制文件控制仿真过程产生波形文件,具体包括:
所述第一级控制文件控制仿真过程只产生对应的日志文件;所述第二级控制文件控制仿真过程既产生日志文件,也产生对应的波形文件;两者都是由控制测试激励的过程,而区别在于第一级控制文件是作为测试激励仿真过程默认加载的文件,而所示第二级控制文件是当监测到测试激励出错时,触发重新执行对应时长段的内容进行仿真时所切换加载的文件。
优选的,为防止程序误判,从而多次重复仿真,增加一道防护机制,其中,在遍历过程中监测到仿真中出现错误就停止测试激励的仿真,切换并加载能控制仿真产生波形文件的第二级控制文件,重新进行测试激励的仿真操作之后,方法还包括:
冻结当前的仿真文件夹,并重新建立一个仿真文件夹进行后续测试激励仿真生成的波形文件和日志文件的存户;
其中,后续当检测到仿真文件夹下有对应的波形文件时即跳过此次判决;最终所有仿真结束后,只有出现错误的测试激励仿真进行重新仿真后,生成了对应的波形文件,其它正确通过的测试激励则只打印出日志文件。
优选的,所述遍历所有的仿真文件夹,查看仿真生成的仿真文件夹中的文件之前,还包括:
利用Perl脚本语言,构建激励错误监测程序,并设定监测的第一预设时长段;
获取所述仿真文件夹的访问权限,再利用激励错误监测程序访问查看仿真文件夹内的文件。
优选的,所述提取仿真文件夹内执行第一级控制文件所生成的日志中的关键字之前,还包括:对系统进行约束,并设定错误标识,当测试激励过程出现错误时,系统将生成的错误标识存储在对应的日志文件内,并将该日志文件存储在仿真文件内。
优选的,所述监测遍历过程出现错误就停止测试激励的仿真,切换并加载第二级控制文件,具体包括:
利用所述激励错误监测程序查看仿真文件夹内的日志文件,并查询日志文件内是否出现错误标识;
若日志文件未出现错误标识,则表示测试激励的仿真未出现错误,则继续执行当前测试激励仿真;
若日志文件出现了错误标识,则表示测试激励的仿真出现错误,则切换并加载第二级控制文件,重新进行测试激励仿真。
优选的,所述在遍历过程中监测到仿真中出现错误就停止测试激励的仿真,切换并加载能控制仿真产生波形文件的第二级控制文件,重新进行测试激励的仿真操作之前,还包括对第一预设时长段的调整,具体包括:
利用激励错误监测程序监测回归仿真过程,并获取多个第一预设时长段内出现错误的测试激励,以及每个第一预设时长段出现错误标识的数量;
设定错误标识数量阈值,以及触发调整所述第一预设时长段的条件;
若出现的错误标识的数量大于所述错误标识数量阈值,并且,所述出现的错误标识的数量大于所述错误标识数量阈值所对应第一预设时长段的个数占比超过预设占比,则将第一预设时长段调整至第二预设时长段,其中,所述第二预设时长段小于第一预设时长段。
优选的,所述提取仿真文件夹内执行第一级控制文件所生成的日志中的关键字,分析对应执行第一级控制文件的测试激励通过情况,并对测试激励结果生成第一表格进行结果状态统计,具体包括:
利用激励错误监测程序提取执行第一控制文件所生成的日志对应的所有仿真文件夹,并将所述日志文件转换为对应的字符串;其中,带有错误标识的日志文件转换的字符串对应所述关键字;
对仿真文件夹内执行第一控制文件所生成的日志文件转换为对应的字符串进行逐条分析,若出现所述关键字时,表示测试激励仿真过程出现错误,则测试激励不通过;若未出现所述关键字时,表示测试激励仿真过程未出现错误,则测试激励通过,并输出最终仿真结果,生成第一表格。
第二方面,本发明还提供了一种高效回归的实现装置,用于实现第一方面所述的高效回归的实现方法,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的高效回归的实现方法。
第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的高效回归的实现方法。
本发明通过设定两级文件架构,当监测到芯片测试激励仿真过程出现错误时,则叫停测试激励仿真,切换并加载控制产生波形文件的第二级控制文件。然后对出现错误的当前第一预设时长段内对应的测试激励重新进行仿真,并生成波形文件,存储在对应的仿真文件夹内,以供回归验证分析错误的原因。本发明在现有技术的基础上通过设置两级文件架构的方式控制仿真过程是否生成波形文件,对于正常的激励测试,不需要生成波形文件,对于异常的激励测试才会生成波形文件,极大的缩小了仿真文件夹中存储数据所占据的数据量,避免了回归验证过程中加载数据量过大、效率过低,并减轻了给存储带来的负荷问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种高效回归的实现方法流程图;
图2是本发明实施例提供的一种高效回归的实现方法流程图;
图3是本发明实施例提供的一种高效回归的实现方法流程图;
图4是本发明实施例提供的一种高效回归的实现方法流程图;
图5是本发明实施例提供的一种高效回归的实现方法流程图;
图6是本发明实施例提供的一种高效回归的实现装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明的描述中,术语“内”、“外”、“纵向”、“横向”、“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不应当理解为对本发明的限制。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明实施例提供了一种高效回归的实现方法,针对用于控制产生波形文件的控制文件,设计两级文件架构,其中,第一级控制文件控制仿真过程不产生波形文件,第二级控制文件控制仿真过程产生波形文件,如图1所示,方法包括:
步骤201:所有测试激励的运行加载第一级控制文件,将测试结果存储在相应仿真文件夹中。
在芯片设计过程中,需要对设计代码进行功能验证。在对芯片设计代码进行验证的过程中,通过构造测试激励,对设计代码进行验证,发现其中隐藏的Bug,并进行修改,从而保证设计代码的正确性和功能完备性。在芯片设计的验证后期需要进行回归验证,即运行之前所有的测试激励并进行验证。在不知晓即将进行的测试激励中是否存在错误的情况下,所有的测试激励都运行加载第一级控制文件;当通过程序(对应Perl脚本语言构建的激励错误监测程序)扫描到生成的日志文件(日志文件存储在仿真文件内)中存在错误对应的关键字时,表示测试激励出错,则运行第二级控制文件。值得注意的是,本发明实施例第一级控制文件和第二级控制文件控制仿真过程都会产生相应的日志文件,产生的日志文件存储在相应的仿真文件夹中,第二级控制文件控制仿真产生的波形文件也存储在对应的仿真文件夹中。值得注意的是,本发明的控制文件(第一级控制文件和第二级控制文件)具体使用但不限于TCL(Tool-Command-Language,工具命令语言)文件。
步骤202:在回归开始之后,每隔第一预设时长段,便遍历所有的仿真文件夹,查看仿真生成的仿真文件夹中的文件。
本发明实施例对芯片进行测试激励仿真过程的同时,也在对芯片进行回归验证。回归验证的过程实际上是扫描运行加载第一控制文件所产生的日志文件。当芯片的测试激励仿真开始时,会运行加载第一级控制文件,第一级控制文件会控制测试激励仿真过程会生成相应的日志文件。值得注意的是,本发明实施例的第一预设时长段,根据实际情况进行设置,为了区分第一预设时长段和本发明实施例后面所提及的第二预设时长段,将在后面对第一预设时长段和第二预设时长段进行统一说明。
步骤203:监测遍历过程出现错误就停止测试激励的仿真,切换并加载第二级控制文件,重新进行测试激励的仿真操作;此时生成波形文件,并将生成的波形文件存储在相应的仿真文件夹中。
当回归验证的过程中,对当前和之前运行加载第一级控制文件测试激励仿真产生的日志进行遍历监测,一旦监测出测试激励中出现错误(通过日志中的关键字反应对应的测试激励出现错误),就会叫停测试激励仿真,并切换加载第二级控制文件,重新对出现错误的第一预设时长段内的测试激励进行仿真,并生成对应的波形文件。
在本实施例中,利用所述激励错误监测程序查看仿真文件夹内的日志文件,并查询日志文件内是否出现错误标识;若日志文件未出现错误标识,则表示测试激励的仿真未出现错误,则继续执行当前测试激励仿真;若日志文件出现了错误标识,则表示测试激励的仿真出现错误,则切换并加载第二级控制文件,重新进行测试激励仿真,并生成对应的波形文件的。其中,错误标识为指定的关键字,例如,关键字可以为“Error”或者“Fatal”,本发明对此不做限制。
可以理解为,如果在日志文件中发现了“Error”或者“Fatal”对应的关键词,就利用脚本程序中断对应的仿真线程,并将第一级控制文件切换为第二级控制文件,然后进行重新仿真,生成对应的波形文件。
本发明实施例运行加载第二级控制文件的测试激励仿真会出产生波形文件和日志文件;运行加载第一级控制文件的测试激励只会产生相应的日志文件,不会产生波形文件。所述设计两级文件架构,其中,第一级控制文件控制仿真过程不产生波形文件,第二级控制文件控制仿真过程产生波形文件,具体包括:所述第一级控制文件控制仿真过程只产生对应的日志文件;所述第二级控制文件控制仿真过程既产生日志文件,也产生对应的波形文件;两者都是由控制测试激励的过程,而区别在于第一级控制文件是作为测试激励仿真过程默认加载的文件,而所示第二级控制文件是当监测到测试激励出错时,触发重新执行对应时长段的内容进行仿真时所切换加载的文件。在本发明实施例中,第一级控制文件和第二级控制文件可以分别理解为一个程序或指令,运行加载哪种控制文件(第一级控制文件或第二级控制),就能决定测试激励过程中是否产生波形文件,而波形文件相对于日志文件而言,所占的存储空间很大。因此,通过本发明实施例设置的第一级控制文件,将正常的测试激励中不产生波形文件,通过第二级控制文件对错误的测试激励重新仿真,生成对应的波形文件,以便于分析错误的原因。本发明实施例通过分析日志文件中是否携带关键字,判断该测试激励是否测试通过;如果日志文件中携带关键字,则说明相应的测试激励不通过,此时需要对错误的测试激励重新进行仿真,在重新仿真之前切换加载第二级控制文件,并生成波形文件,以便于通过波形还原测试激励仿真过程中出现错误的原因。
步骤204:提取仿真文件夹内执行第一级控制文件所生成的日志中的关键字,分析对应执行第一级控制文件的测试激励通过情况,并对测试激励结果生成第一表格进行结果状态统计;其中,一旦仿真文件夹中存在波形文件,则确认相应的测试激励不通过,在第一表格中揭露结果状态统计。
在现有技术中,通过对芯片设计代码进行仿真,当所有的测试激励仿真结束后,输出仿真结果。现有技术测试激励仿真的过程中,通常会携带完整波形文件存储的方式进行存储(每一个测试激励不论正确,还是错误都会生成对应的波形文件,并存储在对应的仿真文件夹内)。理论上讲,当在大部分测试结果都是正确,甚至所有的测试结构都是正确的情况下,仍然使用现有技术的方式对芯片进行激励仿真测试,会使得后续进行回归仿真过程中加载数据量过大,造成回归仿真效率极低,并且,给存储带来了极大的负荷。相对于现有技术,本发明通过设定两级文件架构当芯片测试激励正常时,运行加载第一级控制文件,仅生成日志文件(不生成波形文件);当回归验证监测到测试激励仿真过程出现错误时,则叫停测试激励仿真,切换加载第二级控制文件重新仿真,并生成波形文件,将生成的波形文件存储在仿真文件夹中。本发明仅对当前第一预设时长段内错误的测试激励重新进行仿真,并由第一级控制文件切换加载至第二控制文件,以供回归验证分析错误的原因。本发明在现有技术的基础上通过选取两级文件架构的方式进行仿真,对于正常的激励测试,不需要产生波形文件,对于异常的激励测试才会产生波形文件,极大的缩小了仿真文件夹中存储数据所占据的数据量,避免了回归验证过程中加载数据量过大、效率过低,并减轻了给存储带来的负荷问题。值得注意的是,本发明实施例的第一表格可以为但不限于Excel表。
为了阐述本发明完整的方案,接下来对本发明的具体细节做详细的解释,进一步的,为防止程序误判,从而多次重复仿真,增加一道防护机制,其中,在遍历过程中监测到仿真中出现错误就停止测试激励的仿真,切换并加载能控制仿真产生波形文件的第二级控制文件,重新进行测试激励的仿真操作之后,方法还包括:冻结当前的仿真文件夹,并重新建立一个仿真文件夹进行后续测试激励仿真生成的波形文件和日志文件的存户;其中,后续当检测到仿真文件夹下有对应的波形文件时即跳过此次判决;最终所有仿真结束后,只有出现错误的测试激励仿真进行重新仿真后,生成了对应的波形文件,其它正确通过的测试激励则只打印出日志文件。
由于每次回归验证监测到测试激励仿真出现错误时,就会叫停测试激励仿真,切换并加载第二级控制文件,然后对此时长段重新进行测试激励仿真,并生成对应的波形文件。在重新进行仿真的过程中,回归验证又会重复识别和提取之前已经提取过的仿真文件夹内的文件。为了避免重复性工作,本发明实施例在芯片进行测试激励仿真之后,冻结当前的仿真文件夹。通常情况下,芯片进行测试激励仿真之后,能保证当前和之前所进行的测试激励仿真文件夹内的文件都是正常的(当前和之前的测试激励仿真过程未出现错误情况),此时冻结当前的仿真文件夹,重新创建一个仿真文件夹作为进行后续测试激励仿真生成的波形文件和日志文件的存户,后续回归验证只需要对存户内的仿真文件夹进行识别和提取,极大的减少了数据处理过程的工作量,提高了回归验证过程的效率。值得注意的是,本发明实施例冻结的仿真文件为:监测过的测试激励为正常的仿真文件。
进一步的,所述遍历所有的仿真文件夹,查看仿真生成的仿真文件夹中的文件之前,如图2所示,还包括:
步骤301:利用Perl脚本语言,构建激励错误监测程序,并设定监测的第一预设时长段。
本发明实施例利用Perl脚本语言,构建激励错误监测程序,通过激励错误监测程序对仿真文件夹内的文件进行识别和提取,进而判定出测试激励仿真是否出现错误。
步骤302:获取所述仿真文件夹的访问权限,再利用激励错误监测程序访问查看仿真文件夹内的文件。
在访问仿真文件夹之前还需要获取仿真文件的访问权限,测试激励仿真和回归验证(实际是扫描)分属两个不同的进程,其中,激励错误监测程序用于执行回归验证,通过激励错误监测程序对仿真文件内的文件进行提取和查看,以判定是否测试激励仿真过程中是否出现错误。
进一步的,所述提取仿真文件夹内执行第一级控制文件所生成的日志中的关键字之前,还包括:对系统进行约束,并设定错误标识,当测试激励过程出现错误时,系统将生成的错误标识存储在对应的日志文件内,并将该日志文件存储在仿真文件内。
本发明实施例第一级控制文件和第二级控制文件中的区别在于,第二级控制文件能控制测试激励过程产生波形文件。当仿真文件夹内出现了波形文件,证明回归验证检测到测试激励仿真过程中出现过错误,为了便于激励错误监测程序能快速检测到测试激励仿真过程中是否出现错误,本发明实施例对系统进行约束,并设定错误标识,当测试激励过程出现错误时,系统将出现的错误标识存储在对应的仿真文件内(实际存储在仿真生成的日志内),错误标识的功能类似于本发明实施例的波形文件,但不同的是,本发明实施例波形文件在不同时长段,不同的测试激励仿真内容下生成的,仿真产生的波形文件通常不同,以便于程序或系统对不同的测试激励仿真内容进行具体的分析错误的原因。本发明实施例的错误标识通常设置得完全相同,以便于后续对激励错误监测程序内的参数(例如:第一预设时长段)进行调整。
进一步,所述监测遍历过程出现错误就停止测试激励的仿真,切换并加载第二级控制文件,如图3所示,具体包括:
步骤401:利用所述激励错误监测程序查看仿真文件夹内的日志文件,并查询日志文件内是否出现错误标识;
步骤402:若日志文件未出现错误标识,则表示测试激励的仿真未出现错误,则继续执行当前测试激励仿真;若日志文件出现了错误标识,则表示测试激励的仿真出现错误,则切换并加载第二级控制文件,重新进行测试激励仿真。
进一步的,参见图4,所述在遍历过程中监测到仿真中出现错误就停止测试激励的仿真,切换并加载能控制仿真产生波形文件的第二级控制文件,重新进行测试激励的仿真操作之前,还包括对第一预设时长段的调整,具体包括:
步骤501:利用激励错误监测程序监测回归仿真过程,并获取多个第一预设时长段内出现错误的测试激励,以及每个第一预设时长段出现错误标识的数量。
在进行测试激励的仿真过程中,为了避免设置的第一预设时长段不合理的情况,例如:第一预设时长段设定的值很大,并且,出现错误的次数有很多个,导致后续对此预设时长段内出现错误的每个节点进行具体分析时,很难进行逐一分析,并且会很复杂。因此,需要进一步的对第一预设时长段进行合理调整,使得在第一预设时长段内出现错误的次数最多不超过一定的值,以便于后续进行处理,减轻系统在此过程分析具体错误原理的压力。除此之外,缩短第一预设时长段的长度,也可以减少回归验证仿真识别和提取仿真文件夹内的工作量。
步骤502:设定错误标识数量阈值,以及触发调整所述第一预设时长段的条件。若出现的错误标识的数量大于所述错误标识数量阈值,并且,所述出现的错误标识的数量大于所述错误标识数量阈值所对应第一预设时长段的个数占比超过预设占比,则将第一预设时长段调整至第二预设时长段,其中,所述第二预设时长段小于第一预设时长段。
根据本发明系统的实际情况,设定错误标识数量阈值,当在第一预设时长段内,出现的错误标识数量大于错误标识数量阈值时,需要缩短第一预设时长段的时长间隔。但为了避免因其它原因(例如操作失误或刚开始测试激励仿真不稳定)造成仅有一个第一预设时长段内出现的错误标识的数量大于所述错误标识数量阈值的情况,本发明实施例通过获取多个第一预设时长段内出现错误的回归验证情况,若出现的错误标识的数量大于所述错误标识数量阈值,并且,所述出现的错误标识的数量大于所述错误标识数量阈值所对应第一预设时长段的个数占比超过预设占比,则缩短第一预设时长段,将第一预设时长段调整至第二预设时长段。从而缩短重新测试激励仿真所花费的时长。
进一步的,所述提取仿真文件夹内执行第一级控制文件所生成的日志中的关键字,分析对应执行第一级控制文件的测试激励通过情况,并对测试激励结果生成第一表格进行结果状态统计,如图5所示,具体包括:
步骤601:利用激励错误监测程序提取执行第一控制文件所生成的日志对应的所有仿真文件夹,并将所述日志文件转换为对应的字符串;其中,带有错误标识的日志文件转换的字符串对应所述关键字。
本发明实施例通过利用激励错误监测程序对测试激励仿真过程进行回归验证扫描,识别和提取运行第一级控制文件下的激励测试仿真过程所产生的日志文件(存储在仿真文件夹内),并将仿真文件夹内的日志文件转换为字符串,其中,带有错误标识日志转换生成的字符串对应所述关键字,然后通过关键字就可以查出测试激励仿真中出现错误的次数。
步骤602:对仿真文件夹内执行第一控制文件所生成的日志文件转换为对应的字符串进行逐条分析,若出现所述关键字时,表示测试激励仿真过程出现错误,则测试激励不通过;若未出现所述关键字时,表示测试激励仿真过程未出现错误,则测试激励通过,并输出最终仿真结果,生成第一表格。
本发明通过设定两级文件架构,当监测到芯片测试激励仿真过程出现错误时,则叫停测试激励仿真,切换并加载控制产生波形文件的第二级控制文件。然后对出现错误的当前第一预设时长段内对应的测试激励重新进行仿真,并生成波形文件,存储在对应的仿真文件夹内,以供回归验证分析错误的原因。本发明在现有技术的基础上通过设置两级文件架构的方式控制仿真过程是否生成波形文件,对于正常的激励测试,不需要生成波形文件,对于异常的激励测试才会生成波形文件,极大的缩小了仿真文件夹中存储数据所占据的数据量,避免了回归验证过程中加载数据量过大、效率过低,并减轻了给存储带来的负荷问题。除此之外,根据实际需求,调整并缩短第一预设时长段,使得重新测试激励仿真所花费的时长降低,并且,尽可能的降低重新仿真的工作量。
如图6所示,是本发明实施例的高效回归的实现装置的架构示意图。本实施例的高效回归的实现装置包括一个或多个处理器21以及存储器22。其中,图6中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如上述实施例中的高效回归的实现方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而执行高效回归的实现方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例中的高效回归的实现方法,例如,执行以上描述的图1-5所示的各个步骤。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种高效回归的实现方法,其特征在于,用于控制产生波形文件的控制文件具有两级文件架构,其中,第一级控制文件控制仿真过程不产生波形文件,第二级控制文件控制仿真过程产生波形文件,所述方法包括:
所有测试激励的运行加载所述第一级控制文件,将测试结果存储在相应仿真文件夹中;
在回归开始之后,每隔第一预设时长段,遍历所有的仿真文件夹,查看仿真生成的所述仿真文件夹中的文件;
监测遍历过程出现错误就停止测试激励的仿真,切换并加载所述第二级控制文件,重新进行所述测试激励的仿真操作;生成波形文件,并将生成的波形文件存储在相应的仿真文件夹中;
提取仿真文件夹内执行第一级控制文件所生成的日志中的关键字,分析对应执行第一级控制文件的测试激励通过情况,并对测试激励结果生成第一表格进行结果状态统计;其中,一旦所述仿真文件夹中存在波形文件,则确认相应的测试激励不通过,在第一表格中揭露结果状态统计。
2.根据权利要求1所述的高效回归的实现方法,其特征在于,所述第一级控制文件控制仿真过程不产生波形文件,第二级控制文件控制仿真过程产生波形文件包括:
所述第一级控制文件控制仿真过程只产生对应的日志文件;所述第二级控制文件控制仿真过程既产生日志文件,也产生对应的波形文件;所述第一级控制文件是作为测试激励仿真过程默认加载的文件,所述第二级控制文件是当监测到测试激励出错时,触发重新执行对应时长段的内容进行仿真时所切换加载的文件。
3.根据权利要求2所述的高效回归的实现方法,其特征在于,在遍历过程中监测到仿真中出现错误就停止测试激励的仿真,切换并加载能控制仿真产生波形文件的所述第二级控制文件,重新进行测试激励的仿真操作之后,所述方法还包括:
冻结当前的仿真文件夹,并重新建立一个仿真文件夹作为进行后续测试激励仿真生成的波形文件和日志文件的存户;
其中,后续当检测到仿真文件夹下有对应的波形文件时即跳过此次判决;最终所有仿真结束后,只有出现错误的测试激励仿真进行重新仿真后,生成了对应的波形文件,其它正确通过的测试激励则只打印出日志文件。
4.根据权利要求3所述的高效回归的实现方法,其特征在于,所述遍历所有的仿真文件夹,查看仿真生成的所述仿真文件夹中的文件之前,还包括:
利用Perl脚本语言,构建激励错误监测程序,并设定监测的第一预设时长段;
获取所述仿真文件夹的访问权限,再利用激励错误监测程序访问查看仿真文件夹内的文件。
5.根据权利要求4所述的高效回归的实现方法,其特征在于,所述提取仿真文件夹内执行第一级控制文件所生成的日志中的关键字之前,还包括:对系统进行约束,并设定错误标识,当测试激励过程出现错误时,系统将生成的错误标识存储在对应的日志文件内,并将该日志文件存储在仿真文件内。
6.根据权利要求5所述的高效回归的实现方法,其特征在于,所述监测遍历过程出现错误就停止测试激励的仿真,切换并加载所述第二级控制文件包括:
利用所述激励错误监测程序查看仿真文件夹内的日志文件,并查询日志文件内是否出现错误标识;
若日志文件未出现错误标识,则表示测试激励的仿真未出现错误,继续执行当前测试激励仿真;
若日志文件出现所述错误标识,则表示测试激励的仿真出现错误,切换并加载所述第二级控制文件,重新进行测试激励仿真。
7.根据权利要求4所述的高效回归的实现方法,其特征在于,所述在遍历过程中监测到仿真中出现错误就停止测试激励的仿真,切换并加载能控制仿真产生波形文件的第二级控制文件,重新进行测试激励的仿真操作之前,还包括:对第一预设时长段的调整,包括:
利用激励错误监测程序监测回归仿真过程,并获取多个第一预设时长段内出现错误的测试激励,以及每个第一预设时长段出现错误标识的数量;
设定错误标识数量阈值,以及触发调整所述第一预设时长段的条件;
若出现的错误标识的数量大于所述错误标识数量阈值,并且,所述出现的错误标识的数量大于所述错误标识数量阈值所对应第一预设时长段的个数占比超过预设占比,则将所述第一预设时长段调整至第二预设时长段,其中,所述第二预设时长段小于所述第一预设时长段。
8.根据权利要求7所述的高效回归的实现方法,其特征在于,所述提取仿真文件夹内执行第一级控制文件所生成的日志中的关键字,分析对应执行第一级控制文件的测试激励通过情况,并对测试激励结果生成第一表格进行结果状态统计包括:
利用激励错误监测程序提取执行第一控制文件所生成的日志文件对应的所有仿真文件夹,并将所述日志文件转换为对应的字符串;其中,带有错误标识的日志文件转换的字符串对应所述关键字;
对仿真文件夹内执行第一控制文件所生成的日志文件转换为对应的字符串进行逐条分析,若出现所述关键字时,表示测试激励仿真过程出现错误,则测试激励不通过;若未出现所述关键字时,表示测试激励仿真过程未出现错误,则测试激励通过,并输出最终仿真结果,生成第一表格。
9.一种高效回归的实现装置,其特征在于,包括:
至少一个处理器;
至少一个存储器;
其中,所述至少一个处理器以及所述至少一个存储器相互通信连接,所述至少一个存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任一项所述的高效回归的实现方法。
10.一种非易失性计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成如权利要求1-8中任一项所述的高效回归的实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211483354.7A CN115757157A (zh) | 2022-11-24 | 2022-11-24 | 一种高效回归的实现方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211483354.7A CN115757157A (zh) | 2022-11-24 | 2022-11-24 | 一种高效回归的实现方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115757157A true CN115757157A (zh) | 2023-03-07 |
Family
ID=85337264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211483354.7A Pending CN115757157A (zh) | 2022-11-24 | 2022-11-24 | 一种高效回归的实现方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115757157A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116595932A (zh) * | 2023-07-17 | 2023-08-15 | 芯耀辉科技有限公司 | 一种日志打印方法及相关装置 |
CN117135345A (zh) * | 2023-10-19 | 2023-11-28 | 芯动微电子科技(武汉)有限公司 | 一种图像信号处理的仿真验证方法和装置 |
-
2022
- 2022-11-24 CN CN202211483354.7A patent/CN115757157A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116595932A (zh) * | 2023-07-17 | 2023-08-15 | 芯耀辉科技有限公司 | 一种日志打印方法及相关装置 |
CN116595932B (zh) * | 2023-07-17 | 2023-10-20 | 芯耀辉科技有限公司 | 一种日志打印方法及相关装置 |
CN117135345A (zh) * | 2023-10-19 | 2023-11-28 | 芯动微电子科技(武汉)有限公司 | 一种图像信号处理的仿真验证方法和装置 |
CN117135345B (zh) * | 2023-10-19 | 2024-01-02 | 芯动微电子科技(武汉)有限公司 | 一种图像信号处理的仿真验证方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115757157A (zh) | 一种高效回归的实现方法、装置及存储介质 | |
US10353763B2 (en) | Fault processing method, related apparatus, and computer | |
CN111240973B (zh) | 基于仿真的设备测试方法、系统及可读存储介质 | |
CN107688531A (zh) | 数据库集成测试方法、装置、计算机设备及存储介质 | |
CN109885499B (zh) | 一种机器人自动化测试系统及测试方法 | |
CN108508874B (zh) | 一种监控设备故障的方法和装置 | |
US20140019929A1 (en) | Partial Instruction-by-instruction checking on acceleration platforms | |
CN111258591B (zh) | 程序部署任务执行方法、装置、计算机设备和存储介质 | |
CN112100085B (zh) | 安卓应用程序稳定性测试方法、装置和设备 | |
CN108572895B (zh) | 一种Linux下自动检查软硬件配置的稳定性测试方法 | |
CN110245077A (zh) | 一种程序异常的响应方法及设备 | |
CN110704299A (zh) | 一种安卓平台app异常测试方法及装置 | |
CN112148599A (zh) | 性能压测方法、装置及设备 | |
CN104731708A (zh) | 一种Shellcode的动态检测方法 | |
CN110737531A (zh) | 一种故障诊断方法、装置、设备及介质 | |
CN102521124B (zh) | 一种失败原因的输出方法和系统 | |
CN115759518A (zh) | 基于混沌工程的可用性治理系统 | |
CN110795142A (zh) | 一种配置文件的生成方法及装置 | |
CN112433947A (zh) | 一种基于网络数据的混沌工程方法及系统 | |
CN103885769A (zh) | 调试基于模型的消息序列的系统和方法 | |
CN117170984B (zh) | 一种linux系统待机状态的异常检测方法及系统 | |
CN116841825A (zh) | 基于Java的基板管理控制器监测方法、装置、设备及介质 | |
CN118504484A (zh) | 芯片设备的验证方法、装置、存储介质和电子设备 | |
CN116662095A (zh) | 硬盘测试方法、系统、装置、电子设备、存储介质及产品 | |
CN116701230A (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 |