CN114020645A - 测试方法、装置、设备、可读存储介质及计算机程序产品 - Google Patents

测试方法、装置、设备、可读存储介质及计算机程序产品 Download PDF

Info

Publication number
CN114020645A
CN114020645A CN202111467850.9A CN202111467850A CN114020645A CN 114020645 A CN114020645 A CN 114020645A CN 202111467850 A CN202111467850 A CN 202111467850A CN 114020645 A CN114020645 A CN 114020645A
Authority
CN
China
Prior art keywords
data set
original data
tested
function
test
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
Application number
CN202111467850.9A
Other languages
English (en)
Inventor
郭向飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Eswin Computing Technology Co Ltd
Haining Eswin IC Design Co Ltd
Original Assignee
Beijing Eswin Computing Technology Co Ltd
Haining Eswin IC Design Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Eswin Computing Technology Co Ltd, Haining Eswin IC Design Co Ltd filed Critical Beijing Eswin Computing Technology Co Ltd
Priority to CN202111467850.9A priority Critical patent/CN114020645A/zh
Publication of CN114020645A publication Critical patent/CN114020645A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供了一种测试方法、装置、设备、计算机可读存储介质及计算机程序产品,涉及芯片测试领域,该方法包括:获取针对待测对象的测试数据对应的反汇编文件和原始数据集;根据反汇编文件和原始数据集,确定待测对象对应的函数调用树;根据待测对象对应的函数调用树,对待测对象存在的缺陷进行调试。本申请实施例实现了有效的缩小针对待测对象缺陷的定位范围,从而提高了定位效率。

Description

