一种针对MicroBlaze软核程序的测试验证系统及测试验证方法

文档序号:6551437阅读:280来源:国知局
一种针对MicroBlaze软核程序的测试验证系统及测试验证方法
【专利摘要】一种针对MicroBlaze软核程序的测试验证系统,其特征在于包括:MicroBlaze仿真平台模块、软核执行流监视记录模块、目标码分析模块和覆盖率统计分析模块。本发明实现了FPGA逻辑代码、MicroBlaze软核以及软核程序的集成运行,并且可以获得软核程序运行的覆盖率信息,满足了软核程序测试验证充分性的要求。
【专利说明】-种针对M icroBI aze软核程序的测试验证系统及测试验 证方法

【技术领域】
[0001] 本发明涉及一种针对MicroBlaze软核程序的测试验证系统及测试验证方法,主 要应用于航天器软件测试与FPGA验证过程中,属于软件测试【技术领域】。

【背景技术】
[0002] 在航天器星上电子产品中,为了满足小型化、低功耗等要求,部分电子产品采用了 基于FPGA的MicroBlaze软核处理器设计技术,通过FPGA硬件逻辑以及软核处理器中的软 件代码,共同实现所需的功能。由于这种软硬件紧密结合的特点,对其进行测试和验证的方 法,既不同于传统的软件也不同于普通的FPGA验证。特别是针对基于FPGA软核运行的程 序,传统的测试方法中,往往采用在真实目标设备上进行动态测试的方式,采用这种方式主 要存在以下不足:(1)动态运行时无法收集软核程序执行的覆盖率信息,没有办法通过覆 盖率分析,保证动态测试的充分性;(2)因目标平台的限制,动态测试时一些激励条件无法 产生,难以对故障情况、边界情况、小概率事件等情况进行模拟和动态测试,测试充分性无 法保证。
[0003] 随着星上电子产品复杂程度的提高,软件程序和硬件逻辑也变得更加复杂,对软 件测试的充分性也提出了更高的要求,部分型号已经提出针对重要软件的动态测试,必须 给出目标码覆盖率的要求。传统MicroBlaze软件程序测试方法已经无法满足航天产品研 制的可靠性要求。


【发明内容】

