CN102567164A - 用于处理器的指令集批量测试装置与方法 - Google Patents
用于处理器的指令集批量测试装置与方法 Download PDFInfo
- Publication number
- CN102567164A CN102567164A CN2011104397149A CN201110439714A CN102567164A CN 102567164 A CN102567164 A CN 102567164A CN 2011104397149 A CN2011104397149 A CN 2011104397149A CN 201110439714 A CN201110439714 A CN 201110439714A CN 102567164 A CN102567164 A CN 102567164A
- Authority
- CN
- China
- Prior art keywords
- test
- test case
- file
- batch
- files
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 414
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000013515 script Methods 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims description 10
- 238000010998 test method Methods 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 3
- 238000012423 maintenance Methods 0.000 abstract 1
- 230000008520 organization Effects 0.000 abstract 1
- 230000006399 behavior Effects 0.000 description 15
- 238000001514 detection method Methods 0.000 description 13
- 238000011161 development Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007849 functional defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种用于处理器的指令集批量测试装置和测试方法,该指令集批量测试装置由测试用例批量管理装置、源文件编译装置、配置文件解析装置和调试装置组成,测试用例批量管理装置分别与配置文件解析装置和源文件编译装置相连接,配置文件解析装置和源文件编译装置连接,又分别与测试用例批量管理装置和调试装置相连接。本发明利用配置文件解析装置生成自动测试脚本,能够自动化地执行大量的测试工作并给出测试结果,使用户免于编写测试脚本的复杂性和手动观察指令行为的不方便性;通过构建测试用例批量管理装置对测试用例库进行有效的组织、管理和维护,使测试执行计划能够快速而准确的制定,使用户高效的完成处理器功能的验证,使测试效果全面而精准。
Description
技术领域
本发明属于处理器技术领域,具体涉及一种用于处理器的测试装置与方法,特别是一种用于处理器的指令集批量测试装置与方法。
背景技术
在处理器的开发过程中,对其功能进行准确而严密的测试是十分关键的,测试工作贯穿了处理器开发的各个阶段。在渐进和快速迭代开发中,新版本的连续发布使测试任务进行的更加频繁。现有的测试装置和方法需要手动地一一执行各个测试用例,因此其效率低下,严重地滞碍了处理器开发的整体进度,而且人工方式很容易遗漏测试用例的执行,从而造成测试的不完全,导致处理器自身问题的堆积和膨胀,造成开发后期的大规模返工。
现有的用于处理器的指令集测试技术存在的几个问题:一方面,将编写好的测试用例在图像界面观察指令的行为,并逐一分析参与运算的硬件是否按照预期的模式工作的方式工作量巨大,重复工作多,不便于大规模的验证;另一方面,处理器指令集需要交叉验证,他们各中联系紧密而复杂,代码量更是庞大,若想对它们进行完全的测试,纵使不保证百分之百的覆盖率,也需要数量繁多的测试用例,因此手动编写测试脚本,也很不现实;而且,自动地对所有用例都进行测试也并非良好的策略,尤其当处理器***频繁变更、新版本接连发布的时候,如果频繁地对所有用例进行测试,虽然可以保证***的可靠性,但时间耗损不被允许。
发明内容
(一)要解决的技术问题
本发明所要解决的技术问题是提供一种用于处理器的指令集批量测试装置与方法,以便自动、高效地对处理器进行指令集的批量测试。
(二)技术方案
本发明提出一种用于处理器的指令集批量测试装置,其由测试用例批量管理装置、源文件编译装置、配置文件解析装置和调试装置组成,测试用例批量管理装置分别与配置文件解析装置和源文件编译装置相连接,配置文件解析装置和源文件编译装置连接,又分别与测试用例批量管理装置和调试装置相连接;其中测试用例批量管理装置用于对测试用例进行管理,生成测试用例集,建立测试配置文件,并将测试用例或测试用例集输出到源文件编译装置,将测试配置文件输出到配置文件解析装置;源文件编译装置接收来自于测试用例批量管理装置的测试用例或测试用例集,将测试用例的源文件进行编译,生成可执行文件并输出到调试装置;配置文件解析装置接收来自于测试用例批量管理装置的测试用例或测试用例集中的测试配置文件以及测试源文件,对测试配置文件进行解析,并抽取测试源文件中的测试点信息,生成自动测试脚本,并输出到调试装置;调试装置用于接收来自源文件编译装置的可执行文件,以及来自配置文件解析装置的自动测试脚本,对处理器进行测试,从而验证处理器的功能。
本发明还提出一种用于处理器的指令集批量测试方法,其包括如下步骤:A、建立测试用例库,使该测试用例库包括多个测试用例,建立测试用例源文件,并在该源文件中设置断点标志;B、建立与测试用例对应的测试配置文件;C、从测试用例库中选择若干测试用例,生成测试用例集;D、编译链接测试用例集中的测试用例源文件,生成可执行文件;E、根据测试用例集中的测试用例源文件及其相对应的测试配置文件,生成自动测试脚本;F、调用分别由步骤D和步骤E生成的可执行文件和自动测试脚本,对处理器进行指令集的批量测试。
(三)有益效果
本发明利用配置文件解析装置生成自动测试脚本,能够自动化地执行大量的测试工作并给出测试结果,使用户免于编写测试脚本的复杂性和手动观察指令行为的不方便性;同时,本发明通过构建测试用例批量管理装置对测试用例库进行有效的组织、管理和维护,使测试执行计划能够快速而准确的制定;并且,本发明利用测试用例批量管理装置还可以灵活的选取测试用例集,使用户高效的完成处理器功能的验证,测试效果全面而精准。
附图说明
图1为依照本发明实施例用于处理器的指令集批量测试装置的示意图;
图2为依照本发明实施例用于处理器的指令集批量测试方法的流程图;
图3为依照本发明实施例的测试配置文件的层次结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
首先介绍应用于本发明的指令集批量测试装置的测试用例以及测试配置文件。
测试用例
本发明的测试用例是计算机源文件,可使用汇编语言或者C语言编写,源文件中包含有按规则要求预先设置的断点标志。所述断点标志可以设置在行尾的注释中,考虑到汇编指令的执行周期,还可以设置于该测试点的后面一行或者几行的行尾注释中,也可以通过汇编源代码中的标签设置断点。所述断点标志用于观察程序执行过程中的行为是否与预期一致,以验证当前版本处理器是否存在逻辑错误。例如断点标志以TEST N表示,其中N为从1开始的数字。
测试配置文件
本发明所述的测试配置文件是符合测试语法规则的文件,用于自动化地对比实际测试执行的结果与预期的结果是否一致,使测试人员对测试程序运行时的监测判断的描述更加便捷而统一,文件中包括测试用例的名称、测试用例的测试目的等提示信息、测试用例选用的测试模式、测试用例执行后结果的输出路径、调试平台上要加载的二进制程序以及断点、测试判断等信息,例如可以由HTML(HyperText Markup Language超文本标记语言)、XML(extensive makeup language可扩展标记语言)、XHTML(eXtensible HyperText Markup Language可延伸超文本标记语言)等语言实现。下面以XML(extensive makeup language可扩展标记语言)格式编写的测试配置文件为例进行说明。
以XML格式编写的测试配置文件,描述其对应的测试程序在处理器上运行正确时应反映出的行为、上下文中变量和地址空间中数值的变化情况,是检验测试程序是否执行正确的参照标准。
测试配置文件以层次结构的方式描述测试配置信息,如图3所示,顶层元素TestInfo(301)由CaseName(302)、Description(303)、TestMode(304)、ResultFile(305)、VPU(306)构成,其中,
CaseName(302)用于指明该测试用例的名称;
Description(303)描述本测试用例的测试目的等提示信息;
TestMode(304)描述本测试用例选用的测试模式,即测试用例的执行环境。
ResultFile(305)描述本测试用例执行后结果的输出路径。
Vpu(306)描述了调试平台上要加载的二进制程序以及断点、测试判断等信息。可以有任意(大于等于1)个Vpu元素,并且每个Vpu内部由ImageFile(307)、Breakpoint(308)两类元素组成,其中,
ImageFile(307)描述此Vpu将要加载的二进制文件的路径和名称。
Breakpoint(308)描述一个断点检测处的检测行为。可以有任意多个(大于等于1个)Breakpoint元素,并且每个Breakpoint元素由hitNum(309)、LablePos(310)、DefaultHit(311)、Hit(312)四个元素组成,其中,
hitNum(309)描述该断点在程序执行一次的过程中将会被击中的总次数。其中断点击中是指在程序执行过程中,设有断点的语句被执行。
LablePos(310)描述该断点在源程序中的位置,用字符串和数字表示,代表源程序中的一个标签。
DefaultHit(311)描述在默认情况下该断点处需执行的检测判断条件。
Hit(312)描述在某指定击中次数时该断点处需要执行的检测判断条件,其具体的击中次数在其属性time项中进行标识。
上述DefaultHit和Hit中主要由TestFunction(313)和Condition(314)两类元素组成。其中,
TestFunction(313)描述的是该断点本次击中的测试功能。它是一个可选元素,即它可以出现零次或一次,倘若某个断点的每次击中的测试功能相同,则只在第一个Hit元素(或DefaultHit)中包含TestFunction元素。
Condition(314)描述本次击中时的判断条件。DefaultHit和Hit的内容都是由一个或多个Condition元素组成,当包含有多个Condition元素时,只有各个条件同时满足时程序才被判断为执行正确,否则执行出错。
本发明所述的源文件中的断点标志,若处于函数体或循环体中,可能在整个运行过程中经历多次被击中,而每次击中所要进行的判断条件可能不相同,所以自动测试必须能够对同一断点处的不同击中次数设定不同的检测条件。包括对于指定第n次停驻时的检测行为的定义、多次停驻具有相同检测行为的定义、对于其它未特别指出的停驻次的默认行为的定义,其中,
指定第n次停驻时的检测行为的定义:可以在测试点配置文件中定义第n次停驻时对应的检测行为。
多次停驻具有相同检测行为的定义:可以在测试点配置文件中为具有完全相同检测行为的多次停驻统一定义检测条件。
其它未特别指出的停驻次的默认行为的定义:描述了在某个检测断点处的不同停驻次数中,可能需要设置一个默认的检测行为,尤其是总停驻次数很多时,很有可能在绝大多数停驻中都进行完全相同的检测行为。为了避免在测试点配置文件中对该默认检测行为的重复列出,可以设置一个默认检测条件。此种情况采用DefaultHit进行描述。
批量测试装置
下面具体描述使用上述测试用例和测试配置文件的指令集批量测试装置和方法的实施方式。
图1为依照本发明实施例用于处理器的指令集批量测试装置的示意图,该测试装置由测试用例批量管理装置、源文件编译装置、配置文件解析装置和调试装置组成。测试用例批量管理装置分别与配置文件解析装置和源文件编译装置相连接,配置文件解析装置和源文件编译装置连接,又分别与测试用例批量管理装置和调试装置相连接。
根据本发明,测试用例批量管理装置用于对测试用例进行管理,生成测试用例集,建立测试配置文件,并将测试用例或测试用例集输出到源文件编译装置,将测试配置文件输出到配置文件解析装置。
该测试用例批量管理装置包括有测试用例库、用户输入模块和显示模块,其中测试用例库用于存储测试不同功能模块的测试用例,其中每个测试用例中包括测试源文件以及与各测试源文件所对应的测试配置文件、可自动验证的脚本文件、链接脚本文件、Makefile文件和测试日志文件。在执行测试配置文件解析时,结合测试源文件,直接将测试断点解析为行号,并生成自动测试脚本。用户输入模块用于用户输入指令以对测试用例库进行操作,例如测试用例或测试用例集的建立、删除、显示、编辑和输出等操作。显示模块用于显示测试用例库中测试用例的信息,比如编号名称、路径信息等。
所述对测试用例的管理包括测试用例的处理、测试用例集的处理、目录管理、临时文件清除和使用帮助。测试用例的处理包括测试用例的建立、删除、显示、编辑和输出,测试用例集的处理包括测试用例集的生成、显示、编辑和输出。目录管理包括测试用例的目录显示,定时执行的测试用例的目录显示和全部测试用例的执行。
测试用例的建立:根据处理器变更的功能增加新的测试用例。对处理器新增功能的测试不全面很容易导致处理器的功能缺陷,甚至是整个处理器***的崩溃,因此需要在处理器的测试过程中建立与处理器的新增功能相适应的测试用例。可通过用户输入模块将测试用例添加到测试用例库中,以备查看和处理。
测试用例的删除:可通过用户输入模块删除测试用例库中已过时的测试用例或冗余的测试用例。所述测试用例如若不及时删除,在反复回归测试中将会严重影响测试的效率。
测试用例的显示:可通过用户输入模块查看测试用例库中测试用例的编号名称、路径信息,并通过显示模块进行显示,方便使用者进行查看。
测试用例的编辑:根据处理器功能的变更需要对原有测试用例的部分测试点进行修改、增加、删除,或者对全部测试点进行修改、删除,因此可通过用户输入模块从测试用例库中调出所需的测试用例,并对测试用例进行编辑。
测试用例的输出:在执行测试用例时,将测试用例中的测试源文件输出到源文件编译装置中进行编译,将测试用例中的测试配置文件输出到配置文件解析装置中进行解析。
测试用例集的生成:由于处理器功能的频繁变更,如果频繁地对所有用例进行测试,虽然可以保证***的可靠性,但时间耗损不被允许,因此只需要对部分涉及到的模块进行测试即可。可通过用户输入模块从测试用例库中选取一部分测试用例生成所需的测试用例集。
测试用例集的显示:可通过用户输入模块查看测试用例库中组成测试用例集中的测试用例的编号名称列表、测试用例的总数量和路径信息,并通过显示模块进行显示,方便使用者进行查看。
测试用例集的编辑:根据处理器功能的变更或者结合项目的需要,对原有测试用例集中的测试用例进行修改、增加、删除,或者对全部测试用例集进行修改、删除,因此可通过用户输入模块从测试用例库中选出组成测试用例集的测试用例,并对测试用例进行编辑。
测试用例集的输出:在执行测试用例集时,分别执行测试用例集中的每个测试用例,将执行到的测试用例中的测试源文件输出到源文件编译装置中进行编译,将执行到的测试用例中的测试配置文件输出到配置文件解析装置中进行解析。
测试用例的目录显示:可通过用户输入模块查看测试用例库中所有的测试用例的编号名称列表、测试用例的数量和路径信息,并通过显示模块进行显示,方便使用者进行查看。
定时执行的测试用例的目录显示:通过用户输入模块查看测试用例库中需要定时执行的测试用例的编号名称、路径信息、定时的时间、创建测试日志的路径信息。
全部测试用例的执行:当处理器增加了新的功能,或者处理器中的缺陷被修正,这些都能影响处理器原有功能和结构,为了防止处理器的变更产生无法预料的副作用,不仅要对新的测试用例进行测试,还需要对老的测试用例进行测试,此时就需要对测试用例库中所有的测试用例都执行一遍。
临时文件清除:用于清除测试时生成的所有临时文件。
使用帮助:提示使用者测试用例管理的使用方法。
根据本发明,源文件编译装置接收来自于测试用例批量管理装置的测试用例或测试用例集,将测试用例的源文件进行编译,生成可执行文件并输出到调试装置。
源文件编译装置包括编译器和链接器。编译器用于对从测试用例批量管理装置中输出的测试用例源文件通过编译器进行编译,生成目标文件;链接器按链接脚本的指示把编译好的目标文件组合在一起,生成可执行的文件。
根据本发明,配置文件解析装置接收来自于测试用例批量管理装置的测试用例或测试用例集中的测试配置文件以及测试源文件,对测试配置文件进行解析,并抽取测试源文件中的测试点信息,生成自动测试脚本,并输出到调试装置。
调试装置用于接收来自源文件编译装置的可执行文件,以及来自配置文件解析装置的自动测试脚本,对处理器进行测试,从而验证处理器的功能。
调试装置包括调试器和测试目标。调试器是一种工具软件,用于对解析后生成的自动测试脚本和源文件经过编译链接后生成的可执行文件按照测试目标进行处理,从而验证处理器功能。
批量测试方法
图2为依照本发明实施例用于处理器的指令集批量测试方法的流程图,该方法包括如下步骤:
A、建立测试用例库,使该测试用例库包括多个测试用例,建立测试用例源文件,并在该源文件中设置断点标志;同时,建立可自动验证的脚本文件、链接脚本文件、Makefile文件;
B、建立与测试用例对应的测试配置文件;
C、从测试用例库中选择若干测试用例,生成测试用例集;
D、编译链接测试用例集中的测试用例源文件,生成可执行文件;
E、根据测试用例集中的测试用例源文件及其相对应的测试配置文件,生成自动测试脚本;
F、调用分别由步骤D和步骤E生成的可执行文件和自动测试脚本,对处理器进行指令集的批量测试。
下面具体描述上述各个步骤:
步骤A:建立测试用例库,使该测试用例库包括多个测试用例,编写测试用例源文件,并在其中设置断点标志;同时,导入可自动验证的脚本文件、链接脚本文件、Makefile文件。
前文中已对测试用例及测试用例中的断点标志进行了详细描述,在此不再赘述。可以通过Windows操作***平台或者Linux操作***平台编写汇编源文件或者C语言源文件建立测试用例源文件,并由若干个测试用例组成测试用例库。
步骤B:建立与测试用例源文件对应的测试配置文件。
前文中已对与测试用例对应的测试配置文件进行了详细描述,在此不再赘述。测试配置文件可以通过编写XML格式的文件进行建立。
步骤C:从测试用例库中选择若干测试用例,生成测试用例集。
根据需要测试的处理器的功能模块,从测试用例库中选择待测试的用例,生成测试用例集。该测试用例集可以是多个与测试内容相关的测试用例组合成的集,也可是单个测试用例。
步骤D:编译链接测试用例集中的测试用例源文件,生成可执行文件。
分别编译链接测试用例集中的每个测试用例,首先对每个测试用例源文件通过编译器进行编译,生成目标文件;然后,按链接脚本文件的指示把编译好的目标文件组合在一起,生成可执行的文件。
步骤E:根据测试用例集中的测试用例源文件及其相对应的测试配置文件,生成自动测试脚本。
配置文件解析装置对测试配置文件进行解析,并抽取测试源文件中的测试点信息,生成自动测试脚本。
步骤F:调用分别由步骤D和步骤E生成的可执行文件和自动测试脚本,对处理器进行指令集的批量测试。
逐一执行测试用例集中的单个测试用例,将测试用例集中的每个测试用例的可执行文件与自动测试脚本同时输入到调试器中,按照测试目标的要求对测试用例进行调试,从而判断处理器功能是否正确。
步骤F包括如下步骤:
步骤F1:执行测试用例的可执行文件和自动测试脚本;
将可执行文件与自动测试脚本同时输入到调试器中,按照测试目标的要求对测试用例进行调试,从而判断处理器功能是否正确。
步骤F2:记录测试结果;
如果测试用例集合中的用例未全部执行完毕,则记录此次执行的结果。所记录的测试结果包括对出错的断点及所执行的程序加以记录,所包含的具体内容需包括:
1)当前正在测试的是哪个测试用例,测试的目的是什么。
2)每个出错断点的结果之前,需记录该断点的名称或位置,对可能多次击中的断点,需显示地标注此处为停驻的第几次。
3)记录每个出错断点处测试变量的当次执行值和标准参考值。
4)测试报告的结尾处,需归纳总结本次自动测试的执行概括,即共多少个程序被测试,其中出错的程序有多少,测试的总共用时等。
步骤F3:判断测试用例集中的测试用例是否执行完毕,如果执行完毕,则测试结束;如果未执行完毕,则记录此次测试结果;
步骤F4:创建测试日志。
该自动测试以批处理的形式一次完成测试执行计划中的多个测试程序的执行,其结果将记录在指定的结果文件中。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种用于处理器的指令集批量测试装置,其特征在于,包括:
测试用例批量管理装置,用于对测试用例进行管理,生成测试用例集,建立测试配置文件,并将测试用例或测试用例集输出到源文件编译装置,将测试配置文件输出到配置文件解析装置;
源文件编译装置,用于接收来自于测试用例批量管理装置的测试用例或测试用例集,将测试用例的源文件进行编译,生成可执行文件并输出到调试装置;
配置文件解析装置,用于接收来自于测试用例批量管理装置的测试用例或测试用例集中的测试配置文件以及测试源文件,对测试配置文件进行解析,并抽取测试源文件中的测试点信息,生成自动测试脚本,并输出到调试装置;
调试装置,用于接收来自源文件编译装置的可执行文件,以及来自配置文件解析装置的自动测试脚本,对处理器进行测试,从而验证处理器的功能。
2.如权利要求1所述的指令集批量测试装置,其特征在于,
测试用例批量管理装置包括测试用例库、用户输入模块和显示模块,其中测试用例库用于存储测试不同功能模块的测试用例;用户输入模块用于用户输入指令以对测试用例库进行操作;显示模块用于显示测试用例库中测试用例的信息。
3.如权利要求2所述的指令集批量测试装置,其特征在于,
所述测试用例包括测试源文件以及与各测试源文件所对应的测试配置文件、可自动验证的脚本文件、链接脚本文件、Makefile文件和测试日志文件。
4.如权利要求1所述的指令集批量测试装置,其特征在于,
所述对测试用例的管理包括测试用例的处理、测试用例集的处理、目录管理、临时文件清除和使用帮助。
5.如权利要求1所述的指令集批量测试装置,其特征在于,
源文件编译装置包括编译器和链接器;
编译器用于对从测试用例批量管理装置中输出的测试用例源文件通过编译器进行编译,生成目标文件;
链接器按链接脚本的指示把编译好的目标文件组合在一起,生成可执行的文件。
6.如权利要求1所述的指令集批量测试装置,其特征在于,
调试装置包括调试器和测试目标;调试器用于对解析后生成的自动测试脚本和源文件经过编译链接后生成的可执行文件按照测试目标进行处理,从而验证处理器功能。
7.如权利要求1所述的指令集批量测试装置,其特征在于,
所述测试用例批量管理装置分别与配置文件解析装置和源文件编译装置相连接,所述配置文件解析装置与源文件编译装置相连接,又分别与测试用例批量管理装置和调试装置相连接。
8.一种用于处理器的指令集批量测试方法,其特征在于包括如下步骤:
A、建立测试用例库,使该测试用例库包括多个测试用例,建立测试用例源文件,并在该源文件中设置断点标志;
B、建立与测试用例对应的测试配置文件;
C、从测试用例库中选择若干测试用例,生成测试用例集;
D、编译链接测试用例集中的测试用例源文件,生成可执行文件;
E、根据测试用例集中的测试用例源文件及其相对应的测试配置文件,生成自动测试脚本;
F、调用分别由步骤D和步骤E生成的可执行文件和自动测试脚本,对处理器进行指令集的批量测试。
9.如权利要求8所述的指令集批量测试方法,其特征在于:
在步骤A中,同时建立可自动验证的脚本文件、链接脚本文件、Makefile文件。
10.如权利要求9所述的指令集批量测试方法,其特征在于:
在步骤A中,使用汇编源文件或者C语言源文件建立测试用例源文件,并由若干个测试用例组成测试用例库。
11.如权利要求9所述的指令集批量测试方法,其特征在于:
在步骤B中,测试配置文件由XML格式的文件建立。
12.如权利要求9所述的指令集批量测试方法,其特征在于:
在步骤C中,测试用例集是多个与测试内容相关的测试用例组合成的集或者是单个测试用例。
13.如权利要求9所述的指令集批量测试方法,其特征在于:
在步骤D中,首先对每个测试用例源文件通过编译器进行编译,生成目标文件;然后,按链接脚本文件的指示把编译好的目标文件组合在一起,生成可执行的文件。
14.如权利要求9所述的指令集批量测试方法,其特征在于:
在步骤E中,配置文件解析装置对测试配置文件进行解析,并抽取测试源文件中的测试点信息,生成自动测试脚本。
15.如权利要求9所述的指令集批量测试方法,其特征在于:
步骤F包括如下步骤:
F1、将可执行文件与自动测试脚本同时输入到调试器中,按照测试目标的要求对测试用例进行调试,从而判断处理器功能是否正确;
F2、记录测试结果;
F3、判断测试用例集中的测试用例是否执行完毕,如果执行完毕,则测试结束;如果未执行完毕,则记录此次测试结果;
F4、创建测试日志。
16.如权利要求15所述的指令集批量测试方法,其特征在于:
在步骤F2中,所记录的测试结果包括对出错的断点及所执行的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104397149A CN102567164A (zh) | 2011-12-23 | 2011-12-23 | 用于处理器的指令集批量测试装置与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104397149A CN102567164A (zh) | 2011-12-23 | 2011-12-23 | 用于处理器的指令集批量测试装置与方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102567164A true CN102567164A (zh) | 2012-07-11 |
Family
ID=46412638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104397149A Pending CN102567164A (zh) | 2011-12-23 | 2011-12-23 | 用于处理器的指令集批量测试装置与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102567164A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914370A (zh) * | 2012-12-31 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 基于可扩展标记语言xml配置文件的测试方法及装置 |
CN104317715A (zh) * | 2014-10-30 | 2015-01-28 | 南京富士通南大软件技术有限公司 | 基于模拟器的中央处理器指令集的功能测试自动实施方法 |
CN105279076A (zh) * | 2014-06-17 | 2016-01-27 | 腾讯科技(深圳)有限公司 | 一种网页测试方法及终端 |
CN106021049A (zh) * | 2016-05-18 | 2016-10-12 | 中国电子科技集团公司第三十二研究所 | 国产操作***验证平台及建立方法 |
CN106201867A (zh) * | 2016-06-29 | 2016-12-07 | 武汉斗鱼网络科技有限公司 | 一种Linux平台下可定制的自动单元测试方法及*** |
CN106294053A (zh) * | 2016-07-28 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种内存性能测试方法及装置 |
CN107665159A (zh) * | 2016-07-27 | 2018-02-06 | 上海华虹集成电路有限责任公司 | 安全处理器跳转指令固定执行时间的测试方法 |
CN107894951A (zh) * | 2017-11-01 | 2018-04-10 | 上海奕瑞光电子科技股份有限公司 | 平板探测器软件的自动化测试方法及*** |
CN108694103A (zh) * | 2017-04-11 | 2018-10-23 | 北京君正集成电路股份有限公司 | 一种检测cpu的方法及装置 |
CN109086199A (zh) * | 2018-06-22 | 2018-12-25 | 网宿科技股份有限公司 | 一种自动化生成测试脚本的方法、终端和可存储介质 |
CN110007962A (zh) * | 2019-03-08 | 2019-07-12 | 浙江大学 | 一种基于代码自动生成的指令集模拟方法 |
CN111934953A (zh) * | 2020-08-07 | 2020-11-13 | 北京计算机技术及应用研究所 | 基于国产处理器计算机平台的批量测试方法 |
CN112231164A (zh) * | 2020-12-11 | 2021-01-15 | 鹏城实验室 | 处理器验证方法、设备及可读存储介质 |
CN112464203A (zh) * | 2020-11-16 | 2021-03-09 | 航天信息股份有限公司 | 基于智能密码钥匙应用接口数据格式检测方法及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0594888A1 (en) * | 1992-10-30 | 1994-05-04 | International Business Machines Corporation | Method and apparatus for computer software testing |
US6249882B1 (en) * | 1998-06-15 | 2001-06-19 | Hewlett-Packard Company | Methods and systems for automated software testing |
CN1983209A (zh) * | 2005-12-14 | 2007-06-20 | 中兴通讯股份有限公司 | 一种软件单元测试自动化***及其方法 |
CN101866315A (zh) * | 2010-06-11 | 2010-10-20 | 中国科学院计算技术研究所 | 软件开发工具的测试方法及*** |
-
2011
- 2011-12-23 CN CN2011104397149A patent/CN102567164A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0594888A1 (en) * | 1992-10-30 | 1994-05-04 | International Business Machines Corporation | Method and apparatus for computer software testing |
US6249882B1 (en) * | 1998-06-15 | 2001-06-19 | Hewlett-Packard Company | Methods and systems for automated software testing |
CN1983209A (zh) * | 2005-12-14 | 2007-06-20 | 中兴通讯股份有限公司 | 一种软件单元测试自动化***及其方法 |
CN101866315A (zh) * | 2010-06-11 | 2010-10-20 | 中国科学院计算技术研究所 | 软件开发工具的测试方法及*** |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914370B (zh) * | 2012-12-31 | 2017-05-10 | 百度国际科技(深圳)有限公司 | 基于可扩展标记语言xml配置文件的测试方法及装置 |
CN103914370A (zh) * | 2012-12-31 | 2014-07-09 | 百度国际科技(深圳)有限公司 | 基于可扩展标记语言xml配置文件的测试方法及装置 |
CN105279076B (zh) * | 2014-06-17 | 2019-05-07 | 腾讯科技(深圳)有限公司 | 一种网页测试方法及终端 |
CN105279076A (zh) * | 2014-06-17 | 2016-01-27 | 腾讯科技(深圳)有限公司 | 一种网页测试方法及终端 |
CN104317715A (zh) * | 2014-10-30 | 2015-01-28 | 南京富士通南大软件技术有限公司 | 基于模拟器的中央处理器指令集的功能测试自动实施方法 |
CN106021049A (zh) * | 2016-05-18 | 2016-10-12 | 中国电子科技集团公司第三十二研究所 | 国产操作***验证平台及建立方法 |
CN106201867A (zh) * | 2016-06-29 | 2016-12-07 | 武汉斗鱼网络科技有限公司 | 一种Linux平台下可定制的自动单元测试方法及*** |
CN106201867B (zh) * | 2016-06-29 | 2019-01-29 | 武汉斗鱼网络科技有限公司 | 一种Linux平台下可定制的自动单元测试方法及*** |
CN107665159A (zh) * | 2016-07-27 | 2018-02-06 | 上海华虹集成电路有限责任公司 | 安全处理器跳转指令固定执行时间的测试方法 |
CN106294053A (zh) * | 2016-07-28 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种内存性能测试方法及装置 |
CN108694103A (zh) * | 2017-04-11 | 2018-10-23 | 北京君正集成电路股份有限公司 | 一种检测cpu的方法及装置 |
CN107894951A (zh) * | 2017-11-01 | 2018-04-10 | 上海奕瑞光电子科技股份有限公司 | 平板探测器软件的自动化测试方法及*** |
CN109086199A (zh) * | 2018-06-22 | 2018-12-25 | 网宿科技股份有限公司 | 一种自动化生成测试脚本的方法、终端和可存储介质 |
CN109086199B (zh) * | 2018-06-22 | 2022-06-07 | 网宿科技股份有限公司 | 一种自动化生成测试脚本的方法、终端和可存储介质 |
CN110007962A (zh) * | 2019-03-08 | 2019-07-12 | 浙江大学 | 一种基于代码自动生成的指令集模拟方法 |
CN111934953A (zh) * | 2020-08-07 | 2020-11-13 | 北京计算机技术及应用研究所 | 基于国产处理器计算机平台的批量测试方法 |
CN111934953B (zh) * | 2020-08-07 | 2024-02-02 | 北京计算机技术及应用研究所 | 基于国产处理器计算机平台的批量测试方法 |
CN112464203A (zh) * | 2020-11-16 | 2021-03-09 | 航天信息股份有限公司 | 基于智能密码钥匙应用接口数据格式检测方法及电子设备 |
CN112231164A (zh) * | 2020-12-11 | 2021-01-15 | 鹏城实验室 | 处理器验证方法、设备及可读存储介质 |
CN112231164B (zh) * | 2020-12-11 | 2021-08-27 | 鹏城实验室 | 处理器验证方法、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567164A (zh) | 用于处理器的指令集批量测试装置与方法 | |
US9898387B2 (en) | Development tools for logging and analyzing software bugs | |
CN101739339B (zh) | 一种基于程序动态依赖关系的软件故障定位方法 | |
Daniel et al. | On test repair using symbolic execution | |
US8589882B2 (en) | Analyzing computer code development actions and process | |
Soltani et al. | A guided genetic algorithm for automated crash reproduction | |
CN110554965A (zh) | 自动化模糊测试方法及相关设备、计算机可读存储介质 | |
CN107329889B (zh) | 一种c编译器自动化测试的方法 | |
Yu et al. | Towards automated debugging in software evolution: Evaluating delta debugging on real regression bugs from the developers’ perspectives | |
Neukirchen et al. | Utilising code smells to detect quality problems in TTCN-3 test suites | |
Alves et al. | A method to localize faults in concurrent C programs | |
US10229029B2 (en) | Embedded instruction sets for use in testing and error simulation of computing programs | |
US10579761B1 (en) | Method and system for reconstructing a graph presentation of a previously executed verification test | |
Ficco et al. | Bug Localization in Test‐Driven Development | |
Singhal et al. | A critical review of various testing techniques in aspect-oriented software systems | |
CN112162921B (zh) | 一种工业自动化测试与控制*** | |
CN113051582B (zh) | 一种计算机软件技术开发调试*** | |
JP2023000907A (ja) | ソースコード修正支援装置及びソースコード修正支援方法 | |
JP2016126700A (ja) | プログラム検証装置、プログラム検証方法及びプログラム検証プログラム | |
Ganji et al. | Code coverage criteria for asynchronous programs | |
Wambugu et al. | Automatic Debugging Approaches: A literature Review. | |
Chen et al. | When a GUI regression test failed, what should be blamed? | |
Bathla et al. | Innovative approaches of automated tools in software testing and current technology as compared to manual testing | |
Saieva et al. | Ad hoc test generation through binary rewriting | |
KR20120058753A (ko) | 디버거를 이용한 임베디드 소프트웨어 단위 테스트 자동화 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120711 |