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

技术领域

本申请实施例涉及自动化测试技术,涉及但不限于测试方法及装置、设备、存储介质。

背景技术

对物理层(Physical,PHY)的模块测试(module test),主要发生在第五代移动通信技术(5th-Generation wireless communication technology,5G)新空口(New Radio,NR)的PHY开发初期,属于一种模块间的单元测试。然而,在测试阶段,却存在测试文件开发成本高的问题,比如,5G Modem芯片的物理层子系统(Physical Subsystem,PHY SS)的小区搜索和测量(Cell Searcher and Measurement,CSM)模块对应有50个测试用例,编写测试代码需要2人月的工作量;并且,还存在后期维护困难的问题,比如,测试5G Modem芯片的物理层子系统的CSM模块,涉及的混合多核通信协议(Hybrid Multi-core Communication,HMCC)消息有20个左右,而某个消息的修改需要涉及10个左右相关测试代码文件的修改。

发明内容

有鉴于此,本申请实施例提供的测试方法及装置、设备、存储介质,能够提高降低测试文件的开发成本以及后期维护成本。本申请实施例提供的测试方法及装置、设备、存储介质是这样实现的:

本申请实施例提供的测试方法,包括:在当前待测模块的测试消息与其它待测模块的测试消息相同的情况下,获得包括所述测试消息的公共测试文件,所述公共测试文件用于通过所述测试消息测试所述当前待测模块或所述其它待测模块;修改所述公共测试文件中的配置参数,得到目标测试文件;其中,修改后的配置参数包括在测试所述当前待测模块时需启动的关联模块的信息;运行所述目标测试文件,从而通过所述测试消息对所述当前待测模块进行测试。

本申请实施例提供的测试装置,包括:获得单元,用于在当前待测模块的测试消息与其它待测模块的测试消息相同的情况下,获得包括所述测试消息的公共测试文件,所述公共测试文件用于通过所述测试消息测试所述当前待测模块或所述其它待测模块;修改单元,用于修改所述公共测试文件中的配置参数,得到目标测试文件;其中,修改后的配置参数包括在测试所述当前待测模块时需启动的关联模块的信息;运行单元,用于运行所述目标测试文件,从而通过所述测试消息对所述当前待测模块进行测试。

本申请实施例提供的电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例所述的方法。

本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的所述的方法。

在本申请实施例中,多个不同的待测模块所使用的某一测试消息相同的情况下,仅需对相应的公共测试文件中的配置参数进行适应性修改,即可实现对当前待测模块的测试;如此,一方面,能够降低测试文件的开发成本,提高测试人员的工作效率;另一方面,使得后期维护成本也大大降低。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。

图1为本申请实施例提供的测试方法的实现流程示意图;

图2为本申请实施例方案1和方案2的对比示意图;

图3为本申请实施例目标测试文件的运行过程示意图;

图4为本申请实施例目标测试文件的另一运行过程示意图;

图5为本申请实施例测试反馈管理和波束管理(Feedback Management and BeamManagement,FBM)模块的流程示意图;

图6为本申请实施例终端的5G通信芯片的物理层的结构示意图;

图7为本申请实施例模块测试框架的工作流程示意图;

图8为本申请实施例模块测试框架的另一工作流程示意图;

图9为本申请实施例测试装置的结构示意图;

图10为本申请实施例提供的电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

需要指出,本申请实施例所涉及的术语“第一\第二\第三”用以区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

本申请实施例提供一种测试方法,该方法应用于电子设备,该电子设备在实施的过程中可以为各种具有无线通信功能的设备,例如所述电子设备可以包括手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备,以及各种形式的用户终端设备(Terminal Device,TD)或移动台(Mobile Station,MS)等。该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。

图1为本申请实施例提供的测试方法的实现流程示意图,如图1所示,该方法可以包括以下步骤101至步骤103:

步骤101,在当前待测模块的测试消息与其它待测模块的测试消息相同的情况下,获得包括所述测试消息的公共测试文件,所述公共测试文件用于通过所述测试消息测试所述当前待测模块或所述其它待测模块;

步骤102,修改所述公共测试文件中的配置参数,得到目标测试文件;其中,修改后的配置参数包括在测试所述当前待测模块时需启动的关联模块的信息。

所谓关联模块,是指所述测试消息到达所述当前待测模块所要经过的路径上的其它功能模块。举例来说,假设当前待测模块为模块F,测试消息需要经由模块A、模块B和模块C才能到达模块F,即测试消息的转发路径为模块A—>模块B—>模块C—>模块F。那么,可以将模块A、模块B和模块C称为模块F(即当前待测模块)的关联模块。

在一些实施例中,可以将除所述当前待测模块以外的所述关联模块在消息模拟器中启动。所述配置参数不仅包括要启动的关联模块的信息,还包括要启动的当前待测模块的信息,即配置参数指定要启动哪个待测模块,以及指定要启动哪些关联模块。

在一些实施例中,配置参数中还包括测试消息的处理参考(如在当前待测模块的期望接收时间和期望处理结果)。当然,配置参数还可以包括测试消息在各个关联模块的期望接收时间和期望处理结果。期望接收时间被模块用于确定接收消息时的时间是否符合预期,期望处理结果被模块用于确定接收消息被处理后是否符合预期,从而得到测试结果。

步骤103,运行所述目标测试文件,从而通过所述测试消息对所述当前待测模块进行测试。

在如下实施例中,提供了目标测试文件的运行过程,此处不再赘述。

在本申请实施例中,多个不同的待测模块所使用的某一测试消息相同的情况下,仅需对相应的公共测试文件中的配置参数进行适应性修改,即可实现对当前待测模块的测试;如此,一方面,能够降低测试文件的开发成本,提高测试人员的工作效率;另一方面,使得后期维护成本也大大降低。比如,上述测试消息1的修改,只需修改对应的公共测试文件即可。

比如,图2所示,方案1是这样的:利用测试消息1测试模块A需要单独编写测试文件1,利用测试消息1测试模块B也需要单独编写测试文件2,利用测试消息1测试模块C还需要单独编写测试文件3,也就是说,对于公共测试消息,测试不同的模块需要单独编写对应的测试文件,这样就大大增加了测试人员的工作负荷;而方案2是这样的:利用测试消息1测试的无论是测试模块A,还是测试模块B,还是测试模块C,均使用公共测试文件即可,也就是说,测试人员只需要编写一个测试文件即可。在实际测试中,测试人员只需适应性地修改公共测试文件中的配置参数即可使用,从而大大降低了测试人员的开发成本;可见,相比于方案1,方案2能够降低测试文件的开发成本,提高测试人员的工作效率。

进一步地,在一些实施例中,所述目标测试文件的运行过程,如图3所示,该过程包括以下步骤301至步骤303:

步骤301,根据所述修改后的配置参数,启动所述当前待测模块和所述关联模块。

通过步骤301即可完成消息状态机的构建,该消息状态机包括已启动的当前待测模块和所述关联模块。

在本申请实施例中,测试人员可以根据测试对象的不同,灵活修改公共测试文件中的配置参数。例如,在配置参数中指定要启动的本次待测模块和其关联模块,从而大大提高测试开发的可扩展性。

步骤302,将所述测试消息经过所述关联模块处理后发送至所述当前待测模块。

在一些实施例中,通过解析公共测试文件中的测试脚本得到该测试消息,并触发消息状态机开始运转,也就是实现步骤302。

进一步地,在一些实施例中,通过解析测试脚本获得该测试消息之后,触发该测试消息的注册,将测试消息注册在消息路由模块中,将测试消息在各个模块(包括关联模块和当前待测模块)的处理参考通过消息路由模块转发至对应模块进行注册;各个模块在注册成功之后将注册测试确认返回给公共测试文件中的测试控制端,测试控制端在接收到各个模块的注册确认之后,发送测试开始请求给消息路由模块。消息路由模块在接收到测试开始请求之后,将测试消息转发给消息状态机的入口模块(即消息转发路径上的第一个关联模块),如此,经过消息状态机的运转,最终将处理后的测试消息发送至当前待测模块。

