CN116382992B - 一种硬件测试方法、装置、电子设备及存储介质 - Google Patents

一种硬件测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116382992B
CN116382992B CN202310550903.6A CN202310550903A CN116382992B CN 116382992 B CN116382992 B CN 116382992B CN 202310550903 A CN202310550903 A CN 202310550903A CN 116382992 B CN116382992 B CN 116382992B
Authority
CN
China
Prior art keywords
hardware
test
control object
test hardware
function type
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.)
Active
Application number
CN202310550903.6A
Other languages
English (en)
Other versions
CN116382992A (zh
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.)
Shanghai Gubo Technology Co ltd
Original Assignee
Shanghai Gubo Technology 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 Shanghai Gubo Technology Co ltd filed Critical Shanghai Gubo Technology Co ltd
Priority to CN202310550903.6A priority Critical patent/CN116382992B/zh
Publication of CN116382992A publication Critical patent/CN116382992A/zh
Application granted granted Critical
Publication of CN116382992B publication Critical patent/CN116382992B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

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)
  • Tests Of Electronic Circuits (AREA)

Abstract

本公开提供了一种硬件测试方法、装置、电子设备及存储介质,通过每种测试硬件的功能类型定义对应的API接口;将驱动代码按照功能类型进行分类,并关联至对应相同功能类型的API接口;根据预设的测试需求,定义测试硬件与该测试硬件对应的通道之间的控制关系,根据控制关系构建控制对象;构建硬件、管脚、通道之间的映射关系,针对待测试硬件对应的管脚参数进行编程,封装API接口;当用户访问API接口时,获取用户输入的目标管脚,根据映射关系确定目标管脚对应的目标控制对象,调取驱动代码驱动目标控制对象进行测试。可以为不同厂商不同型号的硬件提供统一的抽象层,同时使测试工程师能够快速验证基本功能,而不用关心具体硬件的实现。

Description

