CN115373929A - 测试方法、装置、设备、可读存储介质及程序产品 - Google Patents
测试方法、装置、设备、可读存储介质及程序产品 Download PDFInfo
- Publication number
- CN115373929A CN115373929A CN202211117775.8A CN202211117775A CN115373929A CN 115373929 A CN115373929 A CN 115373929A CN 202211117775 A CN202211117775 A CN 202211117775A CN 115373929 A CN115373929 A CN 115373929A
- Authority
- CN
- China
- Prior art keywords
- breakpoint
- tested
- test
- test result
- test case
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种测试方法、装置、设备、可读存储介质及程序产品,该方法由测试系统执行,包括:通过调试管理器获取针对待测对象的测试用例,测试系统包括调试管理器、待测对象和待测对象对应的参考对象;确定测试用例针对待测对象的第一测试结果和测试用例针对参考对象的第二测试结果;若第一测试结果和第二测试结果不相同,则基于测试用例对应的断点信息,对待测对象进行相应缺陷定位处理,确定待测对象的缺陷。如此,通过测试系统实现了待测对象(例如芯片)的自动化跨平台测试,提高了待测对象缺陷定位的准确度。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种测试方法、装置、设备、可读存储介质及程序产品。
背景技术
芯片测试验证通过采用软件验证的方式,确定芯片硬件实现中的缺陷。传统的芯片测试验证方法大多都是针对一个测试点,将相应的测试用例运行在待测芯片上,从而得到测试结果;通过将测试结果与预期结果进行对比,确定待测芯片硬件实现中的缺陷。但是上述芯片测试验证方法不能定位函数运行过程中出现的缺陷;而且当测试结果与预期结果不一致,难以精准定位硬件实现中出现何种缺陷。因此,现有技术中芯片缺陷定位的准确度不高。
发明内容
本申请针对现有的方式的缺点,提出一种测试方法、装置、设备、计算机可读存储介质及计算机程序产品,用于解决如何提高芯片缺陷定位的准确度的问题。
第一方面,本申请提供了一种测试方法,由测试系统执行,包括:
通过调试管理器获取针对待测对象的测试用例,测试系统包括调试管理器、待测对象和待测对象对应的参考对象;
确定测试用例针对待测对象的第一测试结果和测试用例针对参考对象的第二测试结果;
若第一测试结果和第二测试结果不相同,则基于测试用例对应的断点信息,对待测对象进行相应缺陷定位处理,确定待测对象的缺陷。
在一个实施例中,确定测试用例针对待测对象的第一测试结果和测试用例针对参考对象的第二测试结果,包括:
通过调试管理器,将测试用例发送给待测对象和参考对象;
通过待测对象运行测试用例,确定测试用例针对待测对象的第一测试结果,第一测试结果包括针对待测对象的测试用例中每个断点的第一健康信息和第一快照信息;
通过参考对象运行测试用例,确定测试用例针对参考对象的第二测试结果,第二测试结果包括针对参考对象的测试用例中每个断点的第二健康信息和第二快照信息。
在一个实施例中,在确定测试用例针对待测对象的第一测试结果和测试用例针对参考对象的第二测试结果之后,还包括:
针对测试用例中的任一断点,若针对待测对象的任一断点的第一健康信息和针对参考对象的任一断点的第二健康信息不相同,则通过调试管理器,确定第一测试结果和第二测试结果不相同;任一断点的第一健康信息包括待测对象处于任一断点的寄存器信息,任一断点的第二健康信息包括参考对象处于任一断点的寄存器信息。
在一个实施例中,若第一测试结果和第二测试结果不相同,则基于测试用例对应的断点信息,对待测对象进行相应缺陷定位处理,确定待测对象的缺陷,包括:
若第一测试结果和第二测试结果不相同,则基于任一断点的相邻断点的快照信息,通过调试管理器,在任一断点和相邻断点之间设置至少一个新断点;测试用例对应的断点信息包括任一断点的相邻断点的快照信息;
基于相邻断点的快照信息和至少一个新断点的快照信息,通过调试管理器,确定待测对象的缺陷和缺陷对应的断点;至少一个新断点包括缺陷对应的断点。
在一个实施例中,待测对象为芯片或芯片的相关软件,参考对象为可参考的软件模拟器。
第二方面,本申请提供了一种测试装置,应用于测试系统,包括:
第一处理模块,用于通过调试管理器获取针对待测对象的测试用例,测试系统包括调试管理器、待测对象和待测对象对应的参考对象;
第二处理模块,用于确定测试用例针对待测对象的第一测试结果和测试用例针对参考对象的第二测试结果;
第三处理模块,用于若第一测试结果和第二测试结果不相同,则基于测试用例对应的断点信息,对待测对象进行相应缺陷定位处理,确定待测对象的缺陷。
在一个实施例中,第二处理模块,具体用于:
通过调试管理器,将测试用例发送给待测对象和参考对象;
通过待测对象运行测试用例,确定测试用例针对待测对象的第一测试结果,第一测试结果包括针对待测对象的测试用例中每个断点的第一健康信息和第一快照信息;
通过参考对象运行测试用例,确定测试用例针对参考对象的第二测试结果,第二测试结果包括针对参考对象的测试用例中每个断点的第二健康信息和第二快照信息。
在一个实施例中,测试装置还包括分析模块,分析模块,具体用于:
针对测试用例中的任一断点,若针对待测对象的任一断点的第一健康信息和针对参考对象的任一断点的第二健康信息不相同,则通过调试管理器,确定第一测试结果和第二测试结果不相同;任一断点的第一健康信息包括待测对象处于任一断点的寄存器信息,任一断点的第二健康信息包括参考对象处于任一断点的寄存器信息。
在一个实施例中,第三处理模块,具体用于:
若第一测试结果和第二测试结果不相同,则基于任一断点的相邻断点的快照信息,通过调试管理器,在任一断点和相邻断点之间设置至少一个新断点;测试用例对应的断点信息包括任一断点的相邻断点的快照信息;
基于相邻断点的快照信息和至少一个新断点的快照信息,通过调试管理器,确定待测对象的缺陷和缺陷对应的断点;至少一个新断点包括缺陷对应的断点。
在一个实施例中,待测对象为芯片或芯片的相关软件,参考对象为可参考的软件模拟器。
第三方面,本申请提供了一种电子设备,包括:处理器、存储器和总线;
总线,用于连接处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请第一方面的测试方法。
第四方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被用于执行本申请第一方面的测试方法。
第五方面,本申请提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请第一方面中测试方法的步骤。
本申请实施例提供的技术方案,至少具有如下有益效果:
测试系统通过调试管理器获取针对待测对象的测试用例,测试系统包括调试管理器、待测对象和待测对象对应的参考对象;测试系统确定测试用例针对待测对象的第一测试结果和测试用例针对参考对象的第二测试结果;若第一测试结果和第二测试结果不相同,则测试系统基于测试用例对应的断点信息,对待测对象进行相应缺陷定位处理,确定待测对象的缺陷。如此,通过测试系统实现了待测对象(例如芯片)的自动化跨平台测试,提高了待测对象缺陷定位的准确度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的测试系统的架构示意图;
图2为本申请实施例提供的一种测试方法的流程示意图;
图3为本申请实施例提供的另一种测试方法的流程示意图;
图4为本申请实施例提供的一种测试装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例是测试系统提供的一种测试方法,该测试方法涉及软件验证、芯片测试验证等领域。
为了更好的理解及说明本申请实施例的方案,下面对本申请实施例中所涉及到的一些技术用语进行简单说明。
Pre-si:Pre-si(Pre-silicon,硅前)是指流片前芯片(例如CPU(中央CentralProcessing Unit,中央处理器))还没有制造出来。
Post-si:Post-si(Post-silicon,硅后)是指流片后芯片(例如CPU)已经制造出来。
本申请实施例提供的方案涉及测试技术,下面以具体的实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
为了更好的理解本申请实施例提供的方案,下面结合具体的一个应用场景对该方案进行说明。
在一个实施例中,图1中示出了本申请实施例所适用的一种测试系统的架构示意图,可以理解的是,本申请实施例所提供的测试方法可以适用于但不限于应用于如图1所示的应用场景中。
本示例中,如图1所示,该示例中的测试系统的架构可以包括但不限于调试管理器10、待测对象20和参考对象30。测试系统通过调试管理器10获取针对待测对象20的测试用例;测试系统确定测试用例针对待测对象20的第一测试结果和测试用例针对参考对象30的第二测试结果;若第一测试结果和第二测试结果不相同,则测试系统基于测试用例对应的断点信息,对待测对象20进行相应缺陷定位处理,确定待测对象20的缺陷。测试系统可以运行在服务器中。
可理解,上述仅为一种示例,本实施例在此不作限定。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器或服务器集群。
参见图2,图2示出了本申请实施例提供的一种测试方法的流程示意图,其中,该方法可以由任一电子设备执行,作为一可选实施方式,该方法可以由测试系统执行,为了描述方便,在下文的一些可选实施例的描述中,将以测试系统作为该方法执行主体为例进行说明。如图2所示,本申请实施例提供的测试方法包括如下步骤:
S201,通过调试管理器获取针对待测对象的测试用例,测试系统包括调试管理器、待测对象和待测对象对应的参考对象。
具体地,测试用例为待测程序。调试管理器(Debug Manager)控制参考对象与待测对象运行相同的测试程序,并自动将参考对象的健康状态信息与待测对象的健康状态信息进行比较,从而及时确定待测对象的缺陷(Bug)。调试管理器具有快照的导入导出功能,以方便捕捉和恢复现场。
待测对象可以是DUT(Device under Test,待测设备)。例如,在Pre-si阶段,DUT通常使用包含CPU网表和相关外设IP的SOC bitstream(SOC的应用程序),下载到FPGA上运行,用于RTL层级验证。又例如,在Post-si阶段,DUT可以指EVB板上已制造出来的CPU芯片。
参考对象可以是参考设备(Reference device),参考设备可以为可参考的软件模拟器;可参考的软件模拟器例如spike、qemu、gem5(FS模式)等ISS(Instruction SetSimulator,指令集模拟器)。
S202,确定测试用例针对待测对象的第一测试结果和测试用例针对参考对象的第二测试结果。
具体地,第一测试结果包括针对待测对象的测试用例中每个断点的第一健康信息和第一快照信息;第二测试结果包括针对参考对象的测试用例中每个断点的第二健康信息和第二快照信息。第一健康信息和第二健康信息可以为健康状态信息,健康状态信息可以包括CSR(Control Status Register,控制状态寄存器)、GPR(General Purpose Register,通用寄存器)、FPR(Floating Point Register,浮点寄存器)等相关信息;第一快照信息和第二快照信息为快照信息,快照信息可以包括CSR、GPR、FPR、向量寄存器(VectorRegister)等相关信息,以及部分相关内存数据。
S203,若第一测试结果和第二测试结果不相同,则基于测试用例对应的断点信息,对待测对象进行相应缺陷定位处理,确定待测对象的缺陷。
具体地,测试用例对应的断点信息包括任一断点的相邻断点的快照信息;其中,相邻断点可以为任一断点的上一个断点。
本申请实施例中,通过调试管理器获取针对待测对象的测试用例,测试系统包括调试管理器、待测对象和待测对象对应的参考对象;确定测试用例针对待测对象的第一测试结果和测试用例针对参考对象的第二测试结果;若第一测试结果和第二测试结果不相同,则基于测试用例对应的断点信息,对待测对象进行相应缺陷定位处理,确定待测对象的缺陷。如此,通过测试系统实现了待测对象(例如芯片)的自动化跨平台测试,提高了待测对象缺陷定位的准确度。
在一个实施例中,确定测试用例针对待测对象的第一测试结果和测试用例针对参考对象的第二测试结果,包括:
通过调试管理器,将测试用例发送给待测对象和参考对象;
通过待测对象运行测试用例,确定测试用例针对待测对象的第一测试结果,第一测试结果包括针对待测对象的测试用例中每个断点的第一健康信息和第一快照信息;
通过参考对象运行测试用例,确定测试用例针对参考对象的第二测试结果,第二测试结果包括针对参考对象的测试用例中每个断点的第二健康信息和第二快照信息。
具体地,例如,调试管理器可以将测试用例同时发送给DUT和参考设备。调试管理器可以实时控制测试运行并显示测试信息,调试管理器的作用包括(1)-(6):
(1)对测试代码(测试用例,即待测程序)进行添加、删除、排序等管理。
(2)自适应断点生成。
(3)下发目标对象的断点,即下发测试用例中将要运行的断点;其中,目标对象运行测试用例,目标对象可以是待测对象和参考对象。
(4)获取目标机器的健康状态信息;其中,目标机器例如DUT,目标机器的健康状态信息例如CSR、GPR、FPR等。
(5)将参考系统(参考系统包括参考设备、待测程序、信息提取的方法、数据管理等)与被测系统(被测系统包括DUT、待测程序、信息提取的方法、数据管理等)进行状态对比;其中,测试系统包括参考系统和被测系统,待测程序为测试用例,信息提取的方法例如gdb工具(调试工具)等,数据管理例如数据存储、数据上传等。
参考系统和被测系统都包括脚本(例如自动化测试脚本),脚本包括gdb工具;其中,gdb工具实现健康信息的导出导入。
脚本的作用包括:保存参考设备和DUT运行到某一时刻的状态,提供某一时刻参考设备和DUT运行状态的完全拷贝;提供参考设备和DUT的checkpoint(测试点),参考设备和DUT可以随时恢复到某个还原点继续运行,其中,checkpoint是指参考设备和DUT对待测程序进行测试时,获取某个时刻断点的健康状态信息和快照信息;在不同设备(其他参考设备或其他DUT)上加载相同快照实现状态还原,恢复现场。
(6)获取快照和加载快照;其中,获取快照是将DUT和参考设备产生的快照信息(快照信息包括所有SCR、GPR、FPR、Vector Register等,以及部分相关内存数据)传输到调试管理器中,加载快照就是将获取到的快照信息从调试管理器中以GUI(Graphical UserInterface,图形用户界面)形式输出。
(7)历史信息管理;其中,运行在当前断点之前的所有断点的健康状态信息和快照信息都可以称为历史信息。
在一个实施例中,在确定测试用例针对待测对象的第一测试结果和测试用例针对参考对象的第二测试结果之后,还包括:
针对测试用例中的任一断点,若针对待测对象的任一断点的第一健康信息和针对参考对象的任一断点的第二健康信息不相同,则通过调试管理器,确定第一测试结果和第二测试结果不相同;任一断点的第一健康信息包括待测对象处于任一断点的寄存器信息,任一断点的第二健康信息包括参考对象处于任一断点的寄存器信息。
具体地,某个断点的第一健康信息可以包括待测对象处于该断点的CSR、GPR、FPR等相关信息,该断点的第二健康信息可以包括参考对象处于该断点的CSR、GPR、FPR等相关信息。例如,待测对象处于该断点的CSR的相关信息与参考对象处于该断点的CSR的相关信息不相同,则确定第一健康信息和第二健康信息不相同,即可以确定第一测试结果和第二测试结果不相同。
在一个实施例中,若第一测试结果和第二测试结果不相同,则基于测试用例对应的断点信息,对待测对象进行相应缺陷定位处理,确定待测对象的缺陷,包括:
若第一测试结果和第二测试结果不相同,则基于任一断点的相邻断点的快照信息,通过调试管理器,在任一断点和相邻断点之间设置至少一个新断点;测试用例对应的断点信息包括任一断点的相邻断点的快照信息;
基于相邻断点的快照信息和至少一个新断点的快照信息,通过调试管理器,确定待测对象的缺陷和缺陷对应的断点;至少一个新断点包括缺陷对应的断点。
具体地,例如,在断点B处出现第一测试结果和第二测试结果不相同,则获取上一个断点A的快照信息,将断点A的快照信息加载到参考设备和DUT上;断点A和断点B之间有10个指令,若发现DUT在断点A输出正常,则在断点A和断点B之间设置断点C(在断点A和断点B之间自动化地打上等间隔的间距更窄的断点),可以继续定位断点C和断点B之间的指令(例如5个指令),直至定位到出现缺陷的某个指令为止;如此,精确定位到了出现缺陷的某个指令,从而提高了DUT缺陷定位的准确度。
在一个实施例中,待测对象为芯片或芯片的相关软件,参考对象为可参考的软件模拟器。
具体地,待测对象可以是DUT。例如,在Pre-si阶段,DUT通常使用包含CPU网表和相关外设IP的SOC bitstream(SOC的应用程序,即芯片的相关软件),下载到FPGA上运行,用于RTL层级验证。又例如,在Post-si阶段,DUT可以指EVB板上已制造出来的CPU芯片。参考对象可以是参考设备,参考设备可以为可参考的软件模拟器;可参考的软件模拟器例如spike、qemu、gem5(FS模式)等ISS。
应用本申请实施例,至少具有如下有益效果:
通过测试系统实现了待测对象(例如CPU)的自动化跨平台测试,提高了待测对象缺陷定位的准确度。
为了更好的理解本申请实施例所提供的方法,下面结合具体应用场景的示例对本申请实施例的方案进行进一步说明。
在一个具体应用场景实施例中,例如CPU测试验证场景,参见图3,示出了另一种测试方法的处理流程,如图3所示,本申请实施例提供的测试方法的处理流程包括如下步骤:
S301,启动测试系统,测试系统通过调试管理器将针对待测对象的测试用例传送到待测对象和参考对象。
具体地,例如待测对象为CPU,测试用例为算法程序。测试用例放入测试文件夹下,用户通过按下调试管理器的中控系统的启动键,即可进行CPU测试验证;其中,中控系统由GUI界面和前端控制程序组成。
S302,调试管理器自动生成动态断点,并向待测对象和参考对象发送断点数据。
S303,待测对象和参考对象同时运行测试用例,并生成相应的测试结果。
具体地,通过待测对象运行测试用例,确定测试用例针对待测对象的第一测试结果,第一测试结果包括针对待测对象的测试用例中每个断点的第一健康信息和第一快照信息;通过参考对象运行测试用例,确定测试用例针对参考对象的第二测试结果,第二测试结果包括针对参考对象的测试用例中每个断点的第二健康信息和第二快照信息。待测对象生成的相应的测试结果为第一测试结果,参考对象生成的相应的测试结果为第二测试结果。
S304,调试管理器获取测试结果,并实时显示。
具体地,调试管理器获取第一测试结果和第二测试结果,并GUI形式将第一测试结果和第二测试结果输出显示。
S305,调试管理器将待测对象的测试结果中健康信息和参考对象的测试结果中健康信息进行对比,调试管理器判断待测对象的测试结果和参考对象的测试结果是否相同,若确定待测对象的测试结果和参考对象的测试结果相同,则转到步骤S306处理;若确定待测对象的测试结果和参考对象的测试结果不相同,则转到步骤S307处理。
具体地,调试管理器将针对待测对象的某个断点的第一健康信息和针对参考对象的该断点的第二健康信息进行对比;若针对待测对象的该断点的第一健康信息和针对参考对象的该断点的第二健康信息不相同,则通过调试管理器,确定第一测试结果和第二测试结果不相同。
调试管理器将对第一测试结果和第二测试结果进行管理和存储。
S306,测试系统判断测试用例是否结束,若确定测试用例结束,则转到步骤S308处理;若确定测试用例没有结束,则转到步骤S303处理。
S307,调试管理器基于测试用例对应的断点信息,对待测对象进行相应缺陷定位处理,确定待测对象的缺陷。
具体地,测试用例对应的断点信息包括任一断点的相邻断点的快照信息。例如,在断点B处出现第一测试结果和第二测试结果不相同,则获取上一个断点A的快照信息,将断点A的快照信息加载到参考对象和CPU上;断点A和断点B之间有10个指令,若发现待测对象在断点A输出正常,则在断点A和断点B之间设置断点C(在断点A和断点B之间自动化地打上等间隔的间距更窄的断点),可以继续定位断点C和断点B之间的指令(例如5个指令),直至定位到出现缺陷的某个指令为止;如此,精确定位到了出现缺陷的某个指令,从而提高了CPU缺陷定位的准确度。
S308,针对待测对象的测试验证结束。
应用本申请实施例,至少具有如下有益效果:
通过测试系统实现了CPU的自动化跨平台测试,精确定位到了出现缺陷的某个指令,从而提高了CPU缺陷定位的准确度。
本申请实施例还提供了一种测试装置,应用于测试系统,该测试装置的结构示意图如图4所示,测试装置40,包括第一处理模块401、第二处理模块402和第三处理模块404。
第一处理模块401,用于通过调试管理器获取针对待测对象的测试用例,测试系统包括调试管理器、待测对象和待测对象对应的参考对象;
第二处理模块402,用于确定测试用例针对待测对象的第一测试结果和测试用例针对参考对象的第二测试结果;
第三处理模块404,用于若第一测试结果和第二测试结果不相同,则基于测试用例对应的断点信息,对待测对象进行相应缺陷定位处理,确定待测对象的缺陷。
在一个实施例中,第二处理模块402,具体用于:
通过调试管理器,将测试用例发送给待测对象和参考对象;
通过待测对象运行测试用例,确定测试用例针对待测对象的第一测试结果,第一测试结果包括针对待测对象的测试用例中每个断点的第一健康信息和第一快照信息;
通过参考对象运行测试用例,确定测试用例针对参考对象的第二测试结果,第二测试结果包括针对参考对象的测试用例中每个断点的第二健康信息和第二快照信息。
在一个实施例中,测试装置还包括分析模块403,分析模块403,具体用于:
针对测试用例中的任一断点,若针对待测对象的任一断点的第一健康信息和针对参考对象的任一断点的第二健康信息不相同,则通过调试管理器,确定第一测试结果和第二测试结果不相同;任一断点的第一健康信息包括待测对象处于任一断点的寄存器信息,任一断点的第二健康信息包括参考对象处于任一断点的寄存器信息。
在一个实施例中,第三处理模块404,具体用于:
若第一测试结果和第二测试结果不相同,则基于任一断点的相邻断点的快照信息,通过调试管理器,在任一断点和相邻断点之间设置至少一个新断点;测试用例对应的断点信息包括任一断点的相邻断点的快照信息;
基于相邻断点的快照信息和至少一个新断点的快照信息,通过调试管理器,确定待测对象的缺陷和缺陷对应的断点;至少一个新断点包括缺陷对应的断点。
在一个实施例中,待测对象为芯片或芯片的相关软件,参考对象为可参考的软件模拟器。
应用本申请实施例,至少具有如下有益效果:
测试系统通过调试管理器获取针对待测对象的测试用例,测试系统包括调试管理器、待测对象和待测对象对应的参考对象;测试系统确定测试用例针对待测对象的第一测试结果和测试用例针对参考对象的第二测试结果;若第一测试结果和第二测试结果不相同,则测试系统基于测试用例对应的断点信息,对待测对象进行相应缺陷定位处理,确定待测对象的缺陷。如此,通过测试系统实现了待测对象(例如芯片)的自动化跨平台测试,提高了待测对象缺陷定位的准确度。
本申请实施例还提供了一种电子设备,该电子设备的结构示意图如图5所示,图5所示的电子设备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可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器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 (12)
1.一种测试装置,应用于测试系统,其特征在于,包括:
第一处理模块,用于通过调试管理器获取针对待测对象的测试用例,所述测试系统包括所述调试管理器、所述待测对象和所述待测对象对应的参考对象;
第二处理模块,用于确定所述测试用例针对所述待测对象的第一测试结果和所述测试用例针对所述参考对象的第二测试结果;
第三处理模块,用于若所述第一测试结果和所述第二测试结果不相同,则基于所述测试用例对应的断点信息,对所述待测对象进行相应缺陷定位处理,确定所述待测对象的缺陷。
2.根据权利要求1所述的装置,其特征在于,所述第二处理模块,具体用于:
通过所述调试管理器,将所述测试用例发送给所述待测对象和所述参考对象;
通过所述待测对象运行所述测试用例,确定所述测试用例针对所述待测对象的第一测试结果,所述第一测试结果包括针对所述待测对象的所述测试用例中每个断点的第一健康信息和第一快照信息;
通过所述参考对象运行所述测试用例,确定所述测试用例针对所述参考对象的第二测试结果,所述第二测试结果包括针对所述参考对象的所述测试用例中每个断点的第二健康信息和第二快照信息。
3.根据权利要求1所述的装置,其特征在于,所述测试装置还包括分析模块,所述分析模块,具体用于:
针对所述测试用例中的任一断点,若针对所述待测对象的所述任一断点的第一健康信息和针对所述参考对象的所述任一断点的第二健康信息不相同,则通过所述调试管理器,确定所述第一测试结果和所述第二测试结果不相同;所述任一断点的第一健康信息包括所述待测对象处于所述任一断点的寄存器信息,所述任一断点的第二健康信息包括所述参考对象处于所述任一断点的寄存器信息。
4.根据权利要求3所述的装置,其特征在于,所述第三处理模块,具体用于:
若所述第一测试结果和所述第二测试结果不相同,则基于所述任一断点的相邻断点的快照信息,通过所述调试管理器,在所述任一断点和所述相邻断点之间设置至少一个新断点;所述测试用例对应的断点信息包括所述任一断点的相邻断点的快照信息;
基于所述相邻断点的快照信息和所述至少一个新断点的快照信息,通过所述调试管理器,确定所述待测对象的缺陷和所述缺陷对应的断点;所述至少一个新断点包括所述缺陷对应的断点。
5.根据权利要求1-4中任一项所述的装置,其特征在于,所述待测对象为芯片或所述芯片的相关软件,所述参考对象为可参考的软件模拟器。
6.一种测试方法,由测试系统执行,其特征在于,包括:
通过调试管理器获取针对待测对象的测试用例,所述测试系统包括所述调试管理器、所述待测对象和所述待测对象对应的参考对象;
确定所述测试用例针对所述待测对象的第一测试结果和所述测试用例针对所述参考对象的第二测试结果;
若所述第一测试结果和所述第二测试结果不相同,则基于所述测试用例对应的断点信息,对所述待测对象进行相应缺陷定位处理,确定所述待测对象的缺陷。
7.根据权利要求6所述的方法,其特征在于,所述确定所述测试用例针对所述待测对象的第一测试结果和所述测试用例针对所述参考对象的第二测试结果,包括:
通过所述调试管理器,将所述测试用例发送给所述待测对象和所述参考对象;
通过所述待测对象运行所述测试用例,确定所述测试用例针对所述待测对象的第一测试结果,所述第一测试结果包括针对所述待测对象的所述测试用例中每个断点的第一健康信息和第一快照信息;
通过所述参考对象运行所述测试用例,确定所述测试用例针对所述参考对象的第二测试结果,所述第二测试结果包括针对所述参考对象的所述测试用例中每个断点的第二健康信息和第二快照信息。
8.根据权利要求6所述的方法,其特征在于,在所述确定所述测试用例针对所述待测对象的第一测试结果和所述测试用例针对所述参考对象的第二测试结果之后,还包括:
针对所述测试用例中的任一断点,若针对所述待测对象的所述任一断点的第一健康信息和针对所述参考对象的所述任一断点的第二健康信息不相同,则通过所述调试管理器,确定所述第一测试结果和所述第二测试结果不相同;所述任一断点的第一健康信息包括所述待测对象处于所述任一断点的寄存器信息,所述任一断点的第二健康信息包括所述参考对象处于所述任一断点的寄存器信息。
9.根据权利要求8所述的方法,其特征在于,所述若所述第一测试结果和所述第二测试结果不相同,则基于所述测试用例对应的断点信息,对所述待测对象进行相应缺陷定位处理,确定所述待测对象的缺陷,包括:
若所述第一测试结果和所述第二测试结果不相同,则基于所述任一断点的相邻断点的快照信息,通过所述调试管理器,在所述任一断点和所述相邻断点之间设置至少一个新断点;所述测试用例对应的断点信息包括所述任一断点的相邻断点的快照信息;
基于所述相邻断点的快照信息和所述至少一个新断点的快照信息,通过所述调试管理器,确定所述待测对象的缺陷和所述缺陷对应的断点;所述至少一个新断点包括所述缺陷对应的断点。
10.根据权利要求6-9中任一项所述的方法,其特征在于,所述待测对象为芯片或所述芯片的相关软件,所述参考对象为可参考的软件模拟器。
11.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求6-10中任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求6-10中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211117775.8A CN115373929A (zh) | 2022-09-14 | 2022-09-14 | 测试方法、装置、设备、可读存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211117775.8A CN115373929A (zh) | 2022-09-14 | 2022-09-14 | 测试方法、装置、设备、可读存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115373929A true CN115373929A (zh) | 2022-11-22 |
Family
ID=84071811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211117775.8A Pending CN115373929A (zh) | 2022-09-14 | 2022-09-14 | 测试方法、装置、设备、可读存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115373929A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117113907A (zh) * | 2023-10-17 | 2023-11-24 | 北京开源芯片研究院 | 一种验证方法、装置、电子设备及可读存储介质 |
-
2022
- 2022-09-14 CN CN202211117775.8A patent/CN115373929A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117113907A (zh) * | 2023-10-17 | 2023-11-24 | 北京开源芯片研究院 | 一种验证方法、装置、电子设备及可读存储介质 |
CN117113907B (zh) * | 2023-10-17 | 2023-12-22 | 北京开源芯片研究院 | 一种验证方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9946628B2 (en) | Embedding and executing trace functions in code to gather trace data | |
CN104252481A (zh) | 主从数据库一致性的动态校验方法和装置 | |
US20070079288A1 (en) | System and method for capturing filtered execution history of executable program code | |
CN111290941A (zh) | 多个接口的测试方法、装置、计算设备和介质 | |
CN109543417B (zh) | 一种基于Qemu平台的漏洞挖掘方法和装置 | |
CN107621963B (zh) | 一种软件部署方法、软件部署系统及电子设备 | |
CN110851352A (zh) | 一种模糊测试系统及终端设备 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN115686961A (zh) | 处理器测试方法、装置及电子设备 | |
CN108572892B (zh) | 一种基于PowerPC多核处理器的离线测试方法和装置 | |
CN115373929A (zh) | 测试方法、装置、设备、可读存储介质及程序产品 | |
CN111159023A (zh) | 测试方法、装置、电子设备及计算机可读存储介质 | |
CN111949548B (zh) | 一种自动化越权渗透测试方法和存储设备 | |
CN109902001B (zh) | 对未初始化变量的检测方法及终端设备 | |
CN116303069A (zh) | 一种车载终端的测试方法、装置、上位机、系统及介质 | |
CN113127331A (zh) | 一种基于故障注入的测试方法、装置及计算机设备 | |
CN113282496B (zh) | 接口自动测试方法、装置、设备及存储介质 | |
CN115964237A (zh) | 一种针对中央处理器cpu的功能及性能测试方法及装置 | |
CN114020645A (zh) | 测试方法、装置、设备、可读存储介质及计算机程序产品 | |
CN110096888B (zh) | 一种加快验证及分析smm安全隐患的方法及系统 | |
CN113127874A (zh) | 内网敏感信息处理方法及装置 | |
CN113220586A (zh) | 一种自动化的接口压力测试执行方法、装置和系统 | |
CN111752823A (zh) | 一种车载电源应用软件的测试方法、装置及设备 | |
CN108920378B (zh) | 一种基于接口测试的数据分层方法及系统 | |
CN112650679B (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 |