软件平台的测试方法及装置、存储介质及电子装置与流程
未命名
07-27
阅读:108
评论:0
1.本技术实施例涉及计算机领域,具体而言,涉及一种软件平台的测试方法及装置、存储介质及电子装置。
背景技术:
2.存储服务器中,对于外围器件的管理中包含了各种器件异常或者链路故障的异常告警。对基板管理控制器(baseboard management controller,简称bmc)软件功能是否正常进行测试时,需要构造器件或链路故障,例如破坏当前主板上的器件,在链路上焊接接地线来构造故障。这种通过实际物理注入的方式费时费力,并且会浪费部分器件,造成资金的浪费。
3.由此可见,相关技术中的软件平台的测试方法,存在由于需要实际物理构造器件或链路故障导致的资源浪费的问题。
技术实现要素:
4.本技术实施例提供了一种软件平台的测试方法及装置、存储介质及电子装置,以至少解决相关技术中的软件平台的测试方法存在由于需要实际物理构造器件或链路故障导致的资源浪费的问题。
5.根据本技术的一个实施例,提供了一种软件平台的测试方法,包括:在软件平台的运行模式为测试模式的情况下,调用所述软件平台的对外接口,通过所述对外接口接收待注入的测试对象;将所述待注入的测试对象注入所述软件平台的测试位;通过所述测试对象对所述软件平台进行测试。
6.可选地,将所述待注入的测试对象注入所述软件平台的测试位,包括:在所述测试对象为数据的情况下,将所述待注入的数据注入所述软件平台的数据位,其中,所述测试位包括所述数据位;在所述测试对象为链路状态的情况下,将所述待注入的链路状态注入所述软件平台的状态位,其中,所述测试位包括所述状态位。
7.可选地,所述方法还包括:使用第一标记位对所述数据位上注入的数据进行标记,以指示所述数据位上的数据为注入的数据;使用第二标记位对所述状态位上注入的链路状态进行标记,以指示所述状态位上的链路状态为注入的链路状态。
8.可选地,所述方法还包括:在所述软件平台的运行模式从所述测试模式切换为产品模式的情况下,清除所述数据位、所述第一标记位,以及所述状态位、所述第二标记位。
9.可选地,调用所述软件平台的对外接口之后,所述方法还包括:在所述对外接口被调用,且所述对外接口未注入所述数据的情况下,与待测试器件进行信息交互,从所述待测试器件采集数据;在所述对外接口被调用,且所述对外接口未注入所述链路状态的情况下,与驱动进行信息交互访问链路,得到链路状态。
10.可选地,所述方法还包括:在所述软件平台当前的运行模式为所述产品模式,且所述对外接口被调用的情况下,输出提示消息,其中,所述提示消息用于指示在所述产品模型
下不支持注入所述测试对象。
11.可选地,所述方法还包括:在所述软件平台的运行模型为产品模式的情况下,与待测试器件进行信息交互,从所述待测试器件采集数据;在所述软件平台的运行模式为产品模式的情况下,与驱动进行信息交互访问链路,得到链路状态。
12.可选地,所述通过所述测试对象对所述软件平台进行测试,包括:将所述测试位上注入的所述测试对象发送至所述软件平台的逻辑层;通过所述逻辑层对所述测试对象进行处理,得到处理结果;在所述处理结果与已知结果一致的情况下,确定所述软件平台的功能正常,否则确定所述软件平台的功能异常。
13.根据本技术的又一个实施例,提供了一种软件平台的测试装置,包括:调用单元,用于在软件平台的运行模式为测试模式的情况下,调用所述软件平台的对外接口,通过所述对外接口接收待注入的测试对象;注入单元,用于将所述待注入的测试对象注入所述软件平台的测试位;测试单元,用于通过所述测试对象对所述软件平台进行测试。
14.根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
15.根据本技术的又一个实施例,还提供了计算机程序产品,所述计算机程序产品包括一条或多条指令,所述一条或多条指令可以由处理器执行,以实现如上述任一项方法实施例中的步骤。
16.根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
17.通过本技术实施例,采用对软件平台的测试对象进行注入的方式,通过在测试模式下,调用软件平台的对外接口接收待注入的测试对象,将测试对象注入软件平台的测试位,以通过所述测试对象对软件平台的功能进行测试。由于测试对象是通过对外接口注入到软件平台的,无需破坏当前主板上的器件或者在链路上焊接接地线来构造故障,这样可以避免现有技术中构造器件或者链路故障导致的资源浪费的问题,可以实现通过对外接口注入测试对象对软件平台进行测试的目的,达到节约资源的技术效果,进而解决了相关技术中由于需要实际物理构造器件或链路故障导致的资源浪费的问题。
附图说明
18.图1是根据本技术实施例的一种服务器的网络架构示意图;
19.图2是根据本技术实施例的一种软件平台的测试方法的流程图;
20.图3是根据本技术实施例的另一种软件平台的测试方法的流程图;
21.图4是根据本技术实施例的一种软件平台的测试装置的结构框图。
具体实施方式
22.下文中将参考附图并结合实施例来详细说明本技术的实施例。
23.需要说明的是,本技术实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
24.本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本技术实施例的一种软件平台的测试方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
25.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本技术实施例中的软件平台的测试方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
26.传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
27.根据本技术实施例的一个方面,提供了一种软件平台的测试方法,以由计算机终端来执行本实施例中的软件平台的测试方法为例,图2是根据本技术实施例的软件平台的测试方法的流程图,如图2所示,该流程包括如下步骤:
28.步骤s202,在软件平台的运行模式为测试模式的情况下,调用所述软件平台的对外接口,通过所述对外接口接收待注入的测试对象。
29.本实施例中的软件平台的测试方法可以应用到任一器件管理软件平台的测试场景。上述器件管理软件平台负责器件的管理。具体的,从器件的上电时刻开始,该器件的所有部件都可以归器件管理软件平台进行管理。
30.举例来说,上述器件为服务器,器件软件平台为基板管理控制器软件(baseboard management controller,简称bmc软件),bmc软件是该服务器单板的管家。bmc是一款服务器上电起始即运行的软件,可以运行在服务器上单独的arm芯片上,服务器插上电源线bmc软件便开始运行。
31.bmc软件是用于监控和管理服务器的专用控制器,可以用于以下四个方面:
32.(1)设备信息管理:主要用于记录服务器信息(型号、制造商、日期、各部件生产和技术信息、机箱信息、主板信息等)、bmc信息(服务器主机名、ip、bmc固件版本等信息);
33.(2)服务器状态监控管理:bmc主要用于服务器各个部件(例如,cpu、内存、硬盘、风扇、机框等)的温度、电压等健康状态进行检测,可以根据各个温度采集点情况实时调整风扇转速保证服务器不产生过温、控制总体功耗不过高。如果服务器部件出现异常,可以通过协议(例如:snmp协议、smtp协议、redfish协议等)及时上报给上层网管,以便运维人员及时
处理异常。
34.(3)服务器的远程控制管理:服务器的开关机、重启、维护、固件更新、系统安装等;
35.(4)维护管理:日志管理、用户管理、bios管理、告警管理等。
36.从功能上来讲,bmc主要用于采集单个服务器上的各种信息,例如cpu温度,同时可以提供给上层运维网管软件。主要有两种手段,第一种bmc可以提供各种各样的接口供上层网管查询,如web、命令行等人机交互接口。第二种可以是主动上报,当检测到有故障产生时,bmc可以通过snmp trap消息、stmp邮件消息、redfish http jison报文等手段上报给上层网管软件的服务器,以便运维人员及时识别处理故障。通常情况下,bmc软件上报的消息中可以明确的指出具体是哪个部件产生了故障,以及处理建议等等。
37.在相关技术中,对bmc软件功能进行测试时,需要构造服务器部件的异常,例如,通过运行cpu使得cpu温度过高,通过bmc软件采集cpu温度,验证bmc软件能否调整风扇转速使得cpu降温。如果bmc软件能够对cpu温度进行调整,证明bmc软件的功能正常,否则bmc软件功能异常。而现有技术中的这种方式需要通过给cpu升温来构造cpu故障,此种方式增加了cpu故障,存在浪费资源的问题。
38.又例如,在实际应用场景中物理构造链路的异常,通过bmc软件与驱动进行交互,访问该条异常的链路,验证bmc软件能否检测出该条链路异常。如果bmc软件检测出该条链路异常,证明bmc软件的功能正常,否则bmc软件功能异常。而现有技术中的这种方式需要物理构造出异常的链路,而构造异常链路存在浪费资源的问题。
39.在本实施例中,为bmc软件平台提供了测试模式,bmc软件在测试模式下,通过调用对外接口支持注入测试对象(包括但不限于数据、链路状态)。具体地,可以通过自动化脚本实现测试对象的注入,通过自动化脚本,使用特定的描述性语言指令,手动打桩修改数据或链路状态,将数据、链路状态注入bmc软件平台,将注入的数据、链路状态发送至bmc软件平台,以对bmc系统逻辑进行测试。
40.本实施例提出了一种存储服务器bmc的软件故障注入方法,用于测试bmc系统逻辑时方便操作,同时可以满足自动化脚本对于功能的稳定性测试和压力测试。
41.步骤s204,将所述待注入的测试对象注入所述软件平台的测试位;
42.上述测试对象包括但不限于:数据(例如:温度)、链路状态。
43.对于上述测试对象为数据的情况,将所述待注入的数据注入软件平台的数据位;使用第一标记位对所述数据位上注入的数据进行标记,以指示数据位上的数据为注入的数据。
44.在bmc的软件中支持注入的数据,在测试模式下使用一个标记位(第一标记位)来标记是否有数据注入,一个数据位来接收注入的数据。
45.举例来说,假设测试对象是cpu温度,通过手动修改自动化脚本文件中cpu温度(可根据实际需求将cpu温度修改为任意值),在bmc软件可以调用对外接口,通过对外接口读取自动化脚本文件中cpu温度值,将cpu温度值注入到数据位,并通过标记位对该cpu温度值进行标记,表示该cpu温度值是注入的数据。将注入的cpu温度值发送至bmc逻辑层,测试bmc系统逻辑功能是否正常。
46.对于上述测试对象为链路状态的情况,将待注入的链路状态注入软件平台的状态位;使用第二标记位对状态位上注入的链路状态进行标记,以指示状态位上的链路状态为
注入的链路状态。
47.在bmc的软件中支持注入的链路状态,同样使用一个标记位(第二标记位)来标记链路状态是否有注入,一个状态位来接收注入的状态。
48.举例来说,假设测试对象是某条断开的链路,通过手动修改自动化脚本文件中链路状态使得该条链路处于断开状态,在bmc软件可以调用对外接口,通过对外接口读取自动化脚本文件中链路状态,将该链路状态注入到状态位,并通过标记位对该链路状态进行标记,表示该链路状态是注入的状态。将注入的链路状态发送至bmc逻辑层,测试bmc系统逻辑功能是否正常。
49.步骤s206,通过所述测试对象对所述软件平台进行测试。
50.具体地,将测试位上注入的测试对象发送至所述软件平台的逻辑层;通过逻辑层对测试对象进行处理,得到处理结果;在处理结果与已知结果一致的情况下,确定软件平台的功能正常,否则确定软件平台的功能异常。
51.以上述实施例中,注入的数据为cpu温度值为例,通常情况下,cpu温度的正常问温度范围小于70设摄氏度。假设注入的cpu温度值为80摄氏度(温度过高),将注入的cpu温度值发送至bmc逻辑层,验证bmc软件能否调整风扇转速使得cpu降温。如果bmc软件的处理结果是加大风扇转速使cpu降温,证明bmc软件的功能正常,否则bmc软件功能异常。
52.或者,以上述实施例中,注入的数据为链路状态为例,假设注入的链路状态为断路状态,将注入的链路状态发送至bmc逻辑层,验证bmc软件能否检测出该条链路为断路,如果能,证明bmc软件的功能正常,否则bmc软件功能异常。
53.通过本技术实施例,采用对软件平台的测试对象进行注入的方式,通过在测试模式下,调用软件平台的对外接口接收待注入的测试对象,将测试对象注入软件平台的测试位,以通过所述测试对象对软件平台的功能进行测试。由于测试对象是通过对外接口注入到软件平台的,无需破坏当前主板上的器件或者在链路上焊接接地线来构造故障,这样可以避免现有技术中构造器件或者链路故障导致的资源浪费的问题,可以实现通过对外接口注入测试对象对软件平台进行测试的目的,达到节约资源的技术效果,进而解决了相关技术中由于需要实际物理构造器件或链路故障导致的资源浪费的问题。
54.作为一个可选的实施方式,在所述软件平台的运行模式从所述测试模式切换为产品模式的情况下,清除所述数据位、所述第一标记位,以及所述状态位、所述第二标记位。
55.bmc软件提供两种模式:产品模式和测试模式。
56.产品模式,产品模式下不支持任何指令注入的信息(包括但不限于上述待注入的数据、待注入的链路状态等),全部按照产品需求实现功能。即对bmc软件功能进行测试时,需要构造物理异常。例如上述实施例中需要构造服务器部件的异常,在实际应用场景中物理构造链路的异常。
57.另一种为测试模式,即支持指令输入的信息(包括但不限于上述待注入的数据、待注入的链路状态等),如上述实施例中,通过脚本文件注入的数据和链路状态。
58.在本实施例中,提供对外接口,支持产品模式和测试模式两种模式的切换。在将待注入的数据注入软件平台的数据位之后,若软件平台的运行模式从测试模式切换为产品模式,则将数据位上注入的数据清除。在将待注入的链路状态注入软件平台的状态位之后,若软件平台的运行模式从测试模式切换为产品模式,则将状态位上注入的链路状态清除。
59.在使用第一标记位对数据位上注入的数据进行标记之后,若软件平台的运行模式从测试模式切换为产品模式,则将第一标记清除。使用第二标记位对状态位上注入的链路状态进行标记之后,若软件平台的运行模式从测试模式切换为产品模式,则将第二标记清除。
60.在上述实施例中,软件平台从测试模式切换产品模式下,清理注入的标记位(包括但不限于上述第一标记位和第二标记位),以及数据位上注入的数据和状态位上注入的链路状态位。通过及时清理数据,可以达到节约资源的效果。
61.作为一个可选的实施方式,调用所述软件平台的对外接口之后,所述方法还包括:在所述对外接口被调用,且所述对外接口未注入所述数据的情况下,与待测试器件进行信息交互,从所述待测试器件采集数据;在所述对外接口被调用,且所述对外接口未注入所述链路状态的情况下,与驱动进行信息交互访问链路,得到链路状态。
62.作为一个可选的实施方式,所述方法还包括:在所述软件平台的运行模型为产品模式的情况下,与待测试器件进行信息交互,从所述待测试器件采集数据;在所述软件平台的运行模式为产品模式的情况下,与驱动进行信息交互访问链路,得到链路状态。
63.测试模式下,对外接口被调用时,无数据注入的情况下,同产品模式相同,从其他器件(待测试器件)中获取数据,可以通过与待测试器件进行信息交互,对待测试器件进行数据采集。以上述实施例中cpu温度值为例,若测试模式下,调用对外接口,且无数据注入的情况下,bmc软件平台与服务器进行信息交互,bmc软件平台对cpu温度进行数据采集,避免产生不必要的故障。在有数据注入的情况下,bmc可以不再跟其他器件(待测试器件)交互,直接通过调用对外接口,从动态脚本文件中获取数据,并将数据注入数据位,将数据位上注入的数据返回给bmc逻辑层,以对bmc逻辑层的执行逻辑进行测试。
64.测试模式下,对外接口被调用时,如果没有链路状态注入,同产品模式相同,bmc软件平台与驱动交互,访问链路。在有链路状态注入的情况下,可以不与驱动交互,直直接通过调用对外接口,从动态脚本文件中获取链路状态,并将链路状态注入状态位,将状态位上注入的链路状态返回给bmc逻辑层,以对bmc逻辑层的执行逻辑进行测试。
65.作为一个可选的实施方式,所述方法还包括:在所述软件平台当前的运行模式为所述产品模式,且所述对外接口被调用的情况下,输出提示消息,其中,所述提示消息用于指示在所述产品模型下不支持注入所述测试对象。
66.bmc软件平台提供对外接口,支持外部进行指令下发注入。对外接口中要判定当前bmc运行模式,测试模式下支持数据和链路状态的注入,对外接口将注入的数据下发到数据位,将注入的链路状态下发到状态位,并通过标记位(第一标记位)对注入的数据进行标记,通过标记位(第二标记位)对注入的数据链路进行标记。产品模式下不支持注入功能,若在产品模式下,调用对外接口,则范虎提示消息,例如“notsupport”,该提示消息用户提示在产品模式下不支持通过对外接口注入数据或链路状态。
67.下面通过一个具体实施例说明本技术,如图3所示的流程图,包括以下步骤:
68.步骤s301,判断软件平台当前的运行模式,若运行模式为测试模式执行步骤s302至s308,若运行模式为产品模式执行步骤s309至s310;
69.在本实施例中为软件平台提供了两种模式:产品模式和测试模式,在测试模式下,软件平台支持通过指令注入数据和链路状态。在产品模式下不支持通过指令注入数据和链
路状态,需要实际物理构造器件故障和链路故障。软件平台支持产品模式和测试模式两种模式之间的切换。
70.步骤s302,调用对外接口,判断对外接口是否有注入的测试对象,有注入的测试对象的情况下,执行步骤s303,没有注入的测试对象的情况下,同产品模式,可以通过与器件进行信息交互,采集数据。例如,与服务器进行交互,采集cpu的温度值。也可以与驱动进行信息交互,访问链路,得到链路状态。
71.步骤s303,待注入的测试对象为数据的情况下,将待注入的数据注入到数据位,使用第一标记位对数据位上注入的数据进行标记;
72.其中,待注入的测试对象包括但不限于数据,例如上述实施例中的cpu温度,也可以是链路状态。以上述待测试对象为cpu温度为例,可以通过指令调用对外接口,从脚本文件中获取cpu温度,cpu温度可以根据实际需要手动进行修改。将从对外接口获取到的cpu温度注入到数据位,并通过数据位对该cpu温度进行标记,以指示该数据是通过注入得到的。由于脚本文件中的cpu温度可以手动修改,可以根据实际需要随意进行调整,无需构造物理器件故障,达到了节约资源的目的。
73.步骤s304,使用注入的数据对软件平台进行测试,继续执行步骤s307;
74.具体地,可以将数据位上的cpu温度发送至bmc的逻辑层,通过bmc的逻辑层对cpu温度进行处理。若bmc能准确识别出该cpu温度是否高温,并给出合理建议,则确定bmc软件的逻辑功能是正常的,否则确定bmc软件的逻辑功能存在异常。
75.步骤s305,待注入的对象为链路状态的情况下,将待注入的链路状态注入到状态位,使用第二标记位对状态位上注入的链路状态进行标记;
76.其中,待注入的测试对象包括但不限于链路状态,例如可以通过指令调用对外接口,从脚本文件中获取某条链路的链路状态,该链路状态可以根据实际需要手动进行修改。将从对外接口获取到的链路状态注入到状态位,并通过状态位对该链路状态进行标记,以指示该链路状态是通过注入得到的。由于脚本文件中的链路状态可以手动修改,可以根据实际需要随意进行调整,无需构造链路故障,达到了节约资源的目的。
77.步骤s306,使用注入的链路状态对软件平台进行测试,继续执行步骤s307;
78.具体地,可以将状态位上的链路状态发送至bmc的逻辑层,通过bmc的逻辑层对链路状态进行处理。若bmc能准确识别出该链路状态是否存在故障,并给出合理建议,则确定bmc软件的逻辑功能是正常的,否则确定bmc软件的逻辑功能存在异常。
79.步骤s307,判断是否切换为产品模式,是执行步骤步骤s308,否则结束。
80.本技术中的bmc支持测试模式和产品模式之间的模式切换,工作人员可以根据实际需要在两种模式之间进行切换。
81.步骤s308,清除数据位、第一标记位,以及状态位和第二标记位;
82.本技术中通过及时清理数据位、状态位和标记位,可以及时清理内存,达到节约资源的目的。
83.步骤s309,与待测试器件进行信息交互,采集数据;
84.在产品模式下,对bmc软件的逻辑功能进行测试时,需要实际物理构造器件故障或者链路故障。以上述cpu温度过高为例,需要通过运行cpu使得cpu升温,在cpu升温达到测试温度时,bmc软件与cpu进行信息交互,对cpu温度进行采集;
85.或者以链路故障为例,需要通过破坏某条实际物理链路,通过与驱动进行交互,访问该链路,得到链路状态。
86.步骤s310,使用采集的数据、访问的链路对软件平台进行测试,验证软件平台的逻辑层的功能是否正常。
87.通过上述实施例中提供的软件平台的测试方法,可以避免现有技术中物理注入数据和链路状态需要构造器件异常和链路异常的场景,由此导致的资源浪费的问题。本技术通过手动打桩修改数据和链路状态,通过bmc软件平台的对外接口获取数据和链路状态进行逻辑测试的方法,减少了不必要的器件损失和人工成本。而且可以实现自动化脚本的校准注入,为自动化测试提供了基础。
88.bmc管理子系统基于智能带外管理接口(ipmi),增强了网络传输中的安全与加密功能。此外,基于web的用户界面(web ui),远程桌面显示和操控界面(kvm)和虚拟介质(vitual media)等技术大大加强了服务器的远程监控和部署管理的易用性和灵活性。
89.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
90.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例的方法。
91.根据本技术实施例的又一方面,还提供了一种软件平台的测试装置,该装置用于实现上述实施例中所提供的软件平台的测试方法,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
92.图4是根据本技术实施例的一种软件平台的测试装置的结构框图,如图4所示,该装置包括:
93.调用单元单元402,用于在软件平台的运行模式为测试模式的情况下,调用所述软件平台的对外接口,通过所述对外接口接收待注入的测试对象;
94.第一确定单元404,用于将所述待注入的测试对象注入所述软件平台的测试位;
95.第一执行单元406,用于通过所述测试对象对所述软件平台进行测试。
96.通过本技术,采用对软件平台的测试对象进行注入的方式,通过在测试模式下,调用软件平台的对外接口接收待注入的测试对象,将测试对象注入软件平台的测试位,以通过所述测试对象对软件平台的功能进行测试。由于测试对象是通过对外接口注入到软件平台的,无需破坏当前主板上的器件或者在链路上焊接接地线来构造故障,这样可以避免现有技术中构造器件或者链路故障导致的资源浪费的问题,可以实现通过对外接口注入测试对象对软件平台进行测试的目的,达到节约资源的技术效果,进而解决了相关技术中由于
需要实际物理构造器件或链路故障导致的资源浪费的问题。
97.可选地,上述装置还用于通过如下方式实现将所述待注入的测试对象注入所述软件平台的测试位:在所述测试对象为数据的情况下,将所述待注入的数据注入所述软件平台的数据位,其中,所述测试位包括所述数据位;在所述测试对象为链路状态的情况下,将所述待注入的链路状态注入所述软件平台的状态位,其中,所述测试位包括所述状态位。
98.可选地,上述装置还用于使用第一标记位对所述数据位上注入的数据进行标记,以指示所述数据位上的数据为注入的数据;使用第二标记位对所述状态位上注入的链路状态进行标记,以指示所述状态位上的链路状态为注入的链路状态。
99.可选地,上述装置还用于在所述软件平台的运行模式从所述测试模式切换为产品模式的情况下,清除所述数据位、所述第一标记位,以及所述状态位、所述第二标记位。
100.可选地,上述装置还用于调用所述软件平台的对外接口之后,在所述对外接口被调用,且所述对外接口未注入所述数据的情况下,与待测试器件进行信息交互,从所述待测试器件采集数据;在所述对外接口被调用,且所述对外接口未注入所述链路状态的情况下,与驱动进行信息交互访问链路,得到链路状态。
101.可选地,上述装置还用于在所述软件平台当前的运行模式为所述产品模式,且所述对外接口被调用的情况下,输出提示消息,其中,所述提示消息用于指示在所述产品模型下不支持注入所述测试对象。
102.可选地,上述装置还用于在所述软件平台的运行模型为产品模式的情况下,与待测试器件进行信息交互,从所述待测试器件采集数据;在所述软件平台的运行模式为产品模式的情况下,与驱动进行信息交互访问链路,得到链路状态。
103.可选地,上述装置还用于通过如下方式实现所述通过所述测试对象对所述软件平台进行测试:将所述测试位上注入的所述测试对象发送至所述软件平台的逻辑层;通过所述逻辑层对所述测试对象进行处理,得到处理结果;在所述处理结果与已知结果一致的情况下,确定所述软件平台的功能正常,否则确定所述软件平台的功能异常。
104.根据本技术实施例的又一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
105.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
106.根据本技术实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
107.在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
108.根据本技术实施例的又一方面,还提供了一种计算机程序产品,计算机可读存储介质中存储有计算机程序,其中,计算机程序被处理器执行时实现上述软件平台的测试的方法的步骤。
109.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,
本实施例在此不再赘述。
110.显然,本领域的技术人员应该明白,上述的本技术实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本技术实施例不限制于任何特定的硬件和软件结合。
111.以上所述仅为本技术的优选实施例而已,并不用于限制本技术实施例,对于本领域的技术人员来说,本技术实施例可以有各种更改和变化。凡在本技术实施例的原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术实施例的保护范围之内。
技术特征:
1.一种软件平台的测试方法,其特征在于,包括:在软件平台的运行模式为测试模式的情况下,调用所述软件平台的对外接口,通过所述对外接口接收待注入的测试对象;将所述待注入的测试对象注入所述软件平台的测试位;通过所述测试对象对所述软件平台进行测试。2.根据权利要求1所述的方法,其特征在于,将所述待注入的测试对象注入所述软件平台的测试位,包括:在所述测试对象为数据的情况下,将所述待注入的数据注入所述软件平台的数据位,其中,所述测试位包括所述数据位;在所述测试对象为链路状态的情况下,将所述待注入的链路状态注入所述软件平台的状态位,其中,所述测试位包括所述状态位。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:使用第一标记位对所述数据位上注入的数据进行标记,以指示所述数据位上的数据为注入的数据;使用第二标记位对所述状态位上注入的链路状态进行标记,以指示所述状态位上的链路状态为注入的链路状态。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述软件平台的运行模式从所述测试模式切换为产品模式的情况下,清除所述数据位、所述第一标记位,以及所述状态位、所述第二标记位。5.根据权利要求2所述的方法,其特征在于,调用所述软件平台的对外接口之后,所述方法还包括:在所述对外接口被调用,且所述对外接口未注入所述数据的情况下,与待测试器件进行信息交互,从所述待测试器件采集数据;在所述对外接口被调用,且所述对外接口未注入所述链路状态的情况下,与驱动进行信息交互访问链路,得到链路状态。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述软件平台当前的运行模式为产品模式,且所述对外接口被调用的情况下,输出提示消息,其中,所述提示消息用于指示在所述产品模型下不支持注入所述测试对象。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:在所述软件平台的运行模型为产品模式的情况下,与待测试器件进行信息交互,从所述待测试器件采集数据;在所述软件平台的运行模式为产品模式的情况下,与驱动进行信息交互访问链路,得到链路状态。8.根据权利要求1至6中任一项所述的方法,其特征在于,所述通过所述测试对象对所述软件平台进行测试,包括:将所述测试位上注入的所述测试对象发送至所述软件平台的逻辑层;通过所述逻辑层对所述测试对象进行处理,得到处理结果;在所述处理结果与已知结果一致的情况下,确定所述软件平台的功能正常,否则确定所述软件平台的功能异常。
9.一种软件平台的测试装置,其特征在于,包括:调用单元,用于在软件平台的运行模式为测试模式的情况下,调用所述软件平台的对外接口,通过所述对外接口接收待注入的测试对象;注入单元,用于将所述待注入的测试对象注入所述软件平台的测试位;测试单元,用于通过所述测试对象对所述软件平台进行测试。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至8任一项中所述的方法的步骤。11.一种计算机程序产品,其特征在于,所述计算机程序产品包括一条或多条指令,所述一条或多条指令可以由处理器执行,以实现如权利要求1至8任一项所述方法所执行的操作。12.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至8任一项中所述的方法的步骤。
技术总结
本申请实施例提供了一种软件平台的测试方法及装置、存储介质及电子装置,其中,该软件平台的测试方法包括:在软件平台的运行模式为测试模式的情况下,调用所述软件平台的对外接口,通过所述对外接口接收待注入的测试对象;将所述待注入的测试对象注入所述软件平台的测试位;通过所述测试对象对所述软件平台进行测试。通过本申请实施例,解决了相关技术中的进程间通信软件平台的测试方法存在由于由于需要实际物理构造器件或链路故障导致的资源浪费的问题。浪费的问题。浪费的问题。
技术研发人员:朱绍霞
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.04.06
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