测试方法、装置、设备、可读存储介质及计算机程序产品
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种测试方法、装置、设备、可读存储介质及计算机程序产品。
背景技术
现有技术在CPU(Central Processing Unit,中央处理器)设计和验证过程中,需要运行大量的测试程序。CPU的验证过程中,待测组件CPU与测试用例都有可能出错,尤其是稍大规模的测试用例,例如该测试用例包括百万行指令。在CPU的前仿验证环境,对较大规模、较抽象层次的测试用例没有有效的定位手段,无法快速找到问题点,从而导致定位效率不高。
发明内容
本申请针对现有的方式的缺点,提出一种测试方法、装置、设备、计算机可读存储介质及计算机程序产品,用于解决如何提升定位效率的问题。
第一方面,本申请提供了一种测试方法,包括:
获取针对待测对象的测试数据对应的反汇编文件和原始数据集;
根据所述反汇编文件和所述原始数据集,确定所述待测对象对应的函数调用树;
根据所述待测对象对应的函数调用树,对所述待测对象存在的缺陷进行调试。
在一个实施例中,获取针对待测对象的测试数据对应的反汇编文件和原始数据集,包括:
基于测试数据,对待测对象进行测试,并对待测对象的测试过程进行监控,得到原始数据集,原始数据集包括跟踪日志;
将测试数据进行反汇编处理,得到测试数据对应的反汇编文件。
在一个实施例中,根据反汇编文件和原始数据集,确定待测对象对应的函数调用树,包括:
对反汇编文件进行解析,得到程序计数器的起始值;
基于程序计数器的起始值和原始数据集,得到原始数据集中各函数之间的调用关系;
将各函数之间的调用关系进行格式化处理,得到待测对象对应的函数调用树,函数调用树包括各函数之间的调用关系。
在一个实施例中,基于程序计数器的起始值和原始数据集,得到原始数据集中各函数之间的调用关系,包括:
基于程序计数器的起始值和原始数据集,得到多个程序计数器的第一值,每一个第一值用于表征存储原始数据集中一个函数的内存地址;
将每一个第一值分别反标到相应的函数,得到原始数据集中各函数之间的调用关系。
在一个实施例中,函数调用树包括原始数据集中各函数之间的调用关系、用于反标仿真波形的信息、用于日志查找的信息中的至少一项;
根据待测对象对应的函数调用树,对待测对象存在的缺陷进行调试,包括:
根据各函数之间的调用关系、用于反标仿真波形的信息、用于日志查找的信息中的至少一项,对待测对象存在的缺陷进行调试。
在一个实施例中,待测对象包括被测器件DUT。
第二方面,本申请提供了一种测试装置,包括:
第一处理模块,用于获取针对待测对象的测试数据对应的反汇编文件和原始数据集;
第二处理模块,用于根据反汇编文件和原始数据集,确定待测对象对应的函数调用树;
第三处理模块,用于根据待测对象对应的函数调用树,对待测对象存在的缺陷进行调试。
第三方面,本申请提供了一种电子设备,包括:处理器、存储器和总线;
总线,用于连接处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请第一方面的测试方法。
第四方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被用于执行本申请第一方面的测试方法。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请第一方面中测试方法的步骤。
本申请实施例提供的技术方案,至少具有如下有益效果:
获取针对待测对象的测试数据对应的反汇编文件和原始数据集;根据反汇编文件和原始数据集,确定待测对象对应的函数调用树;根据待测对象对应的函数调用树,对待测对象存在的缺陷进行调试。如此,通过将仿真环境中产出指令执行的原始数据集结合反汇编文件,通过文件分析,生成待测对象对应的函数调用树,函数调用树包括了在整个程序执行过程中的函数调用流,函数调用树可以方便测试用例编写者快速定位程序执行的异常点,并提供详尽的数据信息,方便在原始数据集中进行定位,从而有效的缩小针对待测对象缺陷的定位范围,从而提高了定位效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的测试系统的架构示意图;
图2为本申请实施例提供的一种测试方法的流程示意图;
图3为本申请实施例提供的函数调用树的示意图;
图4为本申请实施例提供的另一种测试方法的流程示意图;
图5为本申请实施例提供的一种测试装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,或者实现为“B”,或者实现为“A和B”。
发明人研究发现:在CPU的前仿真验证环境,对较大规模、较抽象层次的测试用例没有有效的定位手段,无法快速找到出问题点,并进一步定位是测试自身或是CPU设计出问题,特别是对较高层次的测试用例,需要从程序指令流(flow)上定位是否运行出错;对上百万行指令级别的测试用例,手动定位非常耗时低效。
基于此,为了解决现有CPU测试中存在的问题中的至少一个,更好的满足CPU测试的需求,本申请提供了一种测试方法,基于该方法可以有效的缩小针对CPU的问题点的定位范围,从而提高了定位效率。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了更好的理解及说明本申请实施例的方案,下面对本申请实施例中所涉及到的一些技术用语进行简单说明。
前仿真:在设计实现前,对所创建的逻辑进行的验证其功能是否正确的过程,布局布线以前的仿真为功能仿真,前仿真也就是通常所说的功能仿真。
Bin文件:Bin文件是一个没有内存修改或重定位的纯二进制文件,很可能Bin文件有明确的指令要加载到特定的内存地址。
ELF文件:ELF文件是可执行的可链接格式,ELF文件由一个符号查找表和可重定位表组成,ELF文件可以由内核加载到任何内存地址,并且自动地将所有使用的符号调整为与该内存地址的偏移量被装入。通常,ELF文件有很多部分,例如'data','text','bss'等。
反汇编(Disassembly):反汇编是将目标代码转为汇编代码的过程。
PC:PC(Program Counter,程序计数器)是CPU中用于存放下一条指令地址的寄存器。程序执行时,PC的初值为程序第一条指令的地址,在顺序执行程序时,控制器首先按PC所指出的指令地址从内存中取出一条指令,然后分析和执行该指令,同时将PC的值加1指向下一条要执行的指令。
跟踪日志(trace log):跟踪(trace),是用户用工具对程序按照一定条件进行的一个运行监控说明;日志(log),是开发者开发的时候,按照开发者对程序的理解,对程序做的一个程序运行情况说明。
自动化测试:一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。
自动化测试流程包括:自动化测试的切入点、可行性分析、抽样分析、测试需求分析、制定测试计划、自动化测试设计、测试用例设计、测试脚本开发、自动化测试数据设计、自动化测试执行、自动化测试结果分析、自动化测试脚本维护等。
c/asm程序:C语言程序或汇编语言asm程序。
DUT:DUT(Device Under Test,被测器件)也称为被测设备(EUT)和被测单元(UUT),是在首次制造时或在其生命周期后期进行测试的制造产品,作为正在进行的功能测试和校准的一部分检查。这可以包括修复后的测试,以确定产品是否按照原始产品规格执行。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例所提供的方案可以适用于芯片测试领域中任意需要CPU测试的应用场景。
为了更好的理解本申请实施例提供的方案,下面结合具体的一个应用场景对该方案进行说明。
在一个实施例中,图1中示出了本申请实施例所适用的一种测试系统的架构示意图,可以理解的是,本申请实施例所提供的测试方法可以适用于但不限于应用于如图1所示的应用场景中。
本示例中,如图1所示,该示例中的测试系统的架构可以包括但不限于测试平台10和服务器20,其中,测试平台10上放置待测对象30,待测对象例如CPU。测试平台10和服务器20之间可以通过网络进行交互。测试平台10生成原始数据集,原始数据集例如跟踪日志(trace log);服务器20获取针对待测对象的测试数据对应的反汇编文件和原始数据集;服务器20根据反汇编文件和原始数据集,确定待测对象对应的函数调用树;服务器20根据待测对象对应的函数调用树(function call stack),对待测对象存在的缺陷进行调试。
可理解,上述仅为一种示例,本实施例在此不作限定。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、Wi-Fi及其他实现无线通信的网络。具体也可基于实际应用场景需求确定,在此不作限定。
参见图2,图2示出了本申请实施例提供的一种测试方法的流程示意图,其中,该方法可以由任一电子设备执行,如可以是服务器,作为一可选实施方式,该方法可以由服务器执行,为了描述方便,在下文的一些可选实施例的描述中,将以服务器作为该方法执行主体为例进行说明。如图2所示,本申请实施例提供的测试方法包括如下步骤:
S201,获取针对待测对象的测试数据对应的反汇编文件和原始数据集。
具体地,待测对象可以为芯片,例如CPU。测试数据可以为测试程序,例如c/asm程序,将c/asm程序进行反汇编(Disassembly),可以得到反汇编文件。将测试程序转换为Bin文件或ELF文件,将Bin文件或ELF文件输入至测试平台,例如CPU测试平台,得到仿真输出结果,仿真输出结果包括原始数据集,原始数据集包括跟踪日志(trace log)。
S202,根据所述反汇编文件和所述原始数据集,确定所述待测对象对应的函数调用树。
具体地,函数调用树包括原始数据集中各函数之间的调用关系,即函数调用树包括跟踪日志(trace log)中各函数之间的调用关系。
S203,根据所述待测对象对应的函数调用树,对所述待测对象存在的缺陷进行调试。
具体地,通过在芯片验证仿真环境下,输出函数调用树,为调试大型程序提供可能,能够快速在程序意图与执行函数流(flow)的层次上判断程序执行的问题,并快速找到问题点,反标到仿真波形,从而提高待测对象的调试效率。
本申请实施例中,获取针对待测对象的测试数据对应的反汇编文件和原始数据集;根据反汇编文件和原始数据集,确定待测对象对应的函数调用树;根据待测对象对应的函数调用树,对待测对象存在的缺陷进行调试。如此,通过将仿真环境中产出指令执行的原始数据集结合反汇编文件,通过文件分析,生成待测对象对应的函数调用树,函数调用树包括了在整个程序执行过程中的函数调用流,函数调用树可以方便测试用例编写者快速定位程序执行的异常点,并提供详尽的数据信息,方便在原始数据集中进行定位,从而有效的缩小针对待测对象缺陷的定位范围,从而提高了定位效率。
在一个实施例中,获取针对待测对象的测试数据对应的反汇编文件和原始数据集,包括:
基于测试数据,对待测对象进行测试,并对待测对象的测试过程进行监控,得到原始数据集,原始数据集包括跟踪日志;
将测试数据进行反汇编处理,得到测试数据对应的反汇编文件。
在一个实施例中,测试数据可以为测试激励,将测试激励输入至待测对象,对待测对象进行测试;在测试过程中,通过trace生成模块监控待测对象的内部信号,生成原始数据集;其中,待测对象可以为CPU,原始数据集可以为跟踪日志trace log。可以通过自动化编译系统将测试数据进行反汇编处理,得到测试数据对应的反汇编文件。
在一个实施例中,根据反汇编文件和原始数据集,确定待测对象对应的函数调用树,包括:
对反汇编文件进行解析,得到程序计数器的起始值;
基于程序计数器的起始值和原始数据集,得到原始数据集中各函数之间的调用关系;
将各函数之间的调用关系进行格式化处理,得到待测对象对应的函数调用树,函数调用树包括各函数之间的调用关系。
在一个实施例中,通过自动化测试流程,触发数据分析模块对反汇编文件进行解析,得到程序计数器的起始值;数据分析模块基于程序计数器的起始值和原始数据集,得到原始数据集中各函数之间的调用关系;数据分析模块将各函数之间的调用关系进行格式化处理,得到待测对象对应的函数调用树;数据分析模块生成数据报告,该数据报告包括待测对象对应的函数调用树;其中,原始数据集可以为跟踪日志(trace log)。通过数据报告,可方便高效的问题定位,并提供更高抽象层次的正确性对比手段。
在一个实施例中,基于程序计数器的起始值和原始数据集,得到原始数据集中各函数之间的调用关系,包括:
基于程序计数器的起始值和原始数据集,得到多个程序计数器的第一值,每一个第一值用于表征存储原始数据集中一个函数的内存地址;
将每一个第一值分别反标到相应的函数,得到原始数据集中各函数之间的调用关系。
举例说明,原始数据集包括函数1、函数2、函数3、函数4、函数5、函数6、函数7、函数8、函数9、函数10、函数11和函数12。函数1的地址为X,函数2的地址为X+1,函数3的地址为X+2,函数4的地址为X+3,函数5的地址为X+4,函数6的地址为X+5,函数7的地址为X+6,函数8的地址为X+7,函9的地址为X+8,函数10的地址为X+9,函数11的地址为X+10,函数12的地址为X+11。则多个程序计数器的值(第一值)分别为X、X+1、X+2、X+3、X+4、X+5、X+6、X+7、X+8、X+9、X+10和X+11,其中X为正整数。将每一个程序计数器的值(第一值)分别反标到相应的函数,得到原始数据集中各函数之间的调用关系,例如,函数1调用函数2,函数3调用函数4,函数5调用函数6,函数10调用函数11。
在一个实施例中,函数调用树包括原始数据集中各函数之间的调用关系、用于反标仿真波形的信息、用于日志查找的信息中的至少一项;
根据待测对象对应的函数调用树,对待测对象存在的缺陷进行调试,包括:
根据各函数之间的调用关系、用于反标仿真波形的信息、用于日志查找的信息中的至少一项,对待测对象存在的缺陷进行调试。
在一个实施例中,函数调用树包括原始数据集中各函数的信息、用于反标仿真波形的信息,以及用于日志查找的信息,其中,各函数的信息包括各函数之间的调用关系。
举例说明,如图3所示,函数调用树包括函数1的信息、函数2的信息、函数3的信息、函4的信息、函数5的信息、函数6的信息、函数7的信息、函数8的信息、函9的信息、函数10的信息、函数11的信息和函数12的信息;各函数的信息包括各函数之间的调用关系;其中,各函数之间的调用关系包括函数1调用函数2、函数3调用函数4、函数5调用函数6,以及函数10调用函数11。
在一个实施例中,待测对象包括被测器件DUT。
例如,被测器件DUT可以是芯片,例如CPU。在仿真环境执行较大规模、较复杂程序,被测器件DUT对应的函数调用树也为DUT验证提供了一种更为真实的压力测试激励,在此过程中,能够提前暴露和发现模块级(block level)、芯片IP级(Ip level)过程中没有发现的问题,从而有效的补充常规测试集空间。
应用本申请实施例,至少具有如下有益效果:
通过将仿真环境中产出指令执行的跟踪日志(trace log)结合反汇编文件,通过文件分析,生成待测对象对应的函数调用树,函数调用树包括了在整个程序执行过程中的函数调用流,函数调用树可以方便测试用例编写者快速定位程序执行的异常点,并提供详尽的数据信息,方便在跟踪日志(trace log)和仿真波形中进行定位,从而有效的缩小针对待测对象缺陷的定位范围,从而提高了定位效率。
为了更好的理解本申请实施例所提供的方法,下面结合具体应用场景的示例对本申请实施例的方案进行进一步说明。
本申请实施例所提供的测试方法应用于芯片测试领域中的CPU测试场景。
参见图4,图4示出了本申请实施例提供的另一种测试方法的流程示意图,如图4所示,本申请实施例提供的测试方法包括如下步骤:
S401,获取针对待测CPU的c/asm程序。
具体地,c/asm程序为对待测CPU进行验证的测试程序。
S402,将c/asm程序转换为Bin文件或ELF文件;转到步骤S404处理。
S403,将c/asm程序进行反汇编(Disassembly),得到反汇编文件;转到步骤S405处理。
S404,将Bin文件或ELF文件输入至芯片测试平台,进行测试,得到仿真输出结果。
具体地,仿真输出结果包括原始数据集,原始数据集包括跟踪日志trace log、仿真波形等。
S405,将仿真输出结果和反汇编文件进行分析,得到待测CPU对应的函数调用树。
S406,基于待测CPU对应的函数调用树,对待测CPU存在的问题点进行定位。
应用本申请实施例,至少具有如下有益效果:
将仿真输出结果(如trace log)结合反汇编文件,通过文件分析,生成待测CPU对应的函数调用树,函数调用树包括了在整个程序执行过程中的函数调用流,函数调用树可以方便测试用例编写者快速定位程序执行的异常点,并提供详尽的数据信息,方便在跟踪日志(trace log)和仿真波形中进行定位,从而有效的缩小针对待测CPU问题的定位范围,从而提高了定位效率。
本申请实施例还提供了一种测试装置,该测试装置的结构示意图如图5所示,测试装置60,包括第一处理模块601、第二处理模块602和第三处理模块603。
第一处理模块601,用于获取针对待测对象的测试数据对应的反汇编文件和原始数据集;
第二处理模块602,用于根据反汇编文件和原始数据集,确定待测对象对应的函数调用树;
第三处理模块603,用于根据待测对象对应的函数调用树,对待测对象存在的缺陷进行调试。
在一个实施例中,第一处理模块601,具体用于:
基于测试数据,对待测对象进行测试,并对待测对象的测试过程进行监控,得到原始数据集,原始数据集包括跟踪日志;
将测试数据进行反汇编处理,得到测试数据对应的反汇编文件。
在一个实施例中,第二处理模块602,具体用于:
对反汇编文件进行解析,得到程序计数器的起始值;
基于程序计数器的起始值和原始数据集,得到原始数据集中各函数之间的调用关系;
将各函数之间的调用关系进行格式化处理,得到待测对象对应的函数调用树,函数调用树包括各函数之间的调用关系。
在一个实施例中,第二处理模块602,具体用于:
基于程序计数器的起始值和原始数据集,得到多个程序计数器的第一值,每一个第一值用于表征存储原始数据集中一个函数的内存地址;
将每一个第一值分别反标到相应的函数,得到原始数据集中各函数之间的调用关系。
在一个实施例中,函数调用树包括原始数据集中各函数之间的调用关系、用于反标仿真波形的信息、用于日志查找的信息中的至少一项;
第三处理模块603,具体用于:
根据各函数之间的调用关系、用于反标仿真波形的信息、用于日志查找的信息中的至少一项,对待测对象存在的缺陷进行调试。
在一个实施例中,待测对象包括被测器件DUT。
应用本申请实施例,至少具有如下有益效果:
获取针对待测对象的测试数据对应的反汇编文件和原始数据集;根据反汇编文件和原始数据集,确定待测对象对应的函数调用树;根据待测对象对应的函数调用树,对待测对象存在的缺陷进行调试。如此,通过将仿真环境中产出指令执行的原始数据集结合反汇编文件,通过文件分析,生成待测对象对应的函数调用树,函数调用树包括了在整个程序执行过程中的函数调用流,函数调用树可以方便测试用例编写者快速定位程序执行的异常点,并提供详尽的数据信息,方便在原始数据集中进行定位,从而有效的缩小针对待测对象缺陷的定位范围,从而提高了定位效率。
本申请实施例还提供了一种电子设备,该电子设备的结构示意图如图6所示,图6所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004,收发器4004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器4003用于存储执行本申请实施例的计算机程序,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:服务器等。
应用本申请实施例,至少具有如下有益效果:
获取针对待测对象的测试数据对应的反汇编文件和原始数据集;根据反汇编文件和原始数据集,确定待测对象对应的函数调用树;根据待测对象对应的函数调用树,对待测对象存在的缺陷进行调试。如此,通过将仿真环境中产出指令执行的原始数据集结合反汇编文件,通过文件分析,生成待测对象对应的函数调用树,函数调用树包括了在整个程序执行过程中的函数调用流,函数调用树可以方便测试用例编写者快速定位程序执行的异常点,并提供详尽的数据信息,方便在原始数据集中进行定位,从而有效的缩小针对待测对象缺陷的定位范围,从而提高了定位效率。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
基于与本申请实施例提供的方法相同的原理,本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述本申请任一可选实施例中提供的方法。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。