一种硬件测试方法、装置、电子设备及存储介质
技术领域
本公开涉及硬件测试技术领域,具体而言,涉及一种硬件测试方法、装置、电子设备及存储介质。
背景技术
现有实验室芯片测试流程中,一般都是根据测试方案中要求的测试指标,选择相应功能的测试硬件临时搭建测试环境编写大量测试代码进行测试。测试代码书写的第一步就是熟悉测试硬件的特性和功能,根据厂商提供的 Specifications 和 ProgrammingGuides 编写和调试驱动硬件的代码。由于实验室资产的积累,测试硬件种类丰富多样,哪怕是功能一致,硬件的厂商和形式也可能不同。由于没有合适的硬件工具,编写和维护测试都需要大量的手动操作,并且不同硬件的测试、驱动代码都可能是由不同的工程师开发。由于硬件的多样性,测试工程师也会受到硬件功能了解不全和硬件使用不熟悉的限制。
虽然测试硬件功能相同,但是由于厂商或形式的不同,提供的驱动 API 不同,针对不同的测试方案或者新的方案时可能需要重新选择测试硬件,比如选择同一厂商功能相同但是型号不同的硬件甚至是不同厂商的硬件,这就需要重新开发和调试测试程序,复用性很差,耗费大量人工时间,并且在遇到需要同时测试多颗芯片时,没有统一便捷的硬件测试方案,会受限于测试硬件本身的并行能力和工程师处理并行程序的能力。
发明内容
本公开实施例至少提供一种硬件测试方法、装置、电子设备及存储介质,可以为不同厂商不同型号但功能相同或者相似的硬件提供统一的抽象层,同时全面描述硬件共性,使测试工程师能够快速验证基本功能,而不用关心具体硬件的实现。
本公开实施例提供了一种硬件测试方法,包括:
获取多种测试硬件,针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口;
确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口;
根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象;
根据所述控制对象构建硬件、管脚、通道之间的映射关系,针对所述测试硬件对应的管脚参数进行编程,封装所述API接口;
当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试。
一种可选的实施方式中,所述针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口,具体包括:
针对每种所述测试硬件,确定该测试硬件对应的功能类型;
针对每种所述功能类型,为该种功能类型配置对应的API接口,并为所述API接口设置与所述功能类型对应的接口名称;
通过所述功能类型、所述测试需求对应的设置条件以及所述测试硬件的操作结果描述所述API接口。
一种可选的实施方式中,所述确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口,具体包括:
针对每种所述测试硬件,确定该种测试硬件对应的所述驱动代码;
根据所述驱动代码驱动所述测试硬件实现的硬件功能,将所述驱动代码进行划分,确定多个功能方法块;
根据所述功能类型将所述功能方法块分类,确定多个目标类;
针对每个所述目标类,将该目标类关联至对应相同所述功能类型的所述API接口。
一种可选的实施方式中,在所述根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象之后,所述方法还包括:
确定所述控制对象中,所述测试硬件与所述通道的组合形式;
为所述组合形式配置对应的标识字段。
一种可选的实施方式中,所述组合形式包括:多台所述测试硬件对应一个所述控制对象、一台所述测试硬件对应一个所述控制对象、一台所述测试硬件中一个所述通道对应一个所述控制对象,以及一台所述测试硬件中多个所述通道对应一个所述控制对象。
一种可选的实施方式中,在所述当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试之后,所述方法还包括:
获取新增硬件;
采用语法扩展方法针对硬件类进行拓展,以添加所述新增硬件对应的硬件功能。
本公开实施例还提供一种硬件测试装置,所述装置包括:
接口定义模块,用于获取多种测试硬件,针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口;
驱动关联模块,用于确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口;
控制对象构建模块,用于根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象;
映射构建模块,用于根据所述控制对象构建硬件、管脚、通道之间的映射关系,针对所述测试硬件对应的管脚参数进行编程,封装所述API接口;
测试模块,用于当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试。
本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述硬件测试方法,或上述硬件测试方法中任一种可能的实施方式中的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述硬件测试方法,或上述硬件测试方法中任一种可能的实施方式中的步骤。
本公开实施例还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序、指令被处理器执行时实现上述硬件测试方法,或上述硬件测试方法中任一种可能的实施方式中的步骤。
本公开实施例提供的一种硬件测试方法、装置、电子设备及存储介质,通过获取多种测试硬件,针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口;确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口;根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象;构建硬件、管脚、通道之间的映射关系,针对所述测试硬件对应的管脚参数进行编程,封装所述API接口;当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试。可以为不同厂商不同型号但功能相同或者相似的硬件提供统一的抽象层,同时全面描述硬件共性,使测试工程师能够快速验证基本功能,而不用关心具体硬件的实现。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种硬件测试方法的流程图;
图2示出了本公开实施例所提供的另一种硬件测试方法的流程图;
图3示出了本公开实施例所提供的一种硬件测试装置的示意图;
图4示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,现有实验室芯片测试流程中,虽然测试硬件功能相同,但是由于厂商或形式的不同,提供的驱动 API 不同,针对不同的测试方案或者新的方案时可能需要重新选择测试硬件,比如选择同一厂商功能相同但是型号不同的硬件甚至是不同厂商的硬件,这就需要重新开发和调试测试程序,复用性很差,耗费大量人工时间,并且在遇到需要同时测试多颗芯片时,没有统一便捷的硬件测试方案,会受限于测试硬件本身的并行能力和工程师处理并行程序的能力。
基于上述研究,本公开提供了一种硬件测试方法、装置、电子设备及存储介质,通过获取多种测试硬件,针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口;确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口;根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象;构建硬件、管脚、通道之间的映射关系,针对所述测试硬件对应的管脚参数进行编程,封装所述API接口;当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试。可以为不同厂商不同型号但功能相同或者相似的硬件提供统一的抽象层,同时全面描述硬件共性,使测试工程师能够快速验证基本功能,而不用关心具体硬件的实现。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种硬件测试方法进行详细介绍,本公开实施例所提供的硬件测试方法可应用于实验室芯片测试流程,执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该硬件测试方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的一种硬件测试方法的流程图,所述方法包括步骤S101~S105,其中:
S101、获取多种测试硬件,针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口。
在具体实施中,在测试环境下搭建需要进行测试的测试硬件,将测试硬件按照测试需求进行连线。针对测试需要使用的多种不同测试硬件,将测试硬件按照对应的功能类型进行分类,并根据功能类型为每种测试硬件抽象出对应的硬件功能接口,接口中包括测试硬件对应硬件功能的应用程序编程接口(Application Programming Interface,API)。
这里,测试硬件可以包括源测量单元(SMU/PMU)、示波器(Scope)、信号发生器(Fgen)、开关(Switch)、逻辑分析仪(LogicAnalyzer)等,可以根据实际需要进行选择,在此不作具体限制。
其中,测试硬件的功能类型为测试硬件在应用中所可以提供的功能的类型,例如可以包括:检测电流类型、显示波形类型、开关类型等。
作为一种可能的实施方式,步骤S101可以通过如下步骤S1011-步骤S1013实现:
S1011、针对每种所述测试硬件,确定该测试硬件对应的功能类型。
S1012、针对每种所述功能类型,为该种功能类型配置对应的API接口,并为所述API接口设置与所述功能类型对应的接口名称。
S1013、通过所述功能类型、所述测试需求对应的设置条件以及所述测试硬件的操作结果描述所述API接口。
在具体实施中,当为测试硬件的功能类型定义对应的API时,将相同的功能类型定义至一个同名接口,同时,API接口中的描述方式中,还涵盖有功能类型、测试需求对应的设置条件以及测试硬件的操作结果。
这里,API接口的方法名代表测试硬件的功能类型,API接口的参数代表预设的测试需求所需要或由测试人员人为设置的条件,API接口的返回值代表针对测试硬件进行操作后的操作结果。
作为另一种可能的实施方式,在定义好API接口之后,还可以根据API接口的使用频率以及API封装的层级,将API接口划分为高等级(HighLevel)的API接口以及低等级(LowLevel)的API接口。
具体的,可以采用Attribute语法区分出高等级和低等级的 API接口。
这里,高等级的 API 接口表示该类硬件的典型应用,也是封装层级很高的能直接驱动硬件进行动作的综合性 API接口,能够调用多个参数指标达成操作。低等级的 API接口表示细节的操作,只调用单一参数指标。
S102、确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口。
在具体实施中,确定能够针对测试硬件进行驱动的驱动代码,将驱动代码按照所述功能类型进行分类,并将分类完成后的驱动代码关联至对应相同功能类型的API接口。
这里,驱动代码可以通过测试硬件的生产厂商进行获取,即直接采用厂商已有型号在对应功能类型下,硬件的通用实现方法,即按照厂商在对应的功能类型下实现一个通用的型号类,使用时可以直接选择厂商和功能类型快速使用基本功能进行验证。
作为一种可能的实施方式,步骤S102可以通过如下步骤S1021-步骤S1024实现:
S1021、针对每种所述测试硬件,确定该种测试硬件对应的所述驱动代码。
S1022、根据所述驱动代码驱动所述测试硬件实现的硬件功能,将所述驱动代码进行划分,确定多个功能方法块。
S1023、根据所述功能类型将所述功能方法块分类,确定多个目标类。
S1024、针对每个所述目标类,将该目标类关联至对应相同所述功能类型的所述API接口。
在具体实施中,硬件的功能实现往往依赖于驱动代码中的方法,同一硬件可能实现多种不同类型的功能,同时,同一种功能类型下,往往具有多种方法均从属与该种功能类型,因此,可以将驱动代码按照其可以驱动测试硬件实现的硬件功能划分为多种功能方法块,即每个功能方法块均为驱动一种功能实现的方法。
进一步的,针对多种功能方法块,按照其所能驱动实现的功能类型进行分类,进而得到多个目标类,即每个目标类下均包含有驱动实现同种功能的方法块,将该目标类与对应相同功能类型的API接口进行关联。
这样,基于API接口,实现某个具体型号硬件类,提供不同的方法实现来选择特定的方法和表示特质化方法,不同型号的硬件也可以基于功能类型接口参考已有型号的实现代码快速给出实现代码,加速前期硬件准备环节。
S103、根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象。
在具体实施中,连线完成后的测试硬件在测试过程中采用编程控制硬件的方式,其具体的控制过程通过通道(Channel)或直接作用于硬件的方式实现,因此,需要根据当前硬件测试的测试需求,定义硬件与通道之间的控制关系,控制关系反映了针对当前硬件进行控制时是否采用通道,若需要采用通道进行控制,则需要确定当前控制所需采用的具体通道参数。
这里,根据硬件与通道之间的控制关系,可以抽象硬件的特性,划分出不同的控制对象。
需要说明的是,预设的测试需求可以根据实际需要进行设置,在此不做具体限制。
作为一种可能的实施方式,在步骤S103之后还可以进行如下操作:确定所述控制对象中,所述测试硬件与所述通道的组合形式;为所述组合形式配置对应的标识字段。
这里,在编程过程中可以采用一个字段表示硬件控制对象的组成方式。控制对象的组成方式可以包括:多台所述测试硬件对应一个所述控制对象、一台所述测试硬件对应一个所述控制对象、一台所述测试硬件中一个所述通道对应一个所述控制对象,以及一台所述测试硬件中多个所述通道对应一个所述控制对象。
S104、根据所述控制对象构建硬件、管脚、通道之间的映射关系,针对所述测试硬件对应的管脚参数进行编程,封装所述API接口。
在具体实施中,硬件、管脚、通道之间的映射关系,该映射关系反映了测试过程中针对硬件的驱动路径,即,针对某个硬件的某个管脚采用某种通道进行驱动,并且,在针对API接口进行封装的过程中,仅对管脚参数进行编程,API接口封装后不提供通道参数,仅提供针对管脚的管脚参数。
这里,硬件、管脚、通道之间的映射关系与控制对象所对应的控制关系相对应,每个控制对象均对应有硬件、管脚、通道之间的映射关系。
需要说明的是,通道的总数与测试硬件能作用的管脚数相同。
S105、当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试。
在具体实施中,当测试过程开始后,用户通过访问API接口输入需要控制的目标管脚,采集用户输入的目标管脚,由包装层根据用户输入的目标管脚参数,调取硬件、管脚、通道之间的映射关系,根据该映射关系查询到需要操作的控制对象,即目标控制对象,调取与该API接口相关联的驱动代码举动该控制对象。
这里,可以采用Parallel.For 进行并行化操作。
本公开实施例提供的一种硬件测试方法,通过获取多种测试硬件,针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口;确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口;根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象;构建硬件、管脚、通道之间的映射关系,针对所述测试硬件对应的管脚参数进行编程,封装所述API接口;当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试。可以为不同厂商不同型号但功能相同或者相似的硬件提供统一的抽象层,同时全面描述硬件共性,使测试工程师能够快速验证基本功能,而不用关心具体硬件的实现。
参见图2所示,为本公开实施例提供的另一种硬件测试方法的流程图,所述方法包括步骤S201~S206,其中:
S201、获取多种测试硬件,针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口。
S202、确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口。
S203、根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象。
S204、根据所述控制对象构建硬件、管脚、通道之间的映射关系,针对所述测试硬件对应的管脚参数进行编程,封装所述API接口。
S205、当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试。
这里,步骤S201-步骤S205与步骤S101-步骤S105实质相同,具有相同的实施方式并且可以达到相同的技术效果,对此不在进行赘述。
S206、获取新增硬件;采用语法扩展方法针对硬件类进行拓展,以添加所述新增硬件对应的硬件功能。
这里,利用语法扩展方法进行硬件类的扩展,可以在已经构建了硬件实现类之后扩展已有的功能。
本公开实施例提供的一种硬件测试方法,通过获取多种测试硬件,针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口;确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口;根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象;构建硬件、管脚、通道之间的映射关系,针对所述测试硬件对应的管脚参数进行编程,封装所述API接口;当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试。可以为不同厂商不同型号但功能相同或者相似的硬件提供统一的抽象层,同时全面描述硬件共性,使测试工程师能够快速验证基本功能,而不用关心具体硬件的实现。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与硬件测试方法对应的硬件测试装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述硬件测试方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图3,图3为本公开实施例提供的一种硬件测试装置的示意图。如图3中所示,本公开实施例提供的硬件测试装置300包括:
接口定义模块310,用于获取多种测试硬件,针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口。
驱动关联模块320,用于确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口。
控制对象构建模块330,用于根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象。
映射构建模块340,用于根据所述控制对象构建硬件、管脚、通道之间的映射关系,针对所述测试硬件对应的管脚参数进行编程,封装所述API接口。
测试模块350,用于当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例提供的一种硬件测试装置,通过获取多种测试硬件,针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口;确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口;根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象;构建硬件、管脚、通道之间的映射关系,针对所述测试硬件对应的管脚参数进行编程,封装所述API接口;当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试。可以为不同厂商不同型号但功能相同或者相似的硬件提供统一的抽象层,同时全面描述硬件共性,使测试工程师能够快速验证基本功能,而不用关心具体硬件的实现。
对应于图1与图2中的硬件测试方法,本公开实施例还提供了一种电子设备400,如图4所示,为本公开实施例提供的电子设备400结构示意图,包括:
处理器41、存储器42、和总线43;存储器42用于存储执行指令,包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换,当所述电子设备400运行时,所述处理器41与所述存储器42之间通过总线43通信,使得所述处理器41执行图1与图2中的硬件测试方法的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的硬件测试方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品包括有计算机指令,所述计算机指令被处理器执行时可以执行上述方法实施例中所述的硬件测试方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (7)

