CN112241359B - 一种设备测试方法及设备 - Google Patents
一种设备测试方法及设备 Download PDFInfo
- Publication number
- CN112241359B CN112241359B CN201910652173.4A CN201910652173A CN112241359B CN 112241359 B CN112241359 B CN 112241359B CN 201910652173 A CN201910652173 A CN 201910652173A CN 112241359 B CN112241359 B CN 112241359B
- Authority
- CN
- China
- Prior art keywords
- test
- injection
- information
- scene
- equipment
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 731
- 238000002347 injection Methods 0.000 claims abstract description 491
- 239000007924 injection Substances 0.000 claims abstract description 491
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000012544 monitoring process Methods 0.000 claims abstract description 3
- 238000011084 recovery Methods 0.000 claims description 79
- 230000015654 memory Effects 0.000 claims description 44
- 230000005856 abnormality Effects 0.000 claims description 22
- 239000000758 substrate Substances 0.000 claims 1
- 238000007726 management method Methods 0.000 description 136
- 239000003795 chemical substances by application Substances 0.000 description 29
- 230000002159 abnormal effect Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 208000033748 Device issues Diseases 0.000 description 10
- 238000013515 script Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010998 test method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种设备测试方法及设备;该方法包括:接收测试设备发送的测试场景注入请求;从测试场景注入请求中,解析测试场景信息和待测试设备标识;获取待测试设备标识对应的待测试设备的注入代理设备;监控注入代理设备的注入状态,当注入状态为未注入状态时,将测试场景信息下发至注入代理设备,以使注入代理设备基于测试场景信息对待测试设备进行场景测试。通过本发明实施例,能够提升设备测试的智能性。
Description
技术领域
本发明涉及计算机领域中的信息处理技术,尤其涉及一种设备测试方法及设备。
背景技术
随着各种各样的设备的快速发展,对设备的要求也在逐渐提高,常需要设备在不平衡状态下仍然能保证所提供服务的稳定性。这里,不平衡状态指由于设备资源异常、网络异常、服务器进程异常和运营操作等异常场景使得设备进入的一种状态。因此,需要在将设备投入至应用之前,将该设备作为待测试设备进行异常场景下工作状态的测试。
一般来说,对待测试设备进行异常场景下工作状态的测试时,通常是通过人工设置异常场景来实现的,因此,设备测试的智能性低。
发明内容
本发明实施例提供一种设备测试方法及设备,能够提升设备测试的智能性。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种设备测试方法,应用于注入管理设备中,所述方法包括:
接收测试设备发送的测试场景注入请求;
从所述测试场景注入请求中,解析测试场景信息和待测试设备标识;
获取所述待测试设备标识对应的待测试设备的注入代理设备;
监控所述注入代理设备的注入状态,当所述注入状态为未注入状态时,将所述测试场景信息下发至所述注入代理设备,以使所述注入代理设备基于所述测试场景信息对所述待测试设备进行场景测试。
本发明实施例提供一种设备测试方法,应用于注入代理设备,所述注入代理设备部署在待测试设备上,所述方法包括:
接收注入管理设备下发的测试场景信息;所述测试场景信息为对所述待测试设备进行场景测试的信息;
获取注入状态,当所述注入状态为未注入状态时,从所述测试场景信息中,获取测试场景名称和测试场景参数;
从测试场景执行信息中,获取与所述测试场景名称对应的目标测试场景执行信息;所述测试场景执行信息为所述注入管理设备预先下发的用于实现场景测试的执行信息;
根据所述测试场景参数,执行所述目标测试场景执行信息,进行场景测试。
本发明实施例提供一种注入管理设备,所述注入管理设备包括:
第一存储器,用于存储可执行指令;
第一处理器,用于执行所述第一存储器中存储的可执行指令时,实现本发明实施例提供的设备测试方法。
本发明实施例提供一种注入代理设备,所述注入代理设备包括:
第二存储器,用于存储可执行指令;
第二处理器,用于执行所述第二存储器中存储的可执行指令时,实现本发明实施例提供的设备测试方法。
本发明实施例具有以下有益效果:通过在待测试设备上部署注入代理设备,并在测试设备和待测试设备之间增加注入管理设备,使得能够通过注入管理设备接收到测试设备发送的测试场景注入请求中的测试场景信息,并将测试场景信息分发至注入代理设备,从而注入代理设备能够执行与测试场景信息对应的目标测试场景执行信息,来对所述待测试设备进行场景测试,实现了一种利用注入管理设备和注入代理设备智能地完成通过测试设备对待测试设备进行异常测试的方案,因此,提升了设备测试的智能性。
附图说明
图1是本发明实施例提供的设备测试系统100的一个可选的架构示意图;
图2是本发明实施例提供的注入管理设备300的结构示意图;
图3是本发明实施例提供的注入代理设备500的结构示意图;
图4是本发明实施例提供的设备测试方法的一个可选的流程交互图;
图5是本发明实施例提供的一种示例性的实现设备测试的架构示意图;
图6a-6c是本发明实施例提供的示例性的实现场景测试的流程示意图;
图7是本发明实施例提供的一种下发测试场景执行信息的流程交互图;
图8是本发明实施例提供的一种恢复测试场景的流程交互图;
图9a-9d是本发明实施例提供的一种示例性的根据注入状态实现场景测试的流程示意图;
图10是本发明实施例提供的一种示例性的设备测试流程示意图一;
图11是本发明实施例提供的一种示例性的设备测试流程示意图二。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”和“本发明实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”和“本发明实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本发明实施例中所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本发明实施例中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)待测试设备:需要进行测试的目标机器,比如,业务系统中的某个分布式机器。
2)测试设备:用于对待测试设备进行测试的装置,比如,自动化测试工具。
3)场景注入:通过向待测试设备设置特定测试场景,以使待测试设备进行特定测试状态的过程,又称为场景测试。
4)场景恢复:将处于特定测试状态的待测试设备恢复至原本的状态的过程,又称为测试场景恢复。
需要说明的是,在对待测试设备进行测试时,比如,在对业务系统中的各分布式机器进行分布式测试时,功能测试是无法保证业务系统在各种异常场景下稳定地提供服务器的,需在测试过程中手动地通过构造异常的测试场景来验证业务系统在不平衡状态的运行情况;即手动地登录到待测试设备上,对待测试设备设置测试场景并执行(比如,增加异常的测试场景的测试脚本,输入用于进行异常测试的异常指令);也就是说,测试流程至少包含了登录、设置测试场景和测试场景执行的步骤,所以,测试流程长、速度低,如此,手动地设置测试场景时,不利于进行冒烟测试和回归测试等需要快速完成的测试需求;另外,手动地设置异常的测试场景时,容易有误(比如,异常指令输入错误),从而,容易导致测试中未出现的问题在线上环境中出现,测试效果差;此外,异常的测试场景繁多,手动地设置异常的测试环境时,无法构造出随机的异常的测试场景来触发业务系统的潜在问题,测试效果的全面性差。
基于此,本发明实施例提供一种设备测试方法及装置,能够简化异常的测试场景的设置过程、提高异常的测试场景的利用率,使得测试具有自动化和全面性。下面说明本发明实施例提供的注入管理设备和注入代理设备的示例性应用,本发明实施例提供的注入管理设备和注入代理设备均可以实施为智能手机、平板电脑、笔记本电脑等各种类型的用户终端,也可以实施为服务器。下面,将说明注入管理设备和注入代理设备均实施为终端时的示例性应用。
参见图1,图1是本发明实施例提供的设备测试系统100的一个可选的架构示意图,为实现支撑一个测试应用,待测试设备600(示例性示出了待测试设备600-1、待测试设备600-2和待测试设备600-3)上部署有注入代理设备500(示例性示出了注入代理设备500-1、注入代理设备500-2和注入代理设备500-3;并且,注入代理设备500-1部署在待测试设备600-1上,注入代理设备500-2部署在待测试设备600-2上,注入代理设备500-3部署在待测试设备600-3上),注入代理设备500通过网络400连接注入管理设备300,注入管理设备300连接测试设备200;这里,网络400可以是广域网或者局域网,又或者是二者的组合。此外,该测试系统100中,还包括数据库700,用于存储待测试设备的设备信息。
需要说明的是,测试设备200,用于通过生成测试场景注入请求实现对待测试设备600的测试;注入管理设备300,用于从测试设备200上获取测试场景注入请求,并将该测试场景注入请求分发至待测试设备600上的注入代理设备500;注入代理设备500,用于根据接收的测试场景注入请求对待测试设备500执行测试操作,实现测试的自动化。
参见图2,图2是本发明实施例提供的注入管理设备300的结构示意图,图2所示的注入管理设备300包括:至少一个第一处理器310、第一存储器350、至少一个第一网络接口320和第一用户接口330。注入管理设备300中的各个组件通过第一总线系统340耦合在一起。可理解,第一总线系统340用于实现这些组件之间的连接通信。第一总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为第一总线系统340。
第一处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第一用户接口330包括使得能够呈现媒体内容的一个或多个第一输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。第一用户接口330还包括一个或多个第一输入装置332,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第一存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的第一存储器350旨在包括任意适合类型的存储器。第一存储器350可选地包括在物理位置上远离第一处理器310的一个或多个存储设备。
在一些实施例中,第一存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第一操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第一网络通信模块352,用于经由一个或多个(有线或无线)第一网络接口320到达其他计算设备,示例性的第一网络接口320包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
第一显示模块353,用于经由一个或多个与第一用户接口330相关联的第一输出装置331(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第一输入处理模块354,用于对一个或多个来自一个或多个第一输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的装置可以采用软件方式实现,图2示出了存储在第一存储器350中的注入管理装置355,其可以是程序和插件等形式的软件,包括以下软件模块:请求获取模块3551、解析模块3552、设备获取模块3553、下发模块3554、注册模块3555和恢复下发模块3556,将在下文中说明各个模块的功能。
参见图3,图3是本发明实施例提供的注入代理设备500的结构示意图,图3所示的注入代理设备500包括:至少一个第二处理器510、第二存储器550、至少一个第二网络接口520和第二用户接口530。注入代理设备500中的各个组件通过第二总线系统540耦合在一起。可理解,第二总线系统540用于实现这些组件之间的连接通信。第二总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为第二总线系统540。
第二处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第二用户接口530包括使得能够呈现媒体内容的一个或多个第二输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个第二输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第二存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器,易失性存储器可以是随机存取存储器。本发明实施例描述的第二存储器550旨在包括任意适合类型的存储器。第二存储器550可选地包括在物理位置上远离第二处理器510的一个或多个存储设备。
在一些实施例中,第二存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第二操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第二网络通信模块552,用于经由一个或多个(有线或无线)第二网络接口520到达其他计算设备,示例性的第二网络接口520包括:蓝牙、无线相容性认证、和通用串行总线等;
第二显示模块553,用于经由一个或多个与第二用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第二输入处理模块554,用于对一个或多个来自一个或多个第二输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的装置可以采用软件方式实现,图3示出了存储在第二存储器550中的注入代理装置555,其可以是程序和插件等形式的软件,包括以下软件模块:信息接收模块5551、第一信息获取模块5552、第二信息获取模块5553、执行模块5554、设置模块5555和恢复模块5556,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的装置可以采用硬件方式实现,作为示例,本发明实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的设备测试方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
将结合本发明实施例提供的终端的示例性应用和实施,说明本发明实施例提供的设备测试方法。
参见图4,图4是本发明实施例提供的设备测试方法的一个可选的流程交互图,将结合图4示出的步骤进行说明。
S101、注入管理设备接收测试设备发送的测试场景注入请求。
在本发明实施例中,对待测试设备进行的测试,是通过测试设备发起的测试场景注入请求进行的;因此,当测试设备对待测试设备进行测试时,测试设备向注入管理设备发送测试场景注入请求,注入管理设备也就能够接收到测试设备发送的测试场景注入请求。这里,待测试设备可以是单个设备,还可以是业务系统中的设备集群,本发明实施例对此不作具体限定;而当待测试设备为设备集群时,测试场景注入请求为各子测试场景注入请求组成的集合,且各子测试场景注入请求与设备集群中的各设备一一对应。
需要说明的是,注入管理设备即上文的注入管理设备300,具有分发测试场景注入请求的功能,比如管理/代理(Master/Agent)架构中的Master;测试设备即上网的测试设备200,比如自动化测试工具等;测试场景注入请求用于请求对待测试设备设置测试场景来实现测试操作。
这里,注入管理设备接收测试设备发送的测试场景注入请求,包括两种方式:通用接口方式和命令窗口方式。
进一步地,当测试设备为自动化测试设备时,通过通用接口接收测试设备发送的测试场景注入请求,即通用接口方式,这里的通用接口指一个设备与另一个设备进行通信的统一接口,比如,RESTful API(Representational State Transfer ApplicationProgramming Interface,属性状态传递接口);而当测试设备为非自动化测试设备时,通过命令窗口接收测试设备发送的测试场景注入请求,即命令窗口方式,这里的命令窗口指用户访问一个设备的输入窗口,比如,CMD(Command,命令行)。
S102、注入管理设备从测试场景注入请求中,解析测试场景信息和待测试设备标识。
在本发明实施例中,当注入管理设备获得了测试场景注入请求之后,由于测试场景注入请求是用于对待测试设备进行测试的请求,因此,测试场景注入请求中应包括对哪个或哪些设备进行测试的标识,即待测试设备标识,以及,测试场景注入请求中还应包括对待测试设备进行怎么样的测试的信息,即测试场景信息;从而,注入管理设备从测试场景注入请求中,能够解析出测试场景信息和待测试设备标识。
需要说明的是,测试场景信息为与待测试设备的测试场景所关联的信息,比如,测试要求、测试参数和测试脚本,等等;待测试设备标识为能够对待测试设备进行标识的信息,比如,待测试设备的编号和待测试设备的地址,等等。
S103、注入管理设备获取待测试设备标识对应的待测试设备的注入代理设备。
在本发明实施例中,当注入管理设备获得了待测试设备标识之后,基于该待测试设备标识也就明确了待测试设备;又由于待测试设备上部署有注入代理设备,当注入管理设备明确了待测试设备之后,也就获得了待测试设备的注入代理设备。
需要说明的是,注入代理设备通过与注入管理设备进行通信来实现对待测试设备的场景测试,比如,管理/代理(Master/Agent)架构中的Agent。
S104、注入管理设备监控注入代理设备的注入状态,当注入状态为未注入状态时,将测试场景信息下发至注入代理设备,以使注入代理设备基于测试场景信息对待测试设备进行场景测试。
在本发明实施例中,当注入管理设备获得了注入代理设备之后,根据监控到的注入代理设备的注入状态确定是否向注入代理设备下发测试场景信息;这里,注入状态包括已注入状态和未注入状态两种。
当注入状态为已注入状态时,表明待测试设备当前正在进行场景测试,为使一种测试场景具备明确性,避免修改测试场景导致的测试用例的不确定,注入管理设备此时不再下发测试场景信息,而是等待注入状态更改为未注入状态时再向注入代理模块下发测试场景信息,或者向测试设备发送下发失败提示信息并结束本次设备测试。
当注入状态为未注入状态时,表明待测试设备当前并未进行场景测试,此时,注入管理设备就能够将测试场景信息下发到注入代理设备上,以使注入代理设备基于测试场景信息对待测试设备进行场景测试。
需要说明的是,注入状态指待测试设备的测试场景的注入状态,而已注入状态指待测试设备当前正处于测试场景的测试状态,未注入状态指待测试设备当前未处于测试场景的测试状态。
可以理解的是,注入管理设备根据注入状态控制测试场景向注入代理设备的下发,一方面,避免了测试场景的修改导致的测试用例的不确定性,提升了设备测试的准确性;另一方面,当注入状态为未注入状态时,从注入管理设备就终止测试场景信息的下发,节省了网络资源。
还可以理解的是,注入管理设备通过从测试设备上获取测试场景注入请求,并将该测试场景注入请求中的测试场景信息向注入代理设备分发,以使注入代理设备根据该测试场景信息进行待测试设备的场景测试,实现了待测试设备进行场景测试的自动化,提升了待测试设备测试的智能性。
相应地,当注入管理设备执行完S104之后,注入代理设备也就接收到了注入管理设备下发的测试场景信息;测试场景信息为对待测试设备进行场景测试的信息。也就是说,当注入管理设备将测试场景信息下发至注入代理设备之后,注入代理设备也就能够接收到注入管理设备下发的测试场景信息。
S105、注入代理设备获取注入状态,当注入状态为未注入状态时,从测试场景信息中,获取测试场景名称和测试场景参数。
在本发明实施例中,注入代理设备获得了注入管理设备下发的测试场景信息之后,根据注入代理设备自身的注入状态确定是否基于测试场景参数对待测试设备进行场景测试。这里,注入代理设备能够获得自身的注入状态。
当确定注入状态为已注入状态时,与注入管理设备根据注入状态向注入代理设备下发测试场景信息时一样,为使一种测试场景具备明确性,避免修改了测试场景导致测试用例的不确定,注入代理设备此时不再基于测试场景信息对待测试设备进行场景测试,而是等待注入状态更改为未注入状态时,再基于测试场景信息对待测试设备进行场景测试,或者通过注入管理设备向测试设备发送下发失败提示信息并结束本次设备测试。而当注入状态为未注入状态时,此时,注入代理设备能够基于测试场景信息对待测试设备进行场景测试,来实现设备测试。
需要说明的是,注入代理设备包括场景中间模块,该场景中间模块用于对注入状态进行设置。比如,当注入代理设备为管理/代理(Master/Agent)架构中的Agent时,该场景中间模块为Agent中的scene-broker。
可以理解的是,由于注入状态为注入代理设备自身的注入状态,注入管理设备监控到的注入代理设备的注入状态不一定是实时的,因此,在注入管理设备根据注入状态确定向注入代理设备下发测试场景信息之后,注入代理设备再次根据自身的注入状态确定是否基于测试场景信息对待测试设备进行场景测试,如此,实现了通过对注入状态的二次判断来实现对待测试设备的场景测试,更加有效避免了测试场景的修改导致的测试用例的不确定性,进一步提升了设备测试的准确性。
在本发明实施例中,当注入代理设备根据注入状态确定基于测试场景信息对待测试设备进行场景测试时,也就开启了场景测试进程;这里,测试场景信息中包括测试场景名称和测试场景参数,从而注入代理设备能够从测试场景信息中获得测试场景名称和测试场景参数。
需要说明的是,测试场景名称指待测试设备进行的场景测试的功能性名称,比如,处理器高使用率和网络高丢包率,等等;测试场景参数指待测试设备进行的场景测试所对应的测试参数,比如,处理器的使用率为90%和网络丢包率为10%,等等。
还需要说明的是,注入代理设备还包括场景工作模块,该场景工作模块用于根据开启的场景测试进程,执行场景测试。比如,当注入代理设备为管理/代理(Master/Agent)架构中的Agent时,该场景工作模块为Agent中的scene-worker。另外,场景中间模块还具有开启和关闭场景测试进程的功能。
S106、注入代理设备从测试场景执行信息中,获取与测试场景名称对应的目标测试场景执行信息;测试场景执行信息为注入管理设备预先下发的用于实现场景测试的执行信息。
在本发明实施例中,当注入代理设备获得了测试场景名称之后,由于注入代理设备中预先接收到了注入管理设备下发的用于实现测试场景的执行信息,即测试场景执行信息,比如,测试脚本信息;而测试场景执行信息对应存在预设测试场景名称;因此,注入代理设备通过将测试场景名称与预设测试场景名称进行匹配,预设测试场景名称中与测试场景名称匹配的目标测试场景名称所对应的测试场景执行信息,即目标测试场景执行信息。
S107、注入代理设备根据测试场景参数,执行目标测试场景执行信息,进行场景测试。
在本发明实施例中,注入代理设备获得了目标测试场景执行信息之后,这里,依据测试场景参数执行目标测试场景执行信息来进行待测试设备的场景测试。
示例性地,当测试场景参数为内存的占有率为90%,目标测试场景执行信息为请求内存的脚本信息时,不断执行该请求内存的脚本信息,直到达到内存的占用率为90%,此时,待测试设备也就进入了场景测试的状态。
参见图5,图5是本发明实施例提供的一种示例性的实现设备测试的架构示意图,如图5所示,测试设备提供了两种获取测试场景注入请求的方式:通用接口方式和命令窗口方式,当测试设备获得了测试场景注入请求之后,将测试场景注入请求中的测试场景信息向注入管理设备Master发送;这里,业务系统中包含了3台设备,其中节点5-1和节点5-2为待测试设备,节点5-3不是待测试设备,因此,注入管理设备Master接收到的测试场景注入请求中包含两个子测试场景注入请求,一个是请求对节点5-1进行场景测试,另一个是请求对节点5-2进行场景测试;接下来,注入管理设备Master根据两个子测试场景注入请求分别确定节点1的注入代理设备5-3和注入代理设备5-4,并将两个子测试场景注入请求分别对应的子测试场景信息下发至对应的注入代理设备(注入代理设备5-3和注入代理设备5-4),以使注入代理设备5-3根据接收到的子测试场景信息对节点1进行场景测试,注入代理设备5-4根据接收到的子测试场景信息对节点2进行场景测试。
可以理解的是,注入管理设备通过向注入代理设备下发测试场景信息,使得注入代理设备能够根据测试场景信息和预先存储的测试场景执行信息实现测试设备对待测试设备的场景测试,实现了设备测试的自动化,使得设备测试具备智能性。
进一步地,在本发明实施例中,S103注入管理设备获取待测试设备标识对应的待测试设备的注入代理设备,包括S103a-S103b,其中:
S103a、注入管理设备从预设设备标识和设备地址信息的对应关系中,获取与待测试设备标识对应的待测试设备地址信息。
在本发明实施例中,数据库存储的待测试设备的设备信息(比如,待测试设备的环境信息库或环境信息的配置文件中的机器信息)中,包括,预设设备标识和设备地址信息的对应关系,从而当注入管理设备解析出待测试设备标识时,将该待测试设备标识,与预设设备标识和设备地址信息的对应关系中的设备标识进行匹配,这里,匹配的设备标识所对应的设备地址信息即为与待测试设备标识对应的待测所设备地址信息。
S103b、注入管理设备依据待测试设备地址信息,确定待测试设备的注入代理设备。
需要说明的是,待测试设备标识仅是待测试设备的编号信息,比如,节点1,节点2;待测试设备地址信息为待测试设备的地址信息,比如,待测试设备的IP(InternetProtocol,互联网协议)地址;因此,注入管理设备需要根据待测试设备标识信息确定出待测试设备地址信息,才能依据待测试设备地址信息,确定出待测试设备,进而确定出待测试设备上部署的注入代理设备。
进一步地,本发明实施例中的测试场景信息为资源异常类型、网络异常类型、节点异常类型、数据库异常类型和操作异常类型组合中的至少一种。也就是说,注入管理设备向注入代理设备下发的测试场景信息可以为单场景测试对应的信息,也可以为场景集测试对应的信息。
需要说明的是,资源异常类型指待测试设备运行时自身的资源信息的异常,比如,处理器高负载、内存不足和磁盘不可读等;网络异常类型指待测试设备运行时所在网络中存在的异常,比如,网络丢包和网络延迟等;节点异常类型指待测试设备运行时的功能上对应的异常,比如,节点宕机、配置异常和进程异常等;数据库异常类型指待测试设备操作的数据库中存在的异常,比如,数据库表锁定或数据库行锁定等;操作异常类型指待测试设备接收到的异常操作导致的异常。
相应地,本发明实施例中,S107注入代理设备根据测试场景参数,执行目标测试场景执行信息,进行场景测试,包括:从测试场景信息中获取异常类型的注入信息,根据测试场景参数和异常类型的注入信息,执行目标测试场景执行信息,进行场景测试。
需要说明的是,注入代理设备在基于测试场景信息实现测试设备对待测试设备的场景测试时,即注入代理设备依据测试场景参数,执行目标测试场景执行信息,进行场景测试时,是基于测试场景信息所指的异常类型的注入信息进行各子目标测试场景执行信息的执行的,比如,同时执行、先后执行和延迟执行,又比如,资源抢夺的先后和进程的大小等。
示例性地,参见图6a-6c,图6a-6c是本发明实施例提供的示例性的实现场景测试的流程示意图。这里,当测试场景信息为处理器高负载(资源异常类型)测试场景和网络延迟(网络异常类型)测试场景,且测试场景信息中的异常类型的注入信息为同时注入10秒的处理器高负载测试场景和10秒的网络延迟测试场景,如图6a所示,注入代理设备接收到注入管理设备下发的测试场景信息为同时注入10秒的处理器高负载测试场景和10秒的网络延迟测试场景之后,在待测试设备上同时执行10秒的处理器高负载测试场景对应的子目标测试场景执行信息和10秒的网络延迟测试场景对应的子目标测试场景执行信息。
当测试场景信息为处理器高负载(资源异常类型)测试场景和网络延迟(网络异常类型)测试场景,且测试场景信息中的异常类型的注入信息为先后分别注入10秒的处理器高负载测试场景和10秒的网络延迟测试场景,如图6b所示,注入代理设备接收到注入管理设备下发的测试场景信息为先注入10秒的处理器高负载测试场景,再注入10秒的网络延迟测试场景之后,在待测试设备上先开启了执行10秒的处理器高负载测试场景对应的子目标测试场景执行信息之后,再开启执行10秒的网络延迟测试场景对应的子目标测试场景执行信息。
当测试场景信息为处理器高负载(资源异常类型)测试场景和网络延迟(网络异常类型)测试场景,且测试场景信息中的异常类型的注入信息为延迟注入10秒的处理器高负载测试场景和10秒的网络延迟测试场景,如图6c所示,注入代理设备接收到注入管理设备下发的测试场景信息为先注入10秒的处理器高负载测试场景和延迟5秒注入10秒的网络延迟测试场景之后,在待测试设备上先开启执行5秒的10秒处理器高负载测试场景对应的目标测试场景执行信息之后,再执行10秒的网络延迟测试场景对应的目标测试场景执行信息。
可以理解的是,本发明实施例中的测试场景是支持组合的,且可控组合中每个场景的组合形式和场景测试条件,如此,能够真实地模拟现场场景发生情况,提升了待测试设备的测试效果。
进一步地,在本发明实施例中,该设备测试方法还包括S108,其中:
S108、当根据测试场景参数,执行目标测试场景执行信息时,注入代理设备将注入状态设置为已注入状态。
需要说明的是,当注入代理设备进行场景测试时,即当根据测试场景参数,执行目标测试场景执行信息时,为了表明当前正在对待测试设备进行场景测试,注入代理设备将注入状态设置为已注入状态,此时,注入代理设备不再进行其他测试场景的设备测试。
进一步地,参见图7,图7是本发明实施例提供的一种下发测试场景执行信息的流程交互图,如图7所示,在本发明实施例中,S104注入管理设备将测试场景信息下发至注入代理设备之前,该设备测试方法还包括注入管理设备向注入代理设备下发测试场景执行信息的过程,即S109-S110,其中:
S109、注入管理设备接收测试设备发送的测试场景注册请求。
在本发明实施例中,同测试设备通过注入管理设备下发测试场景注入请求一样,在测试设备侧发起向注入代理设备下发测试场景执行信息的请求,即在测试设备侧发起测试场景注册请求,从而注入管理设备能够接受到测试设备发送的测试场景注册请求。
S110、注入管理设备从测试场景注册请求中,解析测试场景执行信息,将测试场景执行信息下发至注入代理设备。
在本发明实施例中,当注入管理设备获得测试场景注册请求之后,由于测试场景注册请求用于请求向注入代理设备下发测试场景执行信息,因此,测试场景注册请求中包含测试场景执行信息,从而,注入管理设备能够从测试场景注册请求中解析出测试场景执行信息。
需要说明的是,注入管理设备下发测试场景执行信息时,是针对目标设备下发的,这里,目标设备为业务系统中各设备组成的集合,而待测试设备属于目标设备。
在本发明实施例中,测试场景注册请求还包括待测试设备标识,从而注入管理设备能够将测试场景执行信息下发至注入代理设备,如此,注入代理设备在接受到注入管理设备下发的测试场景信息之后,就能够根据测试场景信息和测试场景信息对待测试设备进行场景测试。
相应地,在本发明实施例中,在S106中注入代理设备从测试场景执行信息中,依据测试场景名称,获取目标测试场景执行信息之前,该设备测试方法还包括:注入代理设备接收注入管理设备下发的测试场景执行信息。也就是说,当注入管理设备执行完S110而完成测试场景执行信息向注入代理设备的下发时,注入代理设备也就接收到了注入管理设备下发的测试场景执行信息。
可以理解的是,注入管理设备在将测试场景注入请求中的测试场景信息向注入代理设备下发之前,已完成了将用于进行场景测试的执行信息即场景测试执行信息向注入代理设备的下发,如此,每次对待测试设备进行场景测试时,仅需向注入代理设备下发测试场景信息即可,不必每次都针对不同的测试场景设置不同的执行信息,因此,提升了测试场景执行信息的重复利用性,也提高了设备测试的效率。
进一步地,在本发明实施例中,在S110注入管理设备接收测试设备发送的测试场景注册请求之后,该设备测试方法还包括S111,其中:
S111、注入管理设备从测试场景注册请求中,解析测试场景执行信息和测试场景恢复执行信息,将测试场景执行信息和测试场景恢复执行信息下发至注入代理设备。
需要说明的是,由于待测试设备进行场景测试之后,当场景测试完成后,需要对测试场景恢复,因此注入管理设备还需要向注入代理设备下发与测试场景执行信息对应的测试场景恢复执行信息。这里,测试场景恢复执行信息与测试场景执行信息的获取方式相同,也是从测试场景注册请求中解析出的:测试设备通过注入管理设备将测试场景执行信息和测试场景执行信息对应的测试场景恢复执行信息,下发至注入代理设备。
还需要说明的是,注入管理设备下发测试场景执行信息和测试场景恢复执行信息时,也是针对目标设备下发的。
相应地,在本发明实施例中,在S106中注入代理设备从测试场景执行信息中,依据测试场景名称,获取目标测试场景执行信息之前,该设备测试方法还包括:注入代理设备接收注入管理设备下发的测试场景执行信息和测试场景恢复执行信息。也就是说,当注入管理设备执行完S111而完成测试场景执行信息和测试场景恢复执行信息向注入代理设备的下发时,注入代理设备也就接收到了注入管理设备下发的测试场景执行信息和测试场景恢复执行信息。
进一步地,参见图8,图8是本发明实施例提供的一种恢复测试场景的流程交互图,如图8所示,在本发明实施例中,注入代理设备好具有对待测试设备进行测试场景恢复的功能;因此,S107注入代理设备根据测试场景参数,执行目标测试场景执行信息,进行场景测试之后,该设备测试方法还包括S112-S115,其中:
S112、注入代理设备获取测试场景恢复信息。
在本发明实施例中,注入代理设备对待测试设备的测试场景进行恢复时,是能够获取到的测试场景恢复信息进行的;也就是说,测试场景恢复信息表征用于对待测试设备的测试场景进行恢复的信息。
S113、注入代理设备从测试场景恢复执行信息中,获取与测试场景恢复信息对应的目标测试场景恢复执行信息。
在本发明实施例中,当注入代理设备获取到测试场景恢复信息之后,由于测试场景恢复信息指用于对待测试设备进行测试场景恢复的执行信息所对应的名称;从而将测试场景恢复信息与测试场景恢复执行信息对应的预设测试场景恢复名称进行匹配,所匹配的目标测试场景恢复名称对应的测试场景恢复执行信息,即注入代理设备从测试场景恢复执行信息中,获取到的与测试场景恢复信息对应的目标测试场景恢复执行信息。
S114、注入代理设备执行目标测试场景恢复执行信息,进行测试场景恢复。
在本发明实施例中,当注入代理设备获得了目标测试场景恢复执行信息之后,由于目标测试场景恢复执行信息为用于对待测试设备进行测试场景恢复的执行信息;因此,此时,注入代理设备通过执行该目标测试场景恢复执行信息,就能待测试设备的测试场景进行恢复。
S115、当完成测试场景恢复时,注入代理设备将注入状态设置为未注入状态。
在本发明实施例中,当注入代理设备完成了待测试设备的测试场景恢复之后,将注入状态设置为未注入状态,从而能够再次接收到注入管理设备下发的信息的测试场景信息来对待测试设备进行新的场景测试。
进一步地,在本发明实施例中,测试场景信息包括两种测试场景的注入方式:可控式注入和定时式注入;其中,可控式注入由测试设备通过注入管理设备通知注入代理设备对正在进行的测试场景进行恢复,此时,测试场景信息中不包括定时参数。从而,S112注入代理设备获取测试场景恢复信息,包括S112a-S112c,其中:
S112a、注入管理设备接收测试设备发送的测试场景恢复请求。
在本发明实施例中,针对可控式注入,在测试设备侧发起测试场景的恢复,此时,测试设备向注入管理设备发送用于恢复测试场景的请求,注入管理设备也就接收到了测试设备发送的测试场景恢复请求。
S112b、注入管理设备从测试场景恢复请求中,解析测试场景恢复信息。
在本发明实施例中,当注入管理设备活动测试场景恢复请求之后,由于测试场景恢复请求用于请求注入代理设备进行测试场景的恢复,因此,测试场景恢复请求中包含测试场景恢复信息,从而,注入管理设备能够从测试场景恢复请求中,解析出测试场景恢复信息。这里,测试场景恢复信息指测试场景恢复执行信息的名称。
S112c、注入管理设备将测试场景恢复信息下发至注入代理设备,以使注入代理设备基于测试场景恢复信息对待测试设备进行测试场景恢复。
在本发明实施例中,测试场景恢复请求还包括待测试设备标识,从而注入管理设备能够将测试场景执行信息下发至注入代理设备,如此,注入代理设备在接受到注入管理设备下发的测试场景恢复信息之后,就能够根据测试场景恢复信息和测试场景恢复执行信息对待测试设备进行测试场景的恢复。
相应地,在本发明实施例中,S112注入代理设备获取测试场景恢复信息,包括:注入代理设备接收注入管理设备发送的测试场景恢复信息。也就是说,当测试场景信息为可控式注入的方式时,注入管理设备执行完S112a-S112c时,注入代理设备也就获得了测试场景恢复信息,即注入代理设备通过接收注入管理设备下发的测试场景恢复信息来获取测试场景恢复信息。
可以理解的是,可控式注入方式的测试场景信息,能够实现测试设备对待测试设备的场景测试的控制,能够确保特定阶段内测试场景不变性。
另外,定时式注入由注入代理设备根据测试场景信息中的定时参数对正在进行的测试场景进行恢复,此时,测试场景信息中包括定时参数,用于触发对待测试设备的测试场景的恢复。从而,S112注入代理设备获取测试场景恢复信息,包括S112d-S112e,其中:
S112d、注入代理设备从测试场景信息中,获取定时参数。
在本发明实施例中,由于注入管理设备向注入代理设备下发的测试场景信息中还包括定时参数,因此,注入代理设备能够从测试场景信息中获取到定时参数。
示例性地,定时参数可以是时间参数,还可以是目标文件存在、预设处理器使用率等判定条件。
S112e、当满足定时参数对应的触发条件时,注入代理设备生成测试场景恢复信息。
在本发明实施例中,当注入代理设备获得了定时参数之后,从开始进行场景测试就对定时参数对应的触发条件进行判断,并在当满足定时参数对应的触发条件时,通过生成测试场景恢复信息对待测试设备的测试场景的恢复进行触发。
需要说明的是,定时式注入时,注入管理设备无需下发场景恢复信息,而是待达到定时参数对应的触发条件时,就结束场景测试,完成测试场景的恢复;通常适用于模拟短暂且随机的场景突现的情况下。
这里,在图8中,S112a-S112c与S112d-S112e为两个并列的执行流程,在实际应用时,选择其中一个流程进行执行:当测试场景信息中包含定时参数时,执行S112d-S112e;当测试场景信息中不包含定时参数时,执行S112a-S112c。
参见图9a-9d,图9a-9d是本发明实施例提供的一种示例性的根据注入状态实现场景测试的流程示意图;如图9a所示,测试场景信息为可控式注入方式,注入代理设备接收注入管理设备下发的处理器高负载的测试场景信息,启动处理器高负载的测试场景执行信息,对待测试设备进行处理器高负载的场景测试;此时,对于再次接收到的注入管理设备下发的网络丢包的测试场景信息,注入代理设备不进行响应。
如图9b所示,测试场景信息为可控式注入方式,注入代理设备接收注入管理设备下发的处理器高负载的测试场景信息,启动处理器高负载的测试场景执行信息,对待测试设备进行处理器高负载的场景测试;此时,当注入代理设备接收到注入管理设备下发的测试场景恢复信息时,停止执行处理器高负载的测试场景执行信息;接下来,注入代理设备接收注入管理设备下发的网络丢包的测试场景信息之后,启动网络丢包的测试场景执行信息,对待测试设备进行网络丢包的场景测试。
如图9c所示,测试场景信息为定时式注入方式,注入代理设备接收注入管理设备下发的10秒(定时参数)的处理器高负载的测试场景信息,启动处理器高负载的测试场景执行信息,对待测试设备进行处理器高负载的场景测试;在这10秒内,对于再次接收到的注入管理设备下发的网络丢包的测试场景信息,注入代理设备不进行响应。
如图9d所示,测试场景信息为定时式注入方式,注入代理设备接收注入管理设备下发的10秒(定时参数)的处理器高负载的测试场景信息,启动处理器高负载的测试场景执行信息,对待测试设备进行处理器高负载的场景测试;在这10秒后,对于注入代理设备注入管理设备下发的网络丢包的测试场景信息之后,启动网络丢包的测试场景执行信息,对待测试设备进行网络丢包的场景测试。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
参见图10,图10是本发明实施例提供的一种示例性的设备测试流程示意图一,如图10所示,测试设备对待测试设备进行的可控式场景测试,即测试场景信息为可控式注入方式时,首先,注入管理设备接收测试设备发送的对待测试设备的测试场景注入请求,并在监测到的注入状态为未注入状态时,将测试场景注入请求中的测试场景信息向注入代理下发;其次,注入代理设备判断注入状态为未注入状态时,通过场景中间模块开启场景测试进程,触发场景工作模块根据测试场景信息对待测试设备进行资源异常和数据库异常的场景测试;然后,场景中间模块将注入状态设置为已注入状态,以锁定对待测试设备场景测试的注入;再后,当注入代理设备接收到注入管理设备下发的测试场景恢复信息之后,在通过判断注入状态确定当前正在对待测试设备进行测试场景信息对应的场景测试时,关闭场景测试进程;接下来,场景工作模块根据测试测试场景恢复信息进行测试场景恢复;最后,场景中间模块将注入状态设置为未注入状态,以解锁对待测试设备场景测试的注入。
参见图11,图11是本发明实施例提供的一种示例性的设备测试流程示意图二,如图11所示,测试设备对待测试设备进行的定时式场景测试,即测试场景信息为定时式注入方式时,首先,注入管理设备接收测试设备发送的对待测试设备的测试场景注入请求,并在监测到的注入状态为未注入状态时,将测试场景注入请求中的测试场景信息向注入代理下发;其次,注入代理设备判断注入状态为未注入状态时,通过场景中间模块开启场景测试进程,触发场景工作模块根据测试场景信息对待测试设备进行网络异常的场景测试,这里,测试场景信息中包括定时参数10秒,从而在场景测试进程启动后,场景工作模块启动定时器开始计时;然后,场景中间模块将注入状态设置为已注入状态,以锁定对待测试设备场景测试的注入;再后,当定时器计时到10秒即计时完成时,场景中间模块关闭场景测试进程;接下来,场景工作模块根据测试测试场景恢复信息进行测试场景的恢复;以及,场景中间模块将注入状态设置为未注入状态,以解锁对待测试设备场景测试的注入,从而注入代理模块确定测试场景已恢复。最后,注入代理模块将测试场景已恢复的消息发送至注入管理模块。
可以理解的是,通过采用注入管理设备/注入代理设备的插件化方式对待测试设备进行场景测试,使得待测试设备的场景测试具备智能性,提升了设备测试效率,也提升亮度设备测试效果。
下面继续说明本发明实施例提供的注入管理装置355的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器340的注入管理装置355中的软件模块可以包括:
请求获取模块3551,用于接收测试设备发送的测试场景注入请求;
解析模块3552,用于从所述测试场景注入请求中,解析测试场景信息和待测试设备标识;
设备获取模块3553,用于获取所述待测试设备标识对应的待测试设备的注入代理设备;
下发模块3554,用于监控所述注入代理设备的注入状态,当所述注入状态为未注入状态时,将所述测试场景信息下发至所述注入代理设备,以使所述注入代理设备基于所述测试场景信息对所述待测试设备进行场景测试。
进一步地,所述设备获取模块3553,还用于从预设设备标识和设备地址信息的对应关系中,获取与所述待测试设备标识对应的待测试设备地址信息;以及依据所述待测试设备地址信息,确定所述待测试设备的所述注入代理设备。
进一步地,所述注入管理装置355还包括注册模块3555,用于接收所述测试设备发送的测试场景注册请求;并从所述测试场景注册请求中,解析测试场景执行信息,将所述测试场景执行信息下发至所述注入代理设备;或者,从所述测试场景注册请求中,解析测试场景执行信息和测试场景恢复执行信息,将所述测试场景执行信息和所述测试场景恢复执行信息下发至所述注入代理设备。
进一步地,所述注入管理装置355还包括恢复下发模块3556,用于接收所述测试设备发送的测试场景恢复请求;并从所述测试场景恢复请求中,解析测试场景恢复信息;以及将所述测试场景恢复信息下发至所述注入代理设备,以使所述注入代理设备基于所述测试场景恢复信息对所述待测试设备进行测试场景恢复。
进一步地,所述测试场景信息还包括定时参数;所述测试场景信息为资源异常类型、网络异常类型、节点异常类型、数据库异常类型和操作异常类型组合中的至少一种。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被第一处理器执行时,将引起第一处理器执行本发明实施例提供的应用于注入管理设备的方法。
下面继续说明本发明实施例提供的注入代理装置555的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器540的注入代理装置555中的软件模块可以包括:
信息接收模块5551,用于接收注入管理设备下发的测试场景信息;所述测试场景信息为对所述待测试设备进行测试的信息;
第一信息获取模块5552,用于获取注入状态,当所述注入状态为未注入状态时,从所述测试场景信息中,获取测试场景名称和测试场景参数;
第二信息获取模块5553,用于从测试场景执行信息中,获取与所述测试场景名称对应的目标测试场景执行信息;所述测试场景执行信息为所述注入管理设备预先下发的用于实现场景测试的执行信息;
执行模块5554,用于根据所述测试场景参数,执行所述目标测试场景执行信息,进行场景测试。
进一步地,所述注入代理装置555还包括设置模块5555,用于当根据所述测试场景参数,执行所述目标测试场景执行信息时,将所述注入状态设置为已注入状态。
进一步地,所述信息接收模块5551,还用于接收所述注入管理设备下发的所述测试场景执行信息;或者,接收所述注入管理设备下发的所述测试场景执行信息和测试场景恢复执行信息。
进一步地,所述注入代理装置555还包括恢复模块5556,用于获取测试场景恢复信息;并从所述测试场景恢复执行信息中,获取与所述测试场景恢复信息对应的目标测试场景恢复执行信息;以及执行所述目标测试场景恢复执行信息,进行测试场景恢复;最后,当完成测试场景恢复时,将所述注入状态设置为未注入状态。
进一步地,所述恢复模块5556,还用于接收所述注入管理设备发送的所述测试场景恢复信息。
进一步地,所述恢复模块5556,还用于从所述测试场景信息中,获取定时参数;以及当满足所述定时参数对应的触发条件时,生成所述测试场景恢复信息。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被第二处理器执行时,将引起第二处理器执行本发明实施例提供的应用于注入管理设备的方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本发明实施例,在待测试设备上部署注入代理设备,并在测试设备和待测试设备之间增加注入管理设备,使得能够通过注入管理设备接收到测试设备发送的测试场景注入请求中的测试场景信息,并将测试场景信息分发至注入代理设备,从而注入代理设备能够执行与测试场景信息对应的目标测试场景执行信息,来对所述待测试设备进行场景测试,实现了一种利用注入管理设备和注入代理设备智能地完成通过测试设备对待测试设备进行异常测试的方案,因此,提升了设备测试的智能性。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (13)
1.一种设备测试方法,应用于注入管理设备中,其特征在于,所述方法包括:
接收测试设备发送的测试场景注入请求;
从所述测试场景注入请求中,解析测试场景信息和待测试设备标识;
获取所述待测试设备标识对应的待测试设备的注入代理设备;
监控所述注入代理设备的注入状态,当所述注入状态为未注入状态时,将所述测试场景信息下发至所述注入代理设备,以使所述注入代理设备基于所述测试场景信息对所述待测试设备进行场景测试。
2.根据权利要求1所述的方法,其特征在于,所述获取所述待测试设备标识对应的待测试设备的注入代理设备,包括:
从预设设备标识和设备地址信息的对应关系中,获取与所述待测试设备标识对应的待测试设备地址信息;
依据所述待测试设备地址信息,确定所述待测试设备的所述注入代理设备。
3.根据权利要求1所述的方法,其特征在于,所述将所述测试场景信息下发至所述注入代理设备之前,所述方法还包括:
接收所述测试设备发送的测试场景注册请求;
从所述测试场景注册请求中,解析测试场景执行信息,将所述测试场景执行信息下发至所述注入代理设备;
或者,从所述测试场景注册请求中,解析测试场景执行信息和测试场景恢复执行信息,将所述测试场景执行信息和所述测试场景恢复执行信息下发至所述注入代理设备。
4.根据权利要求1或3所述的方法,其特征在于,所述将所述测试场景信息下发至所述注入代理设备之后,所述方法还包括:
接收所述测试设备发送的测试场景恢复请求;
从所述测试场景恢复请求中,解析测试场景恢复信息;
将所述测试场景恢复信息下发至所述注入代理设备,以使所述注入代理设备基于所述测试场景恢复信息对所述待测试设备进行测试场景恢复。
5.根据权利要求1所述的方法,其特征在于,
所述测试场景信息还包括定时参数;
所述测试场景信息为资源异常类型、网络异常类型、节点异常类型、数据库异常类型和操作异常类型组合中的至少一种。
6.一种设备测试方法,应用于注入代理设备,其特征在于,所述注入代理设备部署在待测试设备上,所述方法包括:
接收注入管理设备下发的测试场景信息;所述测试场景信息为对所述待测试设备进行场景测试的信息;
获取注入状态,当所述注入状态为未注入状态时,从所述测试场景信息中,获取测试场景名称和测试场景参数;
从测试场景执行信息中,获取与所述测试场景名称对应的目标测试场景执行信息;所述测试场景执行信息为所述注入管理设备预先下发的用于实现场景测试的执行信息;
根据所述测试场景参数,执行所述目标测试场景执行信息,进行场景测试。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当根据所述测试场景参数,执行所述目标测试场景执行信息时,将所述注入状态设置为已注入状态。
8.根据权利要求6或7所述的方法,其特征在于,所述从测试场景执行信息中,依据所述测试场景名称,获取目标测试场景执行信息之前,所述方法还包括:
接收所述注入管理设备下发的所述测试场景执行信息;
或者,接收所述注入管理设备下发的所述测试场景执行信息和测试场景恢复执行信息。
9.根据权利要求8所述的方法,其特征在于,所述根据所述测试场景参数,执行所述目标测试场景执行信息,进行场景测试之后,所述方法还包括:
获取测试场景恢复信息;
从所述测试场景恢复执行信息中,获取与所述测试场景恢复信息对应的目标测试场景恢复执行信息;
执行所述目标测试场景恢复执行信息,进行测试场景恢复;
当完成测试场景恢复时,将所述注入状态设置为未注入状态。
10.根据权利要求9所述的方法,其特征在于,所述获取测试场景恢复信息,包括:
接收所述注入管理设备发送的所述测试场景恢复信息。
11.根据权利要求9所述的方法,其特征在于,所述获取测试场景恢复信息,包括:
从所述测试场景信息中,获取定时参数;
当满足所述定时参数对应的触发条件时,生成所述测试场景恢复信息。
12.一种注入管理设备,其特征在于,所述注入管理设备包括:
第一存储器,用于存储可执行指令;
第一处理器,用于执行所述第一存储器中存储的可执行指令时,实现权利要求1至5任一项所述的方法。
13.一种注入代理设备,其特征在于,所述注入代理设备包括:
第二存储器,用于存储可执行指令;
第二处理器,用于执行所述第二存储器中存储的可执行指令时,实现权利要求6至11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910652173.4A CN112241359B (zh) | 2019-07-18 | 2019-07-18 | 一种设备测试方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910652173.4A CN112241359B (zh) | 2019-07-18 | 2019-07-18 | 一种设备测试方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112241359A CN112241359A (zh) | 2021-01-19 |
CN112241359B true CN112241359B (zh) | 2024-04-23 |
Family
ID=74168111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910652173.4A Active CN112241359B (zh) | 2019-07-18 | 2019-07-18 | 一种设备测试方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112241359B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185738A (zh) * | 2011-05-13 | 2011-09-14 | 迈普通信技术股份有限公司 | 通信设备硬件主机的测试系统及测试方法 |
CN102495799A (zh) * | 2011-12-02 | 2012-06-13 | 刘伟 | 移动终端的自动化测试系统和方法 |
CN103092756A (zh) * | 2013-01-08 | 2013-05-08 | 彭勇 | 一种交互式自动化测试系统及其方法 |
CN104220993A (zh) * | 2012-04-20 | 2014-12-17 | 惠普发展公司,有限责任合伙企业 | 用于集成软件系统的测试系统 |
US9747191B1 (en) * | 2015-10-05 | 2017-08-29 | Amazon Technologies, Inc. | Tool to replicate actions across devices in real time for improved efficiency during manual application testing |
CN108255701A (zh) * | 2017-06-27 | 2018-07-06 | 平安普惠企业管理有限公司 | 场景测试方法及移动终端 |
CN109558320A (zh) * | 2018-11-28 | 2019-04-02 | 深圳前海微众银行股份有限公司 | 系统测试方法、装置、系统、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100962532B1 (ko) * | 2007-12-18 | 2010-06-14 | 한국전자통신연구원 | 부하 테스트를 위한 패킷의 부하 재생성 시스템 및 그 방법 |
-
2019
- 2019-07-18 CN CN201910652173.4A patent/CN112241359B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185738A (zh) * | 2011-05-13 | 2011-09-14 | 迈普通信技术股份有限公司 | 通信设备硬件主机的测试系统及测试方法 |
CN102495799A (zh) * | 2011-12-02 | 2012-06-13 | 刘伟 | 移动终端的自动化测试系统和方法 |
CN104220993A (zh) * | 2012-04-20 | 2014-12-17 | 惠普发展公司,有限责任合伙企业 | 用于集成软件系统的测试系统 |
CN103092756A (zh) * | 2013-01-08 | 2013-05-08 | 彭勇 | 一种交互式自动化测试系统及其方法 |
US9747191B1 (en) * | 2015-10-05 | 2017-08-29 | Amazon Technologies, Inc. | Tool to replicate actions across devices in real time for improved efficiency during manual application testing |
CN108255701A (zh) * | 2017-06-27 | 2018-07-06 | 平安普惠企业管理有限公司 | 场景测试方法及移动终端 |
CN109558320A (zh) * | 2018-11-28 | 2019-04-02 | 深圳前海微众银行股份有限公司 | 系统测试方法、装置、系统、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112241359A (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442524B (zh) | 一种针对带有认证授权的web服务接口测试方法和装置 | |
CN106415480B (zh) | 用于安装在移动设备上的用于允许对该移动设备进行远程配置的高速应用 | |
CN107241315B (zh) | 银行网关接口的接入方法、装置及计算机可读存储介质 | |
CN106484611B (zh) | 基于自动化协议适配的模糊测试方法和装置 | |
WO2021203979A1 (zh) | 运维处理方法、装置及计算机设备 | |
US11960869B2 (en) | Android penetration method and device for implementing silent installation based on accessibility services | |
CN104539682A (zh) | 移动网页的调试方法、装置、移动终端、服务器以及系统 | |
CN106339273A (zh) | 一种应用程序修复方法、终端及服务器 | |
CN105204991A (zh) | 一种物联设备测试方法及装置 | |
CN113553257B (zh) | 测试方法、装置、存储介质及电子设备 | |
CN105302722A (zh) | Cts自动测试方法及装置 | |
CN110727575B (zh) | 一种信息处理方法、系统、装置、以及存储介质 | |
CN110781089A (zh) | 一种设备ui自动化测试方法、装置、电子设备和介质 | |
CN111400167A (zh) | Redfish服务合规性验证方法、装置及设备和介质 | |
CN110188043A (zh) | 一种控制多台设备测试的方法及控制设备 | |
CN103490945A (zh) | 一种测试最大telnet用户数的方法 | |
CN111858336A (zh) | 一种软件自动化测试方法以及系统 | |
CN110750453B (zh) | 基于html5的智能移动端测试方法、系统、服务器及存储介质 | |
CN112231209A (zh) | 参数获取方法、装置、计算机设备和存储介质 | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
CN112241359B (zh) | 一种设备测试方法及设备 | |
CN106791982B (zh) | 账号管理方法及装置 | |
CN104570967B (zh) | 基于Android系统的远程控制方法及系统 | |
CN112631891A (zh) | 性能剖析方法及装置、电子设备、存储介质 | |
CN113992739B (zh) | 一种局域网ota固件升级装置、方法及系统 |
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 |