Claims (10)

1.一种测试方法,其特征在于,包括:
获取针对待测对象的测试数据对应的反汇编文件和原始数据集;
根据所述反汇编文件和所述原始数据集,确定所述待测对象对应的函数调用树;
根据所述待测对象对应的函数调用树,对所述待测对象存在的缺陷进行调试。
2.根据权利要求1所述的方法,其特征在于,所述获取针对待测对象的测试数据对应的反汇编文件和原始数据集,包括:
基于所述测试数据,对所述待测对象进行测试,并对所述待测对象的测试过程进行监控,得到原始数据集,所述原始数据集包括跟踪日志;
将所述测试数据进行反汇编处理,得到所述测试数据对应的反汇编文件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述反汇编文件和所述原始数据集,确定所述待测对象对应的函数调用树,包括:
对所述反汇编文件进行解析,得到程序计数器的起始值;
基于所述程序计数器的起始值和所述原始数据集,得到所述原始数据集中各函数之间的调用关系;
将所述各函数之间的调用关系进行格式化处理,得到所述待测对象对应的函数调用树,所述函数调用树包括所述各函数之间的调用关系。
4.根据权利要求3所述的方法,其特征在于,所述基于所述程序计数器的起始值和所述原始数据集,得到所述原始数据集中各函数之间的调用关系,包括:
基于所述程序计数器的起始值和所述原始数据集,得到多个所述程序计数器的第一值,每一个第一值用于表征存储所述原始数据集中一个函数的内存地址;
将所述每一个第一值分别反标到相应的函数,得到所述原始数据集中各函数之间的调用关系。
5.根据权利要求1所述的方法,其特征在于,所述函数调用树包括所述原始数据集中各函数之间的调用关系、用于反标仿真波形的信息、用于日志查找的信息中的至少一项;
所述根据所述待测对象对应的函数调用树,对所述待测对象存在的缺陷进行调试,包括:
根据所述各函数之间的调用关系、所述用于反标仿真波形的信息、所述用于日志查找的信息中的至少一项,对所述待测对象存在的缺陷进行调试。
6.根据权利要求1所述的方法,其特征在于,所述待测对象包括被测器件DUT。
7.一种测试装置,其特征在于,包括:
第一处理模块,用于获取针对待测对象的测试数据对应的反汇编文件和原始数据集;
第二处理模块,用于根据所述反汇编文件和所述原始数据集,确定所述待测对象对应的函数调用树;
第三处理模块,用于根据所述待测对象对应的函数调用树,对所述待测对象存在的缺陷进行调试。
8.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-6任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一项所述方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
CN202111467850.9A 2021-12-03 2021-12-03 测试方法、装置、设备、可读存储介质及计算机程序产品 Pending CN114020645A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111467850.9A CN114020645A (zh) 2021-12-03 2021-12-03 测试方法、装置、设备、可读存储介质及计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111467850.9A CN114020645A (zh) 2021-12-03 2021-12-03 测试方法、装置、设备、可读存储介质及计算机程序产品