1.一种硬件测试方法,其特征在于,包括:
获取多种测试硬件,针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口;
确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口;
根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象;
确定所述控制对象中,所述测试硬件与所述通道的组合形式;为所述组合形式配置对应的标识字段;
根据所述控制对象构建硬件、管脚、通道之间的映射关系,针对所述测试硬件对应的管脚参数进行编程,封装所述API接口;
当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试;
所述针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口,具体包括:
针对每种所述测试硬件,确定该测试硬件对应的功能类型;
针对每种所述功能类型,为该功能类型配置对应的API接口,并为所述API接口设置与所述功能类型的接口名称;
通过所述功能类型、所述测试需求对应的设置条件以及所述测试硬件的操作结果描述所述API接口。
2.根据权利要求1所述的方法,其特征在于,所述确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口,具体包括:
针对每种所述测试硬件,确定该种测试硬件对应的所述驱动代码;
根据所述驱动代码驱动所述测试硬件实现的硬件功能,将所述驱动代码进行划分,确定多个功能方法块;
根据所述功能类型将所述功能方法块分类,确定多个目标类;
针对每个所述目标类,将该目标类关联至对应相同所述功能类型的所述API接口。
3.根据权利要求1所述的方法,其特征在于:
所述组合形式包括:多台所述测试硬件对应一个所述控制对象、一台所述测试硬件对应一个所述控制对象、一台所述测试硬件中一个所述通道对应一个所述控制对象,以及一台所述测试硬件中多个所述通道对应一个所述控制对象。
4.根据权利要求1所述的方法,其特征在于,在所述当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试之后,所述方法还包括:
获取新增硬件;
采用语法扩展方法针对硬件类进行拓展,以添加所述新增硬件对应的硬件功能。
5.一种硬件测试装置,其特征在于,包括:
接口定义模块,用于获取多种测试硬件,针对每种所述测试硬件,根据该测试硬件的功能类型定义对应的API接口;
驱动关联模块,用于确定所述测试硬件对应的驱动代码,将所述驱动代码按照所述功能类型进行分类,并关联至对应相同所述功能类型的所述API接口;
控制对象构建模块,用于根据预设的测试需求,定义所述测试硬件与该测试硬件对应的通道之间的控制关系,根据所述控制关系构建控制对象;
所述装置还用于确定所述控制对象中,所述测试硬件与所述通道的组合形式;为所述组合形式配置对应的标识字段;
映射构建模块,用于根据所述控制对象构建硬件、管脚、通道之间的映射关系,针对所述测试硬件对应的管脚参数进行编程,封装所述API接口;
测试模块,用于当用户访问所述API接口时,获取用户输入的目标管脚,根据所述映射关系确定所述目标管脚对应的目标控制对象,调取所述驱动代码驱动所述目标控制对象进行测试;
所述接口定义模块具体用于:
针对每种所述测试硬件,确定该测试硬件对应的功能类型;
针对每种所述功能类型,为该功能类型配置对应的API接口,并为所述API接口设置与所述功能类型的接口名称;
通过所述功能类型、所述测试需求对应的设置条件以及所述测试硬件的操作结果描述所述API接口。
6.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至4中任一项所述的硬件测试方法的步骤。
7.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至4中任一项所述的硬件测试方法的步骤。
CN202310550903.6A 2023-05-16 2023-05-16 一种硬件测试方法、装置、电子设备及存储介质 Active CN116382992B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310550903.6A CN116382992B (zh) 2023-05-16 2023-05-16 一种硬件测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310550903.6A CN116382992B (zh) 2023-05-16 2023-05-16 一种硬件测试方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116382992A CN116382992A (zh) 2023-07-04
CN116382992B true CN116382992B (zh) 2023-09-19