[0004] 本发明解决的技术问题是:克服现有技术的不足,提出了一种针对MicroBlaze软 核程序的测试验证系统及测试验证方法,实现了 FPGA逻辑代码、MicroBlaze软核以及软核 程序的集成运行,并且可以获得软核程序运行的覆盖率信息,满足了软核程序测试验证充 分性的要求。
[0005] 本发明的技术解决方案是:一种针对MicroBlaze软核程序的测试验证系统,如图 1所示,其特征在于包括:MicroBlaze仿真平台模块、软核执行流监视记录模块、目标码分 析模块和覆盖率统计分析模块等模块。其中:
[0006] MicroBlaze仿真平台模块,实现MicroBlaze软核处理器在EDA环境下的仿真运 行;该模块通过加载软核目标程序的机器码,实现软核程序的仿真运行,并将运行结果与外 围其他逻辑进行交互,实现FPGA逻辑代码、MicroBlaze软核以及软核程序的集成运行;同 时该模块还包含外围其他逻辑的仿真模型和测试用例模块,实现整个被测软件运行的模拟 平台,并向软核执行流监视记录模块输出执行信息,供软核执行流监视记录模块实现执行 流的监视、分析和记录;
[0007] 软核执行流监视记录模块,根据MicroBlaze仿真平台模块输出执行信息,对 软核程序执行情况进行分析,实现真正指令执行序列的监视和记录;该模块接收来自 MicroBlaze仿真平台模块的执行信息,所述执行信息包括软核工作时钟、PC指针、指令有 效标志和跳转标志;根据指令有效标志和跳转标志,识别出当前执行的指令地址和分支跳 转情况,实现执行流的监视、分析和记录。仿真测试时重复执行上述过程直至用例执行结 束,生成覆盖率文件。;
[0008]目标码分析模块,通过对软核目标程序进行分析,实现覆盖率信息的反标;该模块 加载软核目标程序文件以及软核执行流监视记录模块输出的覆盖率文件,通过对目标程序 进行格式分析,识别出各条指令以及各分支指令,并将覆盖率文件中的覆盖率信息在目标 程序上进行反标;在进行覆盖率反标时,还可以将多个测试用例执行后输出的覆盖率文件 进行合并,将合并后的总覆盖率信息,全部反标到对应目标程序上,实现多个测试用例对应 覆盖率结果的统一分析;反标覆盖率后的数据,将输出给覆盖率分析模块进行后续的覆盖 率分析;
[0009] 覆盖率分析模块,实现覆盖率指标的分析,统计软核程序执行的语句覆盖率、分支 覆盖率指标;该模块接收目标码分析模块输出的数据,通过统计其中的语句总数和分支总 数,并根据反标后的覆盖率信息,分析执行过的语句数以及真假分支执行情况,最终向用户 输出语句覆盖率和分支覆盖率指标,其中语句覆盖率指标和分支覆盖率指标的计算公式如 下:
[0010] 语句覆盖率=已执行语句数/可执行语句总数*100%
[0011] 分支覆盖率=(已执行真分支数+已执行假分支数V(真分支总数+假分支总 数)*100%。
[0012] 所述MicroBlaze仿真平台模块的具体实现步骤如下:
[0013] (1)首先需要编译MicroBlaze处理器的仿真模型,根据所用的EDA仿真软件,编译 MicroBlaze处理器的仿真模型,以及MicroBlaze软核处理器所用到的外围接口模块;
[0014] (2)完成MicroBlaze处理器的仿真模型构建后,还需要编译将被测试的软核程 序,得到软核程序的目标程序,导出目标程序中的指令机器码数据,并将指令机器码数据转 换为MicroBlaze处理器仿真模型所需的内存初始化文件形式;编译软核程序时,将调试选 项打开,以增强用户后续进行覆盖率分析的可读性;
[0015] (3)最后编写外围其他逻辑的仿真模型和测试用例模块,构建整个MicroBlaze仿 真平台模块,提供工作时钟信号,实现MicroBlaze仿真模块平台的运行。仿真运行过程中, 向软核执行流监视记录模块输出软核程序的执行信息。
[0016] 所述软核执行流监视记录模块具体实现步骤如下:
[0017] (1)接收MicroBlaze仿真平台模块输出执行信息,;
[0018] (2)当执行信息中的指令有效信号为有效时,记录执行信息中的当前PC指针,并 将对应的地址标记为已经执行过;
[0019] (3)对于分支跳转情况的处理,通过识别执行信息中的跳转发生信号,当跳转发生 信号有效时,标记为真分支已经执行过,否则标记为假分支已经执行过;
[0020] (4)重复执行上述步骤(2)和步骤(3),直至当前测试用例执行结束;
[0021] (5)将上述标记的指令执行情况和分支执行情况作为覆盖率文件输出,输出覆盖 率文件时,记录软核程序的名称和版本,用于后续合并时的比对。
[0022] 本发明针对MicroBlaze软核程序的测试验证方法,实现步骤如下:
[0023] (1)利用EDA平台上的仿真软件,编译MicroBlaze仿真模型,并编译MicroBlaze 软核上运行的目标程序,生成仿真文件以及程序加载文件,之后进入步骤(2);
[0024] (2)在仿真软件中,构建MicroBlaze软核的外围其他逻辑的仿真模型,提供时钟 激励以及各种接口的模拟,使得整个软硬件系统可以协同运行,之后进入步骤(3);
[0025] (3)设计测试用例,实现整个MicroBlaze仿真平台模块,,利用EDA仿真软件进行 动态仿真运行;
[0026] (4)在仿真运行的过程中,监视MicroBlaze仿真平台模块输出执行流信息,进行 软核执行流的分析,并记录指令执行情况和分支执行情况;
[0027] (5)仿真运行中反复执行步骤(4),直至测试用例结束后,进入步骤(6);
[0028] (6)测试用例执行结束后,输出该测试用例的覆盖率文件。反复运行多个测试用 例,将各测试用例输出的覆盖率文件合并,得到总覆盖率文件,并进入步骤(7);
[0029] (7)分析软核目标程序,并将总覆盖文件中的指令执行情况和指令跳转执行情况 反标到目标码文件中,得到覆盖率反标结果,并进入到步骤(8);
[0030] (8)根据覆盖率反标结果,进行目标码的覆盖率分析,分析语句覆盖率、分支覆盖 率指标,判断是否满足要求,如果满足要求则结束测试,否则返回步骤(3),补充设计新的测 试用例;其中语句覆盖率指标和分支覆盖率指标的计算公式如下:
[0031] 语句覆盖率=已执行语句数/可执行语句总数*100%
[0032] 分支覆盖率=(已执行真分支数+已执行假分支数V(真分支总数+假分支总 数)*100%。
[0033] 本发明与现有技术相比的有益效果是:
[0034] (1)本发明解决了传统基于目标设备进行软核动态测试中,无法获取软核目标程 序执行的覆盖率信息的问题,通过构建的仿真运行环境,监测MicorBlaze仿真模型的执行 信息,识别出有效指令,剔出预取队列中的无效指令,识别并记录指令执行跳转的信息,得 到软件运行的真实信息,并以此进行目标码覆盖率分析。通过覆盖率指标,对测试用例设计 的充分性进行检查,对于没有动态执行到的语句和跳转分支,通过增加测试用例进行补充 测试,从而确保动态测试过程的充分性。
[0035] (2)本发明采用了基于EDA仿真软件,构建MicroBlaze程序的动态运行环境,各种 错误情况、边界情况、小概率事件等都可以在仿真软件中进行模拟,解决了传统的基于目标 设备的测试中,激励手段受限制,部分故障情况、边界条件难于生成的问题,为测试软件各 种运行情况下的处理,提供了技术条件。
[0036] (3)本发明同时解决传统的FPGA设计仿真验证中,如果被测设计采用了 MicorBlaze软核,仿真中往往将软核部分忽略,或者通过软核程序与外围逻辑的接口界面, 模拟软核操作进行逻辑仿真的不足。本发明通过EDA平台,实现外围逻辑代码、MicroBlaze 软核模型以及软核程序的集成运行,构建出包含逻辑代码和软核程序的软硬件协同运行环 境,可以更加真实地实现对整个逻辑代码和软核程序的验证和测试。
[0037] (4)与传统软件测试中的指令集模拟技术相比,本发明采用基于EDA环境的仿真 技术,借助于仿真模型,实现软硬件协同运行环境的构建。既解决了传统的软件指令集模拟 器无法对软核外围逻辑电路进行测试的问题,又可以以更准确、更高效的方式实现程序软 件与硬件逻辑代码的协调运行。并可以进一步推广应用于Altera公司的NI0S软核程序, 以及基于LEON、OpenRISC等各类开源处理器的程序中。

【专利附图】

【附图说明】
[0038] 图1为本发明测试验证系统的组成框图;
[0039] 图2为本发明测试验证方法实现流程图;
[0040] 图3为本发明中的软核执行流监视记录模块进行执行流监视记录的流程图。

【具体实施方式】
[0041] 下面结合附图对本发明的【具体实施方式】进行进一步的详细描述。
[0042] 如图1说明了针对MicroBlaze软核程序的测试验证系统的结构原理图,其中主要 包括仿真环境和覆盖率分析工具两大部分,两部分通过覆盖率文件进行衔接。仿真环境主 要包括:MicroBlaze仿真平台模块软核执行流监视记录模块,其中MicroBlaze仿真平台模 块又包含MicroBlaze仿真模型、外围其他逻辑和测试用例等几个部分,覆盖率分析工具主 要包括目标码分析模块和覆盖率统计分析模块。其中:
[0043] MicroBlaze仿真模型,主要实现MicroBlaze软处理器核在EDA环境下的仿真运 行。该模块通过加载软核目标程序的机器码,并接收仿真环境的工作时钟等信号,实现软核 程序的仿真运行。在MicroBalze仿真平台模块中,通过将MicroBlaze仿真模型的运行结 果与外围其他逻辑进行交互,实现外围逻辑代码、MicroBlaze软核模型以及软核目标程序 程序的集成运行。同时MicroBlaze仿真平台模块还向软核执行流监视记录模块输出执行 信息,供软核执行流监视记录模块实现执行流的分析、监视和记录;
[0044] 软核执行流监视记录模块,该模块主要根据MicroBlaze仿真平台模块输出的执 行信息,对软核程序执行情况进行分析,实现真正指令执行序列的监视和记录。该模块主要 接收来自MicroBlaze仿真平台模块的执行信息,所述执行信息除软核工作时钟外,还包括 当前PC指针、指令有效标志和跳转标志等。根据指令有效标志和跳转标志,识别出执行指 令流和跳转情况,实现执行流的分析、监视和记录。并输出覆盖率文件给目标码分析模块, 供目标码分析模块实现覆盖率反标。仿真测试时重复执行上述过程直至用例执行结束,生 成覆盖率文件;
[0045] 目标码分析模块,主要通过对软核目标程序进行分析,实现覆盖率文件的反标。该 模块加载软核程序的目标程序以及软核执行流监视记录模块输出的覆盖率文件,通过对目 标程序的格式分析,实现将覆盖率信息在目标程序上的反标,并将反标覆盖率后的数据,输 出给覆盖率分析模块;
[0046] 在进行覆盖率反标时,还可以将多个测试用例执行后输出的覆盖率文件进行合 并,将合并后的总覆盖率信息,全部反标到对应目标程序上,实现多个测试用例对应覆盖 率结果的统一分析;反标覆盖率后的数据,将输出给覆盖率分析模块进行后续的覆盖率分 析;
[0047] 覆盖率分析模块,主要实现覆盖率指标的分析,统计软核程序执行的语句覆盖率、 分支覆盖率等指标。该模块接收目标码分析模块输出的数据,通过统计其中的语句总数和 分支总数,并通过反标后的覆盖率信息,分析已执行过的语句数以及真假分支执行情况,最 终向用户输出语句覆盖率和分支覆盖率等指标,其中语句覆盖率指标和分支覆盖率指标的 计算公式如下:
[0048] 语句覆盖率=已执行语句数/可执行语句总数*100%
[0049] 分支覆盖率=(已执行真分支数+已执行假分支数V(真分支总数+假分支总 数)*100%。
[0050] 针对其中的MicroBlaze仿真模型模块,【具体实施方式】为:
[0051] (1)根据所用的EDA仿真软件,编译MicroBlaze仿真模型,以及MicroBlaze软核 所用到的外围接口模块;
[0052] (2)编译将被测试的软核程序,得到软核程序的目标程序。导出目标程序中的指令 机器码数据,并将数据转换为MicroBlaze仿真模型所需的内存初始化文件形式。编译软核 程序时,可以将调试选项打开,以增强用户后续进行覆盖率分析的可读性;
[0053] (3)编写外围其他逻辑的仿真模型,和测试用例模块,实现整个MicroBlaze仿真 平台模块,提供工作时钟等信号,实现MicroBlaze仿真平台模块的运行;
[0054] 针对其中的软核执行流监视记录模块,【具体实施方式】为:
[0055] (1)接收MicroBlaze仿真平台模块输出的执行信息,执行信息中具体包括工作时 钟、当前的PC指针、指令有效信号和跳转发生信号;
[0056] (2)当指令有效信号为有效时,记录当前的PC指针,并在对应的地址标记为已经 执行过;
[0057] (3)对于分支指令,当跳转发生信号有效时,标记为真分支已经执行过,否则标记 为假分支已经执行过;
[0058] (4)重复执行上述步骤(2)和步骤(3),直至当前用例执行结束;
[0059] (5)将上述标记的指令执行情况和分支执行情况作为覆盖率文件输出,输出覆盖 率文件时,记录软核目标程序的名称和版本,用于后续合并时的比对;
[0060] 针对其中的目标码分析模块,【具体实施方式】为:
[0061] (1)加载软核程序的目标程序,按照目标程序的格式,对所有的程序指令进行解 析;
[0062] (2)加载覆盖率文件,当选择多个覆盖率文件时,检查多个覆盖率文件的软核目标 程序名称和版本是否一致,如有不一致则提示用户。将软核目标程序名称和版本一致的多 个覆盖率文件数据按地址进行合并。并根据地址,将指令执行信息和分支执行信息进行反 标;
[0063] (3)将反标覆盖率后的数据,输出给覆盖率分析模块进行覆盖率计算和分析;
[0064] 针对其中的覆盖率分析模块,【具体实施方式】为:
[0065] (1)根据目标码分析模块的输出结果,统计被测软核程序的语句总数;
[0066] (2)根据反标后的覆盖率结果,统计已执行的语句数,计算语句覆盖率指标=已执 行语句数/可执行语句总数*100% ;
[0067] (3)根据目标码分析模块的输出结果,统计被测软核程序的真分支总数和假分支 总数;
[0068] (4)根据反标后的覆盖率结果,统计已执行的真分支数和假分指数,计算分支覆盖 率指标=(已执行真分支数+已执行假分支数V (真分支总数+假分支总数)*100% ;
[0069] (5)将反标到每个语句和每个分支上的覆盖率信息,结合语句代码,以友好的形式 显示给用户,供用户进行分析。
[0070] 针对MicroBlaze软核程序的测试验证方法,如图2所示,其实施步骤如下:
[0071] (1)利用EDA平台上的仿真软件,编译MicroBlaze仿真模型,并编译MicroBlaze 软核上运行的目标程序,生成仿真文件以及程序加载文件,之后进入步骤(2);
[0072] (2)在仿真软件中,构建MicroBlaze软核的外围其他逻辑的仿真模型,,提供时钟 激励以及各种接口的模拟,使得整个软硬件系统可以协同运行,之后进入步骤(3);
[0073] (3)设计测试用例,实现整个MicroBlaze仿真平台模块,利用EDA仿真软件进行动 态仿真运行;
[0074] (4)在仿真运行的过程中,监视MicroBlaze仿真平台模块输出的执行信息,进行 软核执行流的分析,并记录指令执行情况和分支执行情况;
[0075] (5)仿真运行中反复执行步骤(4),直至测试用例结束后,进入步骤(6);
[0076] (6)测试用例执行结束后,输出该测试用例的覆盖率文件。反复运行多个测试用 例,将各测试用例输出的覆盖率文件合并,得到总覆盖率文件,并进入步骤(7);
[0077] (7)分析软核程序的目标程序,并将总覆盖文件中的指令执行信息和指令跳转执 行情况反标到目标程序中,并进入到步骤(8);
[0078] (8)根据覆盖率反标结果,进行目标码的覆盖率分析,分析语句覆盖率、分支覆盖 率等指标,判断是否满足要求,如果满足要求则可以结束测试,否则返回步骤(3),补充设计 新的测试用例。
[0079] 图3说明了进行软核执行流监视记录的流程图,仿真开始后,软核执行流监视记 录模块监视MicroBlaze仿真平台模块输出的执行信息,在软核系统时钟的下降沿采集当 前PC指针、指令有效标志和跳转标志。当指令有效标志为有效时,表示当前PC指针对应为 有效指令,软核执行流监视记录模块记录PC指针对应的地址为已执行,若指令有效标志为 无效,表示当前PC指针对应的指令被丢弃,软核执行流监视记录模块记录无需进行记录。 对于有效指令,软核执行流监视记录模块检测跳转标志为有效时,软核执行流监视记录模 块记录指令的真分支执行,否则记录假分支执行。重复上述处理,直至测试用例执行结束, 即可输出当前测试用例对应的覆盖率文件。
[0080] 目前已在部分在研型号卫星上使用该测试验证系统,经过测试表明,采用该方法, 可以解决软核程序动态测试无法获取覆盖率信息的问题,有效地保障了软核程序测试验证 的充分性。
[0081] 本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。
【权利要求】
1. 一种针对MicroBlaze软核程序的测试验证系统,其特征在于包括:MicroBlaze仿真 平台模块、软核执行流监视记录模块、目标码分析模块和覆盖率统计分析模块,其中: MicroBlaze仿真平台模块,实现MicroBlaze软核处理器在EDA环境下的仿真运行; 该模块通过加载软核目标程序的机器码,实现软核程序的仿真运行,并将运行结果与外围 其他逻辑进行交互,实现FPGA逻辑代码、MicroBlaze软核以及软核程序的集成运行;同时 该模块还包含外围其他逻辑的仿真模型和测试用例模块,实现整个被测软件运行的模拟平 台,并向软核执行流监视记录模块输出执行信息,供软核执行流监视记录模块实现执行流 的监视、分析和记录; 软核执行流监视记录模块,根据MicroBlaze仿真平台模块输出执行信息,对软核程序 执行情况进行分析,实现真正指令执行序列的监视和记录;该模块接收来自MicroBlaze仿 真平台模块的执行信息,所述执行信息包括软核工作时钟、PC指针、指令有效标志和跳转标 志;根据指令有效标志和跳转标志,识别出当前执行的指令地址和分支跳转情况,实现执行 流的监视、分析和记录。仿真测试时重复执行上述过程直至用例执行结束,生成覆盖率文 件; 目标码分析模块,通过对软核目标程序进行分析,实现覆盖率信息的反标;该模块加载 软核目标程序文件以及软核执行流监视记录模块输出的覆盖率文件,通过对目标程序进行 格式分析,识别出各条指令以及各分支指令,并将覆盖率文件中的覆盖率信息在目标程序 上进行反标;在进行覆盖率反标时,还可以将多个测试用例执行后输出的覆盖率文件进行 合并,将合并后的总覆盖率信息,全部反标到对应目标程序上,实现多个测试用例对应覆盖 率结果的统一分析;反标覆盖率后的数据,将输出给覆盖率分析模块进行后续的覆盖率分 析; 覆盖率分析模块,实现覆盖率指标的分析,统计软核程序执行的语句覆盖率、分支覆盖 率指标;该模块接收目标码分析模块输出的数据,通过统计其中的语句总数和分支总数,并 根据反标后的覆盖率信息,分析执行过的语句数以及真假分支执行情况,最终向用户输出 语句覆盖率和分支覆盖率指标,其中语句覆盖率指标和分支覆盖率指标的计算公式如下: 语句覆盖率=已执行语句数/可执行语句总数*100% 分支覆盖率=(已执行真分支数+已执行假分支数V(真分支总数+假分支总 数)*100%。
2. 根据权利要求1所述的针对MicroBlaze软核程序的测试验证系统,其特征在于:所 述MicroBlaze仿真平台模块的具体实现步骤如下: (1) 首先需要编译MicroBlaze处理器的仿真模型,根据所用的EDA仿真软件,编译 MicroBlaze处理器的仿真模型,以及MicroBlaze软核处理器所用到的外围接口模块; (2) 完成MicroBlaze处理器的仿真模型构建后,还需要编译将被测试的软核程序,得 到软核程序的目标程序,导出目标程序中的指令机器码数据,并将指令机器码数据转换为 MicroBlaze处理器仿真模型所需的内存初始化文件形式;编译软核程序时,将调试选项打 开,以增强用户后续进行覆盖率分析的可读性; (3) 最后编写外围其他逻辑的仿真模型和测试用例模块,构建整个MicroBlaze仿真平 台模块,提供工作时钟信号,实现MicroBlaze仿真模块平台的运行。仿真运行过程中,向软 核执行流监视记录模块输出软核程序的执行信息。
3. 根据权利要求1所述的针对MicroBlaze软核程序的测试验证系统,其特征在于:所 述软核执行流监视记录模块具体实现步骤如下: (1) 接收MicroBlaze仿真平台模块输出执行信息,; (2) 当执行信息中的指令有效信号为有效时,记录执行信息中的当前PC指针,并将对 应的地址标记为已经执行过; (3) 对于分支跳转情况的处理,通过识别执行信息中的跳转发生信号,当跳转发生信号 有效时,标记为真分支已经执行过,否则标记为假分支已经执行过; (4) 重复执行上述步骤(2)和步骤(3),直至当前测试用例执行结束; (5) 将上述标记的指令执行情况和分支执行情况作为覆盖率文件输出,输出覆盖率文 件时,记录软核程序的名称和版本,用于后续合并时的比对。
4. 一种针对MicroBlaze软核程序的测试验证方法,实现步骤如下: (1) 利用EDA平台上的仿真软件,编译MicroBlaze仿真模型,并编译MicroBlaze软核 上运行的目标程序,生成仿真文件以及程序加载文件,之后进入步骤(2); (2) 在仿真软件中,构建MicroBlaze软核的外围其他逻辑的仿真模型,提供时钟激励 以及各种接口的模拟,使得整个软硬件系统可以协同运行,之后进入步骤(3); (3) 设计测试用例,实现整个MicroBlaze仿真平台模块,,利用EDA仿真软件进行动态 仿真运行; (4) 在仿真运行的过程中,监视MicroBlaze仿真平台模块输出执行流信息,进行软核 执行流的分析,并记录指令执行情况和分支执行情况; (5) 仿真运行中反复执行步骤(4),直至测试用例结束后,进入步骤(6); (6) 测试用例执行结束后,输出该测试用例的覆盖率文件。反复运行多个测试用例,将 各测试用例输出的覆盖率文件合并,得到总覆盖率文件,并进入步骤(7); (7) 分析软核目标程序,并将总覆盖文件中的指令执行情况和指令跳转执行情况反标 到目标码文件中,得到覆盖率反标结果,并进入到步骤(8); (8) 根据覆盖率反标结果,进行目标码的覆盖率分析,分析语句覆盖率、分支覆盖率指 标,判断是否满足要求,如果满足要求则结束测试,否则返回步骤(3),补充设计新的测试用 例;其中语句覆盖率指标和分支覆盖率指标的计算公式如下: 语句覆盖率=已执行语句数/可执行语句总数*100% 分支覆盖率=(已执行真分支数+已执行假分支数V(真分支总数+假分支总 数)*100%。
【文档编号】G06F11/36GK104063321SQ201410302903
【公开日】2014年9月24日 申请日期:2014年6月27日 优先权日:2014年6月27日
【发明者】于志杰, 田甜, 赵雷, 朱倩, 赵欢, 陈睿 申请人:北京控制工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1