Publications (1)

Publication Number Publication Date
CN114020645A true CN114020645A (zh) 2022-02-08

Family

ID=80067815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111467850.9A Pending CN114020645A (zh) 2021-12-03 2021-12-03 测试方法、装置、设备、可读存储介质及计算机程序产品

Country Status (1)

Country Link
CN (1) CN114020645A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114880174A (zh) * 2022-05-07 2022-08-09 苏州睿芯集成电路科技有限公司 一种cpu验证中模块化、可配置的快速回归方法以及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114880174A (zh) * 2022-05-07 2022-08-09 苏州睿芯集成电路科技有限公司 一种cpu验证中模块化、可配置的快速回归方法以及装置

Similar Documents

Publication Publication Date Title
US10678673B2 (en) Software program fault localization
CN107665171B (zh) 自动回归测试方法及装置
CN114116496A (zh) 自动化测试方法、装置、设备及介质
CN111597069B (zh) 程序处理方法、装置、电子设备和存储介质
CN110990289B (zh) 一种自动提交bug的方法、装置、电子设备及存储介质
CN115686961A (zh) 处理器测试方法、装置及电子设备
CN111680463A (zh) 一种文件检查方法和装置
CN109558315B (zh) 测试范围的确定方法、装置及设备
CN114020645A (zh) 测试方法、装置、设备、可读存储介质及计算机程序产品
CN113392000A (zh) 测试用例执行结果分析方法、装置、设备及存储介质
CN111858377A (zh) 测试脚本的质量评价方法、装置、电子设备及存储介质
CN110968518A (zh) 自动化测试日志文件的分析方法及装置
CN116738091A (zh) 页面监控方法、装置、电子设备及存储介质
CN116431522A (zh) 一种低代码对象存储网关自动化测试方法及系统
CN115576831A (zh) 一种测试案例推荐方法、装置、设备及存储介质
CN115587017A (zh) 数据处理方法、装置、电子设备及存储介质
CN115422865A (zh) 仿真方法及装置、计算设备、计算机可读存储介质
CN115373929A (zh) 测试方法、装置、设备、可读存储介质及程序产品
CN113806231A (zh) 一种代码覆盖率分析方法、装置、设备和介质
CN115033489A (zh) 代码资源检测方法、装置、电子设备及存储介质
CN114661615A (zh) 一种fpga软件测试方法和设备
CN113282496A (zh) 接口自动测试方法、装置、设备及存储介质
CN112346920A (zh) 一种集成电路测试数据分析方法及系统
CN112286792A (zh) 一种接口测试方法、装置、设备和存储介质
CN112148590A (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
CB02 Change of applicant information

Address after: Room 263, block B, science and technology innovation center, 128 Shuanglian Road, Haining Economic Development Zone, Haining City, Jiaxing City, Zhejiang Province, 314400

Applicant after: Haining yisiwei IC Design Co.,Ltd.

Applicant after: Beijing yisiwei Computing Technology Co.,Ltd.

Address before: Room 263, block B, science and technology innovation center, 128 Shuanglian Road, Haining Economic Development Zone, Haining City, Jiaxing City, Zhejiang Province, 314400

Applicant before: Haining yisiwei IC Design Co.,Ltd.

Applicant before: Beijing yisiwei Computing Technology Co.,Ltd.

CB02 Change of applicant information