Family

ID=86965849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310550903.6A Active CN116382992B (zh) 2023-05-16 2023-05-16 一种硬件测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116382992B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295248A (ja) * 2003-03-25 2004-10-21 Seiko Epson Corp デバイスドライバ遠隔監視システム
CN103748562A (zh) * 2010-12-23 2014-04-23 英特尔公司 测试、验证和调试架构
CN106371847A (zh) * 2016-09-07 2017-02-01 湖北三江航天万峰科技发展有限公司 Windows xp系统下CPCI总线RS422通信驱动方法及系统
CN107831757A (zh) * 2017-11-29 2018-03-23 合肥巨动力系统有限公司 基于dSPACE的电机控制硬件在环自动化测试系统及方法
CN107861803A (zh) * 2017-10-31 2018-03-30 湖北三江航天万峰科技发展有限公司 一种基于中断的xp系统下cpci总线rs422通信驱动方法
CN110221867A (zh) * 2019-05-31 2019-09-10 湖北三江航天万峰科技发展有限公司 一种xp系统下脉冲i/o功能卡通信驱动系统及方法
CN114019938A (zh) * 2021-10-15 2022-02-08 上海华虹集成电路有限责任公司 一种微控制器芯片通信类接口测试系统及其方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069546B2 (en) * 2001-12-03 2006-06-27 Corrigent Systems Ltd. Generic framework for embedded software development
US7017081B2 (en) * 2002-09-27 2006-03-21 Lucent Technologies Inc. Methods and systems for remotely controlling a test access port of a target device
US7096440B2 (en) * 2003-07-22 2006-08-22 Lsi Logic Corporation Methods and systems for automatic verification of specification document to hardware design
US20060156397A1 (en) * 2005-01-13 2006-07-13 Steven Dai A New Anti-spy method without using scan

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295248A (ja) * 2003-03-25 2004-10-21 Seiko Epson Corp デバイスドライバ遠隔監視システム
CN103748562A (zh) * 2010-12-23 2014-04-23 英特尔公司 测试、验证和调试架构
CN106371847A (zh) * 2016-09-07 2017-02-01 湖北三江航天万峰科技发展有限公司 Windows xp系统下CPCI总线RS422通信驱动方法及系统
CN107861803A (zh) * 2017-10-31 2018-03-30 湖北三江航天万峰科技发展有限公司 一种基于中断的xp系统下cpci总线rs422通信驱动方法
CN107831757A (zh) * 2017-11-29 2018-03-23 合肥巨动力系统有限公司 基于dSPACE的电机控制硬件在环自动化测试系统及方法
CN110221867A (zh) * 2019-05-31 2019-09-10 湖北三江航天万峰科技发展有限公司 一种xp系统下脉冲i/o功能卡通信驱动系统及方法
CN114019938A (zh) * 2021-10-15 2022-02-08 上海华虹集成电路有限责任公司 一种微控制器芯片通信类接口测试系统及其方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Research on network integration technology of observation stations;ZHAN Yanjun;MA Shangchang;ZHUANG Ting;ZHANG Sujuan;;Instrumentation(第03期);全文 *
基于RFM的机载余度计算机软件快速测试平台;牟鹏;段晓军;;计算机测量与控制(第05期);全文 *
服务接口测试自动化工具的研究;卓欣欣;白晓颖;许静;李恩鹏;刘喻;康介恢;宋文莉;;计算机研究与发展(第02期);全文 *

