掌桥专利:专业的专利平台
掌桥专利
首页

硬件测试方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 09:27:35


硬件测试方法、装置、电子设备和存储介质

技术领域

本发明实施例涉及硬件测试技术领域,尤其涉及一种硬件测试方法、装置、电子设备和存储介质。

背景技术

OpenCPU是一种以模块作为主处理器的应用方式,随着通信技术的发展和市场的不断变化,越来越多的用户认识到OpenCPU解决方案的优势。OpenCPU逐渐应用到无线通信模组内,用于解决共享模块内处理器和FLASH内存资源。普通通信模组和OpenCpu通信模组的结构可以如图1a和图1b所示,传统通信模组需要与微控制单元(Microcontroller Unit,MCU)需要存在解析指令和输出结果的过程,而OpenCpu通信模组可以通过MCU直接调用应用程序接口(Application Program Interface,API)。针对OpenCpu通信模组,常规的测试方法是测试者针对待测试接口设计测试用例,按照入参条件场景编写测试代码并编译生成范例demo的pac文件,在进行测试时将pac文件下载到通信模组进行测试。由于通信模组的入参条件场景包括多个API的调用过程,需要一一针对API设计测试用例并重复上述过程,OpenCpu通信模组的测试过程花费大量时间。

发明内容

本发明提供一种硬件测试方法、装置、电子设备和存储介质,以实现硬件的快速测试,提高测试用例的复用次数,减少硬件测试的时间花费,并降低测试难度。

第一方面,本发明实施例提供了一种硬件侧方法,该方法包括:

根据获取的入参场景确定待测硬件对应应用程序接口API的API种类和API调用顺序;

通过所述API种类和所述API调用顺序在预设测试表单中依次调用接口测试用例测试所述待测硬件;

在预设界面展示所述待测硬件的测试结果。

第二方面,本发明实施例还提供了一种硬件测试装置,该装置包括:

属性信息模块,用于根据获取的入参场景确定待测硬件对应应用程序接口API的API种类和API调用顺序;

测试执行模块,用于通过所述API种类和所述API调用顺序在预设测试表单中依次调用接口测试用例测试所述待测硬件;

结果展示模块,用于在预设界面展示所述待测硬件的测试结果。

第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的硬件测试方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如本发明实施例中任一所述的硬件测试方法。

本发明实施例,通过入参场景确定待测硬件对应的应用程序接口的API种类和调用顺序,通过API种类和调用顺序在预设测试表中查找待测硬件对应的接口测试用例并对所述待测硬件进行测试,将测试结果在预设界面进行展示,实现了待测硬件的快速测试,减少了测试用例的重复设计时间,提高了硬件测试效率,辅助客户快速还原应用场景,降低故障定位的难度,提高问题定位效率。

附图说明

图1a是现有技术中一种普通通信模组的结构示意图;

图1b是现有技术中一种OpenCpu通信模组的结构示意图;

图2是现有技术中常规API测试的耗时分析示例图;

图3是本发明实施例一提供的一种硬件测试方法的流程图;

图4是本发明实施例二提供的另一种硬件测试方法的流程图;

图5是本发明实施例二提供的一种预设界面中API接口测试模块分组模型的示例图;

图6是本发明实施例三提供的一种硬件测试装置的结构示意图;

图7是本发明实施例四提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构,此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

常规的硬件测试方法,测试者针对待测试硬件的API设计测试用例,按照入参条件场景写一段测试代码,并编译生成测试范例demo的pac文件,将生成的pac文件下载入到待测硬件,使得待测硬件开机直接运行demo完成该场景的API测试,并记录测试结果。然后针对待测硬件的另一个API重复上述步骤,实现编码、下载和运行。可以发现传统的硬件测试的测试效率低下,花大量的时间在demo的编码和编译调试上。图2是现有技术中常规API测试的耗时分析示例图,参见图2,假设用户基础工程编译完成,基本功能测试完成,完成版本发布要求,进入测试阶段,针对API a的测试用例一,需要完成测试场景demo,此时测试者编码、编译和调试场景用时t

实施例一

图3是本发明实施例一提供的一种硬件测试方法的流程图,本实施例可适用于OpenCpu通信模组复杂应用场景测试的情况,该方法可以由硬件测试装置来执行,该装置可以采用硬件和/或软件的方式来实现,参见图3,本发明实施例提供的方法具体包括如下步骤:

步骤101、根据获取的入参场景确定待测硬件对应应用程序接口API的API种类和API调用顺序。

其中,入参场景可以是需要测试的硬件应用场景,入参场景可以包括硬件的使用功能和各功能的使用顺序,待测硬件可以是需要进行测试的硬件,可以是设置有存在应用程序接口的硬件,例如,传统通信模组和OpenCpu通信模组等。

在本发明实施例中,应用程序接口API可以是待测硬件中包括的函数接口,API中可以是一些预先定义的函数,目的是基于软件和/或硬件提供访问一组例程的能力。API种类可以是API的属性信息,具体可以是待测硬件在入参场景中使用的API种类,API调用顺序可以是在入参场景中待测硬件调用API的顺序。

具体的,在获取到待测硬件的入参场景后,可以通过入参场景中使用待测硬件的方式确定出待测硬件中应用程序接口API的API种类和API调用顺序,示例性的,一个入参场景可以包括依次进行开机、分组数据协议(Packet data protocol)激活、获取IMEI、获取Plmn、Pdp去激活、获取网络连接状态、拨打10086、挂断电话和获取网络连接状态等操作,可以根据待测设备执行的操作确定对应的API种类,根据待测设备执行操作的顺序确定API调用顺序。

步骤102、通过API种类和API调用顺序在预设测试表单中依次调用接口测试用例测试待测硬件。

其中,预设测试表单可以是预先存储有接口测试用例的数据表,预设测试表单中不同的API可以对应不同的接口测试用例,预设测试表单中可以关联存储有接口测试用例和API。接口测试用例可以是为测试API而编制的一组测试输出、执行条件以及预期输出,接口测试用例可以测试某个API是否满足特定需求。

在本发明实施例中,可以按照API调用顺序依次在预设测试表单中查找API种类对应的接口测试用例,并使用获取到的接口测试用例对待侧硬件中的对应API进行测试获取到测试输出。可以理解的是,对获取接口测试用例和使用接口测试用例测试待测硬件的方式不进行限制,可以按照API调用顺序获取到所有的接口测试用例后,在使用各接口测试用例按照API调用顺序依次对待测硬件进行测试。还可以按照API调用顺序,每获取到一个接口测试用例则使用该接口测试用例对待测硬件进行测试。

步骤103、在预设界面展示所述待测硬件的测试结果。

具体的,可以将获取到的各接口测试用例的测试结果进行汇总分析,可以将分析结果展示在预设界面。可以理解的是,待测硬件的测试结果可以通过图表、文字和视频中至少一种方式展示。

本发明实施例,通过入参场景确定待测硬件对应的应用程序接口的API种类和调用顺序,通过API种类和调用顺序在预设测试表中查找待测硬件对应的接口测试用例并对所述待测硬件进行测试,将测试结果在预设界面进行展示,实现了待测硬件的快速测试,减少了测试用例的重复设计时间,提高了硬件测试效率,可增强用户体验程度。

进一步的,在上述发明实施例的基础上,预设测试表单的预设过程包括:按照应用程序接口API的使用方法封装接口测试用例,其中,接口测试用例至少包括API的输入参数、输出参数和返回值中至少一种;将所述接口测试用例按照对应的API所属的硬件功能分类存储;将分类后的所述接口测试用例按照对应的硬件功能分类在主函数注册作为预设测试表单的测试模块。

在本发明实施例中,接口测试用例可以是对待测硬件的API进行测试的信息,可以由输入参数、输出参数和返回值组成,可以根据不同的API的使用方式制定对应的输入参数、输出参数和返回值,并将确定出的信息封装为对应API的接口测试用例,为了提高待测硬件的测试效率,可以对封装生成的接口测试用例按照对应API实现待测硬件的硬件功能进行分类,不同功能的接口测试用例存储在不同的硬件功能分类下,例如,可以按照公共测试模型、网络信息模块、设备信息模块、文件信息模块等硬件功能分类进行划分,不同的硬件功能分类下存储有实现对应硬件功能的不同API对应的接口测试用例。在使用接口测试用例之前需要将各测试用例进行注册,例如,在实现本实施例方法的软件主函数中进行测试模块注册,使得主函数获取到调用信息时使用对应的接口测试用例测试待测硬件。

进一步的,在上述发明实施例的基础上,属于相同所述硬件功能分类的接口测试用例使用同一结构体进行管理。