步骤303,获得根据所述测试消息对所述当前待测模块的测试结果。

在本申请实施例中,对于测试结果由谁来确定不做限定。在一些实施例中,测试结果可以由当前待测模块来确定,当前待测模块比对处理后的测试消息的实际接收时间是否与期望接收时间一致;如果不一致,返回表征测试超时的测试结果给目标测试文件中的测试控制端;如果一致,对接收的处理后的测试消息进行处理,并将处理结果与期望处理结果比对,如果一致,返回表征测试正确的测试结果给测试控制端;如果不一致,返回表征处理结果错误的测试结果给测试控制端。

在另一些实施例中,测试结果还可以由目标测试文件中的测试控制端来实现。当前待测模块在接收到上一模块传输的消息时,返回实际接收时间给测试控制端,由测试控制端将该实际接收时间与期望时间做比对;以及,当前待测模块在对接收的消息处理之后,将处理结果返回给测试控制端,由测试控制端将该处理结果与期望处理结果做比对。

更进一步地,在一些实施例中,目标测试文件的运行过程,如图4所示,该过程包括以下步骤401至步骤405:

步骤401,根据所述修改后的配置参数,启动所述当前待测模块和所述关联模块;其中,所述配置参数还包括所述当前待测模块的第二处理参考;

步骤402,将所述测试消息注册在消息路由模块中;然后,进入步骤403;

步骤403,在注册完成后,控制所述消息路由模块将所述测试消息通过所述关联模块处理后发送至所述当前待测模块。

在一些实施例中,所述修改的配置参数还包括:各个关联模块对应的第一处理参考,该过程还包括:将所述测试消息在各个关联模块对应的第一处理参考注册在对应的关联模块中;相应地,可以这样实现步骤403:控制所述消息路由模块将所述测试消息发送至第一个关联模块,以使所述第一个关联模块对接收的所述测试消息进行处理,得到第一处理结果;如果所述测试消息的实际接收时间与所述第一处理参考中的期望接收时间一致、且所述第一处理结果与所述第一处理参考中的期望处理结果一致,触发所述消息路由模块将所述第一处理结果转发至下一个关联模块,直至最后一个关联模块得到的第二处理结果被发送至所述当前待测模块。

反之,如果所述测试消息的实际接收时间与所述第一处理参考中的期望接收时间不一致或者所述第一处理结果与所述第一处理参考中的期望处理结果不一致,正在运行的目标测试文件(例如测试控制端)接收该关联模块返回的第一测试结果;在所述第一测试结果表征测试错误的情况下,关闭所述当前待测模块和所述关联模块,或者,测试控制端再次控制所述消息路由模块将所述测试消息发送至第一个关联模块。

步骤404,将所述第二处理参考注册在所述当前待测模块中;

步骤405,接收所述当前待测模块返回的测试结果;其中,所述测试结果是所述当前待测模块根据接收的第二处理结果和所述第二处理参考而得到的。

在一些实施例中,当前待测模块比对第二处理结果的实际接收时间与第二处理参考中的期望接收时间是否一致;如果不一致,返回表征测试超时的测试结果给目标测试文件;如果一致,对第二处理结果进行处理,得到第三处理结果,当前待测模块比对第三处理结果与第二处理参考中的期望处理结果是否一致;如果一致,返回测试正确的测试结果给目标测试文件;如果不一致,返回处理结果错误的测试结果给目标测试文件。

在一些实施例中,所述当前待测模块为无线通信系统的终端的物理层的功能模块。