Also Published As

Publication number Publication date
CN116382992A (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
CN107480327B (zh) 一种仿真验证方法、装置和电子设备
US10354031B2 (en) Information processing by interpenetrating signal transmission channel in design for testability of chip
CN103049363B (zh) 一种NAND Flash控制器的验证方法
US9058427B2 (en) Iterative generation of symbolic test drivers for object-oriented languages
US6707313B1 (en) Systems and methods for testing integrated circuits
CN110362469A (zh) 基于模块化测试用例控制方法、装置、终端与存储介质
CN103049374B (zh) 一种自动化测试的方法及装置
CN114117977B (zh) 一种适用于自动验证处理器系统场景的方法
Jaffuel et al. LEIRIOS test generator: Automated test generation from B models
CN113778890B (zh) 代码测试方法、装置、电子设备及存储介质
CN116382992B (zh) 一种硬件测试方法、装置、电子设备及存储介质
CN107766230A (zh) 一种基于配置文件进行测试的方法与设备
CN101017496A (zh) 基于最佳匹配测试结果类型自动格式化数据的方法和装置
CN116302769A (zh) 一种芯片测试方法、装置、电子设备及存储介质
CN115827410A (zh) 性能测评工具的测试方法、装置、测试设备及存储介质
US7613865B2 (en) Automated switching for executing tests involving electronic devices
CN115840707A (zh) 一种刷写测试方法、装置及介质
CN115657981A (zh) 验证环境中的打印信息的打印等级的设置方法及验证方法
US11409939B2 (en) Test generation systems and methods
CN114121135A (zh) 基于宏的嵌入式系统地址线数据线测试方法和装置
CN110896333B (zh) WiFi模组测试方法、系统及存储介质
CN112860585A (zh) 一种测试脚本断言生成方法及装置
CN110795297B (zh) 一种电子设备的测试方法及装置
CN115495388B (zh) 用于ai推理芯片的芯片验证方法、装置、设备及介质
CN109240933B (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
GR01 Patent grant
GR01 Patent grant