在本发明实施例中,可以将属于相同硬件功能分类的接口测试用例放置在容器中,可以使用同一结构体对接口测试用例进行管理,一个接口测试用例的硬件功能分类General_Info为例,各接口测试用例对应的结构体可以表示如下:

实施例二

图4是本发明实施例二提供的另一种硬件测试方法的流程图,本发明实施例是在上述发明实施例的基础上的具体化,参见图4,本发明实施例提供的方法具体包括如下步骤:

步骤201、通过预设界面获取用户输入的待测硬件的功能信息和功能执行顺序作为入参场景。

具体的,预设界面可以是可视化页面,用于向用户展示测试API的各接口测试用例,图5是本发明实施例二提供的一种预设界面中API接口测试模块分组模型的示例图,参见图5,可以通过预设界面展示不同硬件功能的硬件功能分类,例如,通用信息、设备测试、无线网测试和音频测试等。用户可以在预设界面中展示的硬件功能分类中依次选择需要进行测试的硬件功能,该硬件功能可以由待测硬件中的API实现。可以将用户输入的硬件功能对应的属性信息作为入参场景的功能信息,可以将用户输入硬件功能的顺序作为入参场景的功能执行顺序。

步骤202、确定实现功能信息对应功能的API种类,并将功能执行顺序作为所述API调用顺序。

在本发明实施例中,待测硬件中的硬件功能可以由API实现,可以通过获取到的功能信息查找待测硬件中实现对应功能的API种类,并可以直接将功能执行顺序作为API调用顺序,在入参场景中先被执行的功能对应的API可以先被调用。

可以理解的是,功能信息和API种类可以预先存储,在查找过程中可以通过预先存储的信息确定出与功能信息对应的API种类,功能信息与API种类可以关联存储为下表:

可以理解的是,上表示出的硬件功能与API种类为一个示例性情况,不同的入参场景包括的硬件功能和API种类可以不同,用户可以自定义不同入参场景,以获取到不同的功能信息和API种类的关联存储表。

步骤203、按照API调用顺序依次在预设测试表单中调用API种类对应的接口测试用例,其中,预设测试表单中按照API功能分类存储有至少一个接口测试用例。

在本发明实施例中,预先测试表单中接口测试用例可以按照API功能分类进行存储,属于相同API功能分类的接口测试用例用于测试实现相同硬件功能的API。可以按照API调用顺序依次在预设测试表单中查找API种类对应的接口测试用例,获取到的一个或者多个接口测试用例以进行后续的硬件测试过程。

步骤204、将接口测试用例输入到待测硬件以执行硬件测试。

在本发明实施例中,可以将获取到的一个或者多个接口测试用例下载到待测硬件,并在待测硬件执行接口测试用例对应的测试。可以理解的是各接口测试用例在待测硬件执行的顺序可以与入参场景中API调用顺序相同,先调用的API先制定对应的接口测试用例。

步骤205、获取待测硬件对应接口测试用例的输出参数。

具体的,可以使用串口对待测硬件进行监测,获取到接口测试用例对应的输出参数。

步骤206、将分析输出参数生成的测试结果在预设界面进行可视化展示,其中,可视化展示至少包括文字展示、图表展示和动画展示中至少一种。

在本发明实施例中,可以对获取到的输出参数进行分析,例如,将输出参数与标准值进行比较,确定对应接口是否正确,若正确则确定对应的接口测试用例的测试结果为测试成功,否则为测试失败。通过分析各接口测试用例对应的输出参数后生成测试结果,并通过文字、图表或者动画展示中的一种或者多种将测试结果在预设界面中进行展示。

步骤207、将API种类、API调用顺序和入参场景中至少一种信息存储为场景测试用例。

具体的,可以将对待测硬件的测试过程的相关信息进程存储,可以将存储的信息作为场景测试用例,存储内容可以包括API种类、API调用顺序和入参场景等。在遇到相同的入参场景是可以直接使用场景测试用例对待测硬件进行测试,进一步提高测试效率。

本发明实施例,通过预设界面获取用户输入的待测硬件对应的功能信息和功能执行顺序作为入参场景,通过功能信息确定API种类以及根据功能执行顺序确定API调用顺序,按照API调用顺序依次在预设测试表单中查找API种类对应的接口测试用例,将接口测试用例下载到待测硬件进行测试,采集待测硬件对应接口测试用例的输出参数,并将分析输出参数生成的测试结果在预设界面进行可视化展示,并将API种类、API调用顺序和入参场景中至少一种存储为场景测试用例,实现了硬件测试中应用程序接口的快速测试,减少了各接口的用例重复设计时间,提高硬件测试效率并提高用户体验。