在本申请实施例中,对于无线通信系统的类型不做限定。例如,该无线通信系统为可以为第四代移动通信系统(the 4th generation mobile communication system,4G)、5G NR系统或未来的通信系统,也可以为其它各种无线通信系统,例如:窄带物联网(NarrowBand-Internet of Things,NB-IoT)系统、全球移动通讯系统(Global System ofMobilecommunication,GSM)、增强型数据速率GSM演进(Enhanced Data rate for GSMEvolution,EDGE)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、码分多址2000(Code Division Multiple Access,CDMA2000)系统、时分同步码分多址(Time Division-Synchronization Code Division Multiple Access,TD-SCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(LongTerm Evolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal MobileTelecommunication System,UMTS)等。

可以理解地,本申请实施例提供的公共测试文件可以应用于5G芯片Modem物理层的开发测试过程中,针对5G芯片的其它模块,比如对消息实时性要求较高,模块协同工作场景众多,各类信号控制类消息多元,配置组合繁多的情况下,均可以使用该技术方案来进行产品的模块测试用例的开发测试工作。

在一些实施例中,对PHY的模块测试,主要发生在NR PHY开发初期,属于一种模块间的单元测试。PHY子系统的各个模块开发进度不一致的情况下,需要对某些指定模块进行测试,比如对CSM模块进行测试,使用c语言编写的模块测试用例需要对其它模块比如FBM等与CSM模块交互的控制消息进行打桩(即通过单元测试接口实现),保证控制消息能够走到下一模块直至测试结束。例如,图5所示,开始测试FBM模块时,Layer1发送测试消息messageA给L1C;L1C基于message A确定测试结果(成功或失败),并反馈给上层,L1C发送测试消息message B给FBM模块;FBM模块基于message A确定测试结果(成功或失败),并反馈给上层,FBM模块发送测试消息message C给CSM模块,CSM模块基于message C确定测试结果,并返回给测试代码;测试代码对message C的返回结果打桩,然后返回测试结果。

一些模块测试方案,测试用例开发成本高,需要了解PHY子系统的业务流程涉及组件的接口细节,并且不同的测试用例会重复编写很多公共的信号控制流程。并且,测试用例的后期维护困难。一个公共的信号控制的消息码(比如请求消息request和确认消息confirm)对应数据载体(payload)的修改,需要修改多个相关的测试用例代码。

基于此,下面将说明本申请实施例在一个实际的应用场景中的示例性应用。

5G通信芯片(如Modem)的物理层系统是基于组件化架构的,这些组件通过基于一种HMCC消息来进行控制。如图6所示,终端的5G通信芯片的物理层主要包含以下组件:无线资源控制(Radio Resource Control,RRC)模块601、介质访问控制层(Media AccessControl,MAC)模块602、PHY Controller HL1C模块603、PHY Controller LL1C模块604、RRP模块605、共享信道译码(Shared Channel Decoder,SCHDEC)模块606、控制信道解码(Control Channel Decoder,CCHDEC)模块607、解调(Demodulation,DMD)模块608、CSM模块609、FBM模块610、发射(Transmitter,TX)模块611和PHY Controller HL1C模块612;其中,

模块603和模块604作为物理控制层(PHY Controller):处于Layer1和PHY SS之间,为它们提供接口进行通信,控制用户设备(User Equipment,UE)并且进行小区(cell)配置,从而控制其它组件(即其它模块)来进行各类信号控制。包括两种不同类型的控制类型:

(1)模块603作为物理控制层的上层,关注控制层的相关服务和过程;

(2)模块604作为物理控制层的下层,进行各种调度和PHY SS的配置下发。

需要说明的是,模块601和模块602作为Layer1,模块606至模块611作为PHY SS。

PHY SS:对物理控制层的消息进行各类控制信号的配置,这些控制信号在不同的组件(即模块606至模块611)中进行转发并处理。

CSM模块609:负责对LTE PSS/SSS层和NR SSB层的小区进行搜索和测量。

FBM模块610:对CSI进行反馈和波束(beam)的管理工作。

TX模块611:负责上行的数据传输的所有行为。

DEC:解码器,包含两种单独模块,即SCHDEC模块606和CCHDEC模块607,其中:

CCHDEC模块607:关注控制频道的解码工作。

SCHDEC模块606:关注下行数据频道的解码工作。

DMD模块606:负责下行频道的评估、下行控制和数据层解耦。

5G NR相对于4G LTE,在UE端的物理层看来,各组件间的配置更加灵活,组件间的控制信号也更多元,更复杂,当然对各类信号时序和延时要求更高。

在本申请实施例中,引入模块测试框架(module test framework),即公共测试文件,如图7所示,主要分为三个部分:测试脚本、测试控制端和模块测试端;其中,

测试脚本:使用类c语言格式编写,由脚本解析器解析并注册测试消息;

测试控制端(Test commander):负责控制测试框架的内部消息控制流以及负责激活消息状态机和终止消息状态机;

模块测试端(target module):使用消息状态机将测试过程中相关的模块消息进行模拟,并动态对模块间的消息进行打桩,保证测试消息过程的完整性,返回模块的测试结果给测试控制端(Test commander)。测试结果为测试成功或测试失败(包括携带失败的数据载体或者测试超时)。

如图8所示,模块测试框架的工作过程如下,包括步骤801至步骤805:

步骤801,模块测试框架启动后,根据配置参数动态将除当前待测模块以外的其它关联模块在消息模拟器中启动,等待外部消息触发消息状态机;

步骤802,测试脚本作为测试的触发点,将发送类消息(即测试消息)和接收类消息(即处理参考)发送到消息路由模块,消息路由模块将接收的消息转发给启动的其它关联模块,这些模块进行消息注册,注册成功后将注册测试确认发送回给测试控制端(Testcommander);

步骤803,测试控制端接收到所有模块的注册测试确认后,开始发送测试开始请求给消息路由模块。在模块测试端,各个模块模拟线程激活硬件时间中断器(模拟方式),每隔一段时间定期检查发送消息队列,并将发送消息通过消息路由模块发送给指定的目标模块,同时删除发送消息队列节点。各个模块模拟线程检查消息接收队列每个消息节点的期望时间与当前时间是否一致,否则发送测试超时错误给测试控制端(Test commander)。若发送和接收消息队列均为空,发送消息测试结束给测试控制端(Test commander);

步骤804,各个模块模拟线程接收到消息路由模块转发来的消息,检查接收类消息队列每个消息节点的期望时间与当前时间是否一致,如果不一致,发送测试超时错误给测试控制端;并且,检查节点消息内容(即期望内容)与当前收到的消息内容是否一致;如果不一致,返回表征消息内容错误的测试结果给测试控制端;如果消息节点的期望时间与当前时间一致,且节点消息内容与当前收到的消息内容一致,此时进入模块处理器,将接收消息(即当前收到的消息内容)进行下次转发;以及,从队列中删除该消息节点。

步骤805,若步骤804中的消息进入模块处理器,则进行与其它模块交互的消息转发,比如CSM向FBM转发消息驱动FBM模块的消息处理流程。

在本申请实施例中,模块测试框架的使用能够简化测试用例的编写,大大提高测试人员的工作效率。比如PHY SS的CSM模块有50个测试用例,使用相关技术方案编写测试代码,需要2人月的工作量,在本申请实施例的技术方案的支持下,开发周期缩减到0.7人月左右;

并且,后期维护成本大大降低。比如PHY SS的CSM涉及的HMCC消息有20个左右,某个消息的修改在原有方案中需要涉及10个左右相关测试代码文件的修改。使用新方案的情况下,针对修改消息关联的模块模拟器适配后,仅需要修改该消息引用的1个测试代码文件的修改即可。

在本申请实施例中,引入模块测试框架,将模块间测试的公共消息机制封装成统一框架,提高测试步骤的复用度;使用消息状态机机制,提高测试用例开发的灵活性和自动化程度;根据测试对象的不同,动态对其它待测模块自动打桩,大大提高测试开发的可扩展性。

本申请实施例的技术方案可以应用于5G芯片(如Modem)的物理层的开发测试过程中,针对5G芯片的其它模块,比如对消息实时性要求较高,模块协同工作场景众多,各类信号控制类消息多元,配置组合繁多的情况下,均可以使用该技术方案来进行产品的模块测试用例的开发测试工作。

基于前述的实施例,本申请实施例提供一种测试装置,该装置包括所包括的各单元,可以通过处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。

图9为本申请实施例测试装置的结构示意图,如图9所示,所述装置90包括获得单元901、修改单元902和运行单元903,其中:

获得单元901,用于在当前待测模块的测试消息与其它待测模块的测试消息相同的情况下,获得包括所述测试消息的公共测试文件,所述公共测试文件用于通过所述测试消息测试所述当前待测模块或所述其它待测模块;

修改单元902,用于修改所述公共测试文件中的配置参数,得到目标测试文件;其中,修改后的配置参数包括在测试所述当前待测模块时需启动的关联模块的信息;

运行单元903,用于运行所述目标测试文件,从而通过所述测试消息对所述当前待测模块进行测试。

在一些实施例中,运行单元903,包括启动子单元、发送子单元和获得子单元;其中,所述启动子单元,用于:根据所述修改后的配置参数,启动所述当前待测模块和所述关联模块;所述发送子单元,用于将所述测试消息经过所述关联模块处理后发送至所述当前待测模块;所述获得子单元,用于获得根据所述测试消息对所述当前待测模块的测试结果。

在一些实施例中,所述发送子单元,用于:将所述测试消息注册在消息路由模块中;以及在注册完成后,控制所述消息路由模块将所述测试消息通过所述关联模块处理后发送至所述当前待测模块。

在一些实施例中,所述修改的配置参数还包括:各个关联模块对应的第一处理参考,所述发送子单元,还用于:将所述测试消息在各个关联模块对应的第一处理参考注册在对应的关联模块中;控制所述消息路由模块将所述测试消息发送至第一个关联模块,以使所述第一个关联模块对接收的所述测试消息进行处理,得到第一处理结果;如果所述测试消息的实际接收时间与所述第一处理参考中的期望接收时间一致、且所述第一处理结果与所述第一处理参考中的期望处理结果一致,触发所述消息路由模块将所述第一处理结果转发至下一个关联模块,直至最后一个关联模块得到的第二处理结果被发送至所述当前待测模块。

在一些实施例中,所述发送子单元,还用于:接收所述关联模块返回的第一测试结果;在所述第一测试结果表征测试错误的情况下,关闭所述当前待测模块和所述关联模块。

在一些实施例中,所述修改后的配置参数还包括所述当前待测模块对应的第二处理参考,所述获得子单元,用于:将所述第二处理参考注册在所述当前待测模块中;接收所述当前待测模块返回的测试结果;其中,所述测试结果是所述当前待测模块根据接收的第二处理结果和所述第二处理参考而得到的。

在一些实施例中,所述当前待测模块为无线通信系统的终端的物理层的功能模块;其中,所述无线通信系统包括5G NR。

以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,本申请实施例中图9所示的测试装置对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。

需要说明的是,本申请实施例中,如果以软件功能单元的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

本申请实施例提供一种电子设备,图10为本申请实施例的电子设备的硬件实体示意图,如图10所示,所述电子设备100包括存储器1001和处理器1002,所述存储器1001存储有可在处理器1002上运行的计算机程序,所述处理器1002执行所述程序时实现上述实施例中提供的方法中的步骤。

需要说明的是,存储器1001配置为存储由处理器1002可执行的指令和应用,还可以缓存在处理器1002以及电子设备100中各单元待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。

本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的方法中的步骤。

本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的方法中的步骤。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 设备测试方法、装置、计算机设备和计算机可读存储介质
  • 车载蓝牙设备的测试方法、装置、电子设备及存储介质
技术分类

06120113178175