实施例三

图6是本发明实施例三提供的一种硬件测试装置的结构示意图,图6示出的装置可执行本发明任意实施例所提供的硬件测试方法,具体方法相应的功能模块和有益效果。该装置可以由软件和/或硬件实现,具体包括:属性信息模块301、测试执行模块302和结果展示模块303。

属性信息模块301,用于根据获取的入参场景确定待测硬件对应应用程序接口API的API种类和API调用顺序。

测试执行模块302,用于通过所述API种类和所述API调用顺序在预设测试表单中依次调用接口测试用例测试所述待测硬件。

结果展示模块303,用于在预设界面展示所述待测硬件的测试结果。

本发明实施例,通过属性信息模块入参场景确定待测硬件对应的应用程序接口的API种类和调用顺序,测试执行模块通过API种类和调用顺序在预设测试表中查找待测硬件对应的接口测试用例并对所述待测硬件进行测试,结果展示模块将测试结果在预设界面进行展示,实现了待测硬件的快速测试,减少了测试用例的重复设计时间,提高了硬件测试效率,可增强用户体验程度。

进一步的,在上述发明实施例的基础上,所述属性信息模块301包括:

界面监测单元,用于通过预设界面获取用户输入的待测硬件的功能信息和功能执行顺序作为入参场景。

信息确定单元,用于确定实现所述功能信息对应功能的API种类,并将所述功能执行顺序作为所述API调用顺序。

进一步的,在上述发明实施例的基础上,所述测试执行模块302包括:

用例获取单元,用于按照所述API调用顺序依次在所述预设测试表单中调用所述API种类对应的接口测试用例,其中,所述预设测试表单中按照API功能分类存储有至少一个接口测试用例。

测试执行单元,用于将所述接口测试用例输入到所述待测硬件以执行硬件测试。

进一步的,在上述发明实施例的基础上,还包括表单设置模块,用于按照应用程序接口API的使用方法封装接口测试用例,其中,接口测试用例至少包括API的输入参数、输出参数和返回值中至少一种;将所述接口测试用例按照对应的API所属的硬件功能分类存储;将分类后的所述接口测试用例按照对应的硬件功能分类在主函数注册作为预设测试表单的测试模块。

进一步的,在上述发明实施例的基础上,所述表单设置模块中属于相同所述硬件功能分类的接口测试用例使用同一结构体进行管理。

进一步的,在上述发明实施例的基础上,所述结果展示模块303包括:

输出参数单元,用于获取所述待测硬件对应所述接口测试用例的输出参数。

结果展示单元,用于将分析所述输出参数生成的测试结果在预设界面进行可视化展示,其中,所述可视化展示至少包括文字展示、图表展示和动画展示中至少一种。

进一步的,在上述发明实施例的基础上,所述装置还包括:

场景用例模块,用于将所述API种类、所述API调用顺序和所述入参场景中至少一种信息存储为场景测试用例。

实施例四

图7是本发明实施例四提供的一种电子设备的结构示意图,如图7所示,该电子设备包括处理器70、存储器71、输入装置72和输出装置73;电子设备中处理器70的数量可以是一个或多个,图7中以一个处理器70为例;电子设备中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图7中以通过总线连接为例。

存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的硬件测试方法对应的程序模块(例如,硬件测试装置中的属性信息模块301、测试执行模块302和结果展示模块303)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的硬件测试方法。

存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置72可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。

实施例五

本发明实施例五还提供一种包含计算机程序的计算机可读存储介质,所述计算机程序在由计算机处理器执行时用于执行一种硬件测试方法,该方法包括:

根据获取的入参场景确定待测硬件对应应用程序接口API的API种类和API调用顺序;

通过所述API种类和所述API调用顺序在预设测试表单中依次调用接口测试用例测试所述待测硬件;

在预设界面展示所述待测硬件的测试结果。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的硬件测试方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述硬件测试装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

相关技术
  • 一种硬件测试方法、装置、电子设备及存储介质
  • 基于区块链的硬件测试方法及装置、存储介质和电子设备
技术分类

06120112175366