CN114116343A - 一种设备测试方法、装置、电子设备及存储介质 - Google Patents
一种设备测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114116343A CN114116343A CN202111404406.2A CN202111404406A CN114116343A CN 114116343 A CN114116343 A CN 114116343A CN 202111404406 A CN202111404406 A CN 202111404406A CN 114116343 A CN114116343 A CN 114116343A
- Authority
- CN
- China
- Prior art keywords
- equipment
- burr
- scene
- simulation
- test
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2257—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
Abstract
本发明实施例公开了一种设备测试方法、装置、电子设备及存储介质;本发明实施例能获取设备的状态信息;根据设备的状态信息从毛刺库中获取毛刺模拟场景;根据毛刺模拟场景模拟毛刺,对设备进行毛刺场景测试;对完成毛刺场景测试的设备进行检测,得到设备的保持在线能力的测试结果。本发明通过对设备进行自动化测试,精准地完成了各种毛刺场景模拟测试,在保证测试覆盖面足够大且精细化的同时,提高了测试效率,并且后期设备发生故障时能够通过本发明的设备测试方法根据对应的毛刺模拟场景找到对应的故障点,本发明不仅实现了自动化测试,降低人力成本,而且提高了测试效率,降低了设备发生故障后的修复成本。
Description
技术领域
本申请涉及计算机领域,具体涉及一种设备测试方法、装置、电子设备及存储介质。
背景技术
保持在线能力是智能设备质量的一个重要体现,是判断智能设备能否正常维持与云端之间的通讯链路的重要指标,以便智能设备能够及时接收用户的控制指令、上报设备状态等数据。目前测试人员一般采用设备在一段时间内在线时长的占比,从而分析出设备保持在线能力的强弱。
由于对设备保持在线能力的测试场景很多,每个测试场景都需要人为监控较长时间,而且每个测试场景下还要模拟对应的毛刺发生,测试效率低。
发明内容
本申请实施例提供一种设备测试方法、装置、电子设备及存储介质,以提升设备测试效率。
本申请实施例提供一种设备测试方法,该方法包括:
获取设备的状态信息;
根据设备的状态信息从毛刺库中获取毛刺模拟场景,毛刺库存储有毛刺模拟场景,毛刺模拟场景中的毛刺为设备在信号处理期间接收到的非预期信号;
根据毛刺模拟场景模拟毛刺,对设备进行毛刺场景测试;
对完成毛刺场景测试的设备进行检测,得到设备的保持在线能力的测试结果,保持在线能力用于表征设备能够正常处理非预期信号的能力。
本申请实施例还提供一种设备测试装置,该装置包括信息获取模块、毛刺场景获取模块、毛刺场景测试模块和设备检测模块;
信息获取模块,用于获取设备的状态信息;
毛刺场景获取模块,用于根据设备的状态信息从毛刺库中获取毛刺模拟场景,毛刺库存储有毛刺模拟场景,毛刺模拟场景中的毛刺为设备在信号处理期间接收到的非预期信号;
毛刺场景测试模块,用于根据毛刺模拟场景模拟毛刺,对设备进行毛刺场景测试;
设备检测模块,用于对完成毛刺场景测试的设备进行检测,得到设备的保持在线能力的测试结果,保持在线能力用于表征设备能够正常处理非预期信号的能力。
在一些实施例中,装置还包括设备配网模块,设备配网模块用于向设备发送触发指令,以便触发设备进入配网模式后联网。
在一些实施例中,设备配网模块包括配网子模块,配网子模块用于:
当设备为遥控设备时,通过模拟遥控器向设备发送遥控信号,以便设备进入配网模式;
当设备为面板易控设备时,通过自动机器人操作设备面板上的按键,以便所述设备进入配网模式;
当设备为面板难控设备时,利用串口工具连接设备的WiFi模组、并向设备发送配网指令,以便设备通过调试桥服务执行配网指令,从而进入配网模式。
在一些实施例中,信息获取模块包括信息获取第一模块,信息获取第一模块用于:
通过自动化测试框架打开与所述设备相关联的APP;
通过字符识别方法对APP的设备界面进行字符识别,得到离线字符识别信息;
通过xpath路径读取设备状态值;
将离线字符识别信息以及设备状态值作为所述设备的状态信息。
在一些实施例中,信息获取模块包括信息获取第二模块,信息获取第二模块用于:
调用云端接口,通过云端接口读取设备上报给云端的状态信息。
在一些实施例中,信息获取模块包括信息获取第三模块,信息获取第三模块用于:
基于日志接口,并利用串口工具捕获设备日志,根据设备日志获取设备的状态信息。
在一些实施例中,毛刺场景获取模块包括判断子模块,判断子模块用于当状态信息满足预设信息条件以及策略计时器满足预设时长时,从毛刺库中获取毛刺模拟场景。
在一些实施例中,毛刺模拟场景包括网络毛刺模拟场景、功率毛刺模拟场景和/或系统毛刺模拟场景;网络毛刺模拟场景为模拟网络故障情况下的毛刺场景;功率毛刺模拟场景为模拟电源功率故障情况下的毛刺场景;系统毛刺模拟场景为模拟系统资源故障情况下的毛刺场景。
在一些实施例中,毛刺场景测试模块包括网络毛刺模拟模块,网络毛刺模拟模块用于:
当毛刺模拟场景为模拟断网情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在路由器后台上取消WAN口的连接;
当毛刺模拟场景为模拟信号消失情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在路由器后台上关闭WiFi热点信号;
当毛刺模拟场景为模拟弱网情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在路由器后台上限制网络速度或设置高于丢包率阈值的丢包率。
在一些实施例中,毛刺场景测试模块包括功率毛刺模拟模块,功率毛刺模拟模块用于:
当毛刺模拟场景为模拟电源功率故障情况下的毛刺场景时,通过可控仪器模拟设备处于不同电压变化状态或断电状态。
在一些实施例中,毛刺场景测试模块包括系统毛刺模拟模块,系统毛刺模拟模块用于:
当毛刺模拟场景为模拟系统资源故障情况下的毛刺场景时,通过云端在高频请求条件下请求设备上报状态信息和/或在高频下发条件下向设备下发控制指令,以便设备处于高频操作的业务逻辑中,从而模拟系统资源故障情况下的毛刺;高频请求条件为预设请求时长内云端向所述设备发送的请求的次数大于请求次数阈值;高频下发条件为预设下发时长内云端向设备下发指令的次数大于下发次数阈值。
在一些实施例中,设备检测模块包括阶段标识符检测模块、状态信息检测模块和指令校验检测模块;
阶段标识符检测模块,用于获取设备在进行毛刺场景测试时生成的阶段标识符,对所述阶段标志符进行检测,当检测到阶段标志符缺失时,判定设备处理毛刺的状态为异常;阶段标志符用于表征设备在运行过程中的各个阶段以及不同阶段的处理结果;
状态信息检测模块,用于检测设备的状态信息,当检测到设备上报至云端的状态信息缺失时,判定设备处理毛刺的状态为异常;
指令校验检测模块,用于对设备进行功能指令校验,当检测到设备未根据所述功能指令进行响应时,判定设备处理毛刺的状态为异常。
本申请实施例还提供一种电子设备,包括处理器和存储器,存储器存储有多条指令,处理器加载所述指令,以执行本发明实施例提供的任一种设备测试方法中的步骤。
本申请实施例还提供一种存储介质,存储介质存储有多条指令,指令适于处理器进行加载,以执行本发明实施例提供的任一种设备测试方法中的步骤。
本发明实施例可以获取设备的状态信息;根据设备的状态信息从毛刺库中获取毛刺模拟场景,毛刺库存储有毛刺模拟场景,毛刺模拟场景中的毛刺为设备在信号处理期间接收到的非预期信号;根据毛刺模拟场景模拟毛刺,对设备进行毛刺场景测试;对完成毛刺场景测试的设备进行检测,得到设备的保持在线能力的测试结果,保持在线能力用于表征设备能够正常处理非预期信号的能力。这样,本发明设置了存储有多种毛刺模拟场景的毛刺库,进行设备测试时能够自动地从毛刺库中获取相应的毛刺模拟场景,并根据毛刺模拟场景对设备进行毛刺场景测试,然后通过对完成毛刺场景测试的设备进行检测,从而判断出设备是否能够正确处理毛刺。
本发明通过对设备进行自动化测试,能够精准地完成各种毛刺场景模拟测试,保证了在线率场景测试的覆盖面,在保证测试覆盖面足够大且精细化的同时,节省了人工成本,还进一步提高了测试效率,并且后期设备发生故障时能够通过本发明的设备测试方法根据对应的毛刺模拟场景找到对应的故障点,本发明不仅实现了自动化测试,降低人力成本,而且提高了测试效率,降低了设备发生故障后的修复成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的设备测试系统的场景示意图;
图2是本申请实施例提供的设备测试方法的第一种流程示意图;
图3是本申请实施例提供的设备测试方法的第二种流程示意图;
图4是本申请实施例提供的设备测试装置的结构示意图。
图5是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种设备测试方法、装置、电子设备及存储介质。
其中,该设备测试装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、或者个人电脑(Personal Computer,PC)等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
在一些实施例中,该设备测试装置还可以集成在多个电子设备中,比如,设备测试装置可以集成在多个服务器中,由多个服务器来实现本申请的设备测试方法。
在一些实施例中,服务器也可以以终端的形式来实现。
例如,以设备测试装置集成在电子设备中为例,该电子设备可以获取设备的状态信息;根据设备的状态信息从毛刺库中获取毛刺模拟场景,毛刺库存储有毛刺模拟场景,毛刺模拟场景中的毛刺为设备在信号处理期间接收到的非预期信号;根据毛刺模拟场景模拟毛刺,对设备进行毛刺场景测试;对完成毛刺场景测试的设备进行检测,得到设备的保持在线能力的测试结果,保持在线能力用于表征设备能够正常处理非预期信号的能力等。
请参阅图1,图1为本申请实施例所提供的设备测试系统的场景示意图,该系统可以包括测试服务器10、用户终端11、云端12以及智能设备13,测试服务器10、用户终端11、云端12以及智能设备13之间相互通信连接,在此不再赘述。
其中,用户终端11包括但不局限于平板电脑、笔记本电脑、个人计算(PC,PersonalComputer)、微型处理盒子、或者其他设备等,该用户终端11内可以运行有智能设备应用端,该智能设备应用端通过用户终端11提供一图形用户界面,图形用户界面用于显示设备的状态信息,并且该图形用户界面可以提供不同行为控件,不同行为控件包括点击控制控件和点击查看控件等等,智能设备13可以对不同行为控件的触发操作进行响应响应等;云端12包括云端服务器等;智能设备13包括客厅智能TV、厨房智能冰箱、玄关智能门锁、水浸传感器、烟感传感器或摄像头等;测试服务器10包括处理器和存储器等。
需要说明的是,图1所示的系统场景示意图仅仅是一个示例,本申请实施例描述的测试服务器以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本公开实施例首先旨在提供了一种设备测试方法,通过获取设备的状态信息;根据设备的状态信息从毛刺库中获取毛刺模拟场景,毛刺库存储有毛刺模拟场景,毛刺模拟场景中的毛刺为设备在信号处理期间接收到的非预期信号;根据毛刺模拟场景模拟毛刺,对设备进行毛刺场景测试;对完成毛刺场景测试的设备进行检测,得到设备的保持在线能力的测试结果。故本方案可以实现了自动化测试,并提升设备测试效率。
如图2所示,该设备测试方法的具体流程可以如下:
110、获取设备的状态信息。
设备的状态信息包括设备是否配网成功、已在线时长、当前是否离线、设备是否重启、设备是否被改动过配置、网络出口状态是否稳定以及设备端口状态是否稳定等信息。
比如,通过结合设备的产品日志能够获取到设备的状态信息,该设备的状态信息包括配网成功、已在线3小时、当前在线等信息。
在一些实施例中,获取设备的状态信息之前,包括:
向设备发送触发指令,以便触发设备进入配网模式后联网。
在对设备进行测试前,需要使设备进入配网模式,以便设备联网,从而能够维持设备与云端之间的正常通讯链路,使得设备及时接收控制指令、或上报设备状态等数据,从而能够进一步进行后续毛刺场景测试。
配网模式包括直接配网或智能配网等。直接配网为通过主机接口(包括UART串口、SPI口或SDIO口等),按照通信协议将SSID(Service Set Identifier,服务集标识)和密码直接传递给设备的WiFi模组,WiFi模组在接收到SSID和密码后连接WiFi热点信号或路由器,并将连接的结果从主机接口返回。智能配网为使用用户终端的WiFi热点信号,在MAC层将SSID和密码按照一定协议格式填充在MAC包中不加密的包头部分,采用广播和抓包方式从用户终端将SSID和密码分段多次发送给设备的WiFi模组。
在一些实施例中,向设备发送触发指令,包括:
当设备为遥控设备时,通过模拟遥控器向设备发送遥控信号,以便设备进入配网模式;
当设备为面板易控设备时,通过自动机器人操作设备面板上的按键,以便设备进入配网模式;
当设备为面板难控设备时,利用串口工具连接设备的WiFi模组、并向设备发送配网指令,以便设备通过调试桥服务执行配网指令,从而进入配网模式。
遥控设备包括红外遥控设备、蓝牙遥控设备或无线遥控设备等;面板易控设备为容易操作面板按键的设备;面板难控设备为操作面板按键比较困难的设备。串口工具用于接收服务器的连接请求,通过串口向设备的通信模块发送连接命令,并且接收通信模块通过串口返回的连接数据,并将连接数据输出给服务器。调试桥为用于输入命令行的窗口,调试桥服务用于设备与服务器之间进行信息交互。
本发明实施例根据不同设备的特性采用了不同配网方式,比如:空调、电视、晾衣机等通过模拟遥控器操作的设备,则可以通过模拟遥控器向设备发送遥控信号,从而实现配网;冰箱、洗衣机、门锁等通过触摸按键操作的设备,则可以通过自动机器人操作设备面板上的按键,从而实现配网;水浸传感器、烟感传感器、摄像头等按键操作较为困难的设备,则可以通过利用串口工具连接设备的WiFi模组、并向设备发送配网指令,以便设备通过调试桥服务执行配网指令,从而实现配网。
在一些实施例中,获取设备的状态信息,包括:
通过自动化测试框架打开与设备相关联的APP;
通过字符识别方法对APP的设备界面进行字符识别,得到离线字符识别信息;
通过xpath路径读取设备状态值;
将离线字符识别信息以及设备状态值作为设备的状态信息。
本申请实施例中,自动化测试框架可以为Airtest自动化测试框架,也可以为Appium自动化测试框架,还可以为其他类型的自动化测试框架。
字符识别方法可以为光学字符识别(OCR,optical character recognition)方法,也可以为组件树字符识别方法,还可以为其他字符识别方法。当采用组件树字符识别方法进行字符识别时,先获取APP的设备界面图像,利用组件树提取出设备界面图像中的连通域,同时针对文字字形特征建立分类器,对分类器输出的正样本进行尺度统一,然后输入至霍夫森林,以每种字符作为单独的类别,在检测过程中完成字符识别。本申请实施例通过建立组件树获取连通域;每一个连通域分别求取一组特征,并输入至分类器识别;分类器输出的正样本作为候选的字符区域,并放缩至同一尺度大小;每一个候选的字符区域输入至霍夫森林,霍夫森林输出字符的分布概率;根据霍夫森林输出的后验概率,估计字符的位置并输出文字结果。
xpath即为XML(标准通用标记语言的子集)路径语言,为一种用来确定XML文档中某部分位置的语言。xpath基于XML的树状结构,有不同类型的的节点。xpath使用路径表达来选取XML文档中的节点或节点集,xpath路径表达式是从一个XML节点(当前的上下文节点)到另一个节点或是一组节点的书面步骤顺序。
本申请实施例通过自动化测试框架自动打开与设备相关联的APP;同时通过字符识别方法对APP的设备界面进行字符识别,分析设备界面是否有“离线”等字符,从而能够得到离线字符识别信息;再通过xpath路径读取设备状态值,然后将离线字符识别信息以及设备状态值作为设备的状态信息。
在一些实施例中,获取设备的状态信息,包括:
调用云端接口,通过云端接口读取设备上报给云端的状态信息。
本申请实施例中,云端接口用于与设备进行通信连接,测试服务器可以通过调用云端接口,通过云端接口从而读取设备上报给云端的状态信息。
在一些实施例中,获取设备的状态信息,包括:
基于日志接口,并利用串口工具捕获设备日志,根据设备日志获取设备的状态信息。
日志接口用于将设备的执行操作信息记录到日志文件中。
在日常的网络运维工作中,经常会使用设备日志来排查和定位设备故障问题。例如:网络中断一段时间后又自动恢复,这时就可以从设备是否重启、设备是否被改动过配置、网络出口状态是否稳定以及设备端口状态是否稳定等信息进行排查。另外,可以通过状态查询命令可以查看到设备的实时状态,如果实时状态正常,则可以通过设备日志查看设备历史的记录。
本申请实施例测试服务器可以基于日志接口,同时并利用串口工具捕获日志文件中的相关设备日志,根据设备日志获取设备的状态信息。
120、根据设备的状态信息从毛刺库中获取毛刺模拟场景,毛刺库存储有毛刺模拟场景。
毛刺模拟场景中的毛刺为设备在信号处理期间接收到的非预期信号,这些毛刺会对设备的性能造成影响,影响设备正常运行。
比如,设备在正常运行过程中受到断网、弱网等毛刺影响;又比如设备在正常运行过程中突然受到电压变化、断电等毛刺影响。
在一些实施例中,根据设备的状态信息从毛刺库中获取毛刺模拟场景,包括:
当状态信息满足预设信息条件以及策略计时器满足预设时长时,从毛刺库中获取毛刺模拟场景。
本发明实施例可以根据设备的状态信息设置若干个预设信息条件,预设信息条件可以设置为配网成功、设备在线xx小时或目前处于在线状态等等。预设时长可以设置为设备在线期间每隔x小时进行一次毛刺模拟,每次毛刺模拟持续y秒等等。
比如,服务器接收到设备的状态信息为配网成功、设备在线3小时以及目前处于在线状态等,其中,当设备在线时长(即设备在线3小时)不满足预设信息条件中设置的在线xx小时,则不能进入后续步骤,即不能从毛刺库中获取毛刺模拟场景。服务器设置有策略计时器,服务器通过策略计时器对设备的正常运行状态进行计时,当计时到设备在线x小时,则开始进行一次毛刺模拟,毛刺模拟时长控制在y秒,接着进行下一轮计时。
在一些实施例中,毛刺模拟场景包括网络毛刺模拟场景、功率毛刺模拟场景和/或系统毛刺模拟场景。
网络毛刺模拟场景为模拟网络故障情况下的毛刺场景;功率毛刺模拟场景为模拟电源功率故障情况下的毛刺场景;系统毛刺模拟场景为模拟系统资源故障情况下的毛刺场景。
本发明实施例建立了毛刺库,毛刺库存储有不同种毛刺模拟场景,不同种毛刺模拟场景对应模拟生成不同的毛刺,服务器可以根据测试要求不断地对毛刺库进行更新,从而增加新的毛刺模拟场景。除了网络毛刺模拟场景、功率毛刺模拟场景以及系统毛刺模拟场景外,毛刺库还可以存储其他的毛刺模拟场景。
130、根据毛刺模拟场景模拟毛刺,对设备进行毛刺场景测试。
测试服务器可以每次提取一种毛刺模拟场景进行毛刺模拟,还可以每次提取多种毛刺模拟场景进行毛刺模拟。
在一些实施例中,根据毛刺模拟场景模拟毛刺,包括:
当毛刺模拟场景为模拟断网情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在路由器后台上取消WAN口的连接;
当毛刺模拟场景为模拟信号消失情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在路由器后台上关闭WiFi热点信号;
当毛刺模拟场景为模拟弱网情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在路由器后台上限制网络速度或设置高于丢包率阈值的丢包率。
自动化脚本为在自动化测试框架下通过解释型编程语言编写的脚本,该脚本能够实现一些自动操作。
本申请实施例中,网络毛刺模拟场景可以包括断网情况下的毛刺场景、信号消失情况下的毛刺场景或弱网情况下的毛刺场景,还可以包括其他网络故障下的毛刺场景。本申请实施例通过自动化脚本连接路由器后台,再利用路由器后台自动取消WAN口的连接、自动关闭WiFi热点信号、限制网络速度或设置高于丢包率阈值的丢包率等,从而实现网络毛刺场景的模拟。
在一些实施例中,根据毛刺模拟场景模拟毛刺,包括:
当毛刺模拟场景为模拟电源功率故障情况下的毛刺场景时,通过可控仪器模拟设备处于不同电压变化状态或断电状态。
本申请实施例中,毛刺模拟场景可以为模拟电源功率故障情况下的毛刺场景。可控仪器包括可编程电压源或可断电插座等。
比如,通过可编程电压源实现不同的电压档位,然后控制设备在不同电压档位工作一段时间;又比如,通过可断电插座进行断电毛刺模拟等等;然后观察设备在这些功率毛刺场景下是否能够继续保持在线。
在一些实施例中,根据毛刺模拟场景模拟毛刺,包括:
当毛刺模拟场景为模拟系统资源故障情况下的毛刺场景时,通过云端在高频请求条件下请求设备上报状态信息和/或在高频下发条件下向设备下发控制指令,以便设备处于高频操作的业务逻辑中,从而模拟系统资源故障情况下的毛刺。
高频请求条件为预设请求时长内云端向设备发送的请求的次数大于请求次数阈值;高频下发条件为预设下发时长内云端向设备下发指令的次数大于下发次数阈值。
本申请实施例中构造系统毛刺的测试场景,可以通过云端频繁要求设备上报状态或者频繁下发控制指令,使得设备处于高频操作的业务逻辑中,进而导致CPU、内存或磁盘空间资源的高频使用,从而模拟系统毛刺的发生。
140、对完成毛刺场景测试的设备进行检测,得到设备的保持在线能力的测试结果,保持在线能力用于表征设备能够正常处理所述非预期信号的能力。
在一些实施例中,对完成毛刺场景测试的设备进行检测,包括:
获取设备在进行毛刺场景测试时生成的阶段标识符,对阶段标志符进行检测,当检测到阶段标志符缺失时,判定设备处理毛刺的状态为异常;
检测设备的状态信息,当检测到设备上报至云端的状态信息缺失时,判定设备处理毛刺的状态为异常;
对设备进行功能指令校验,当检测到设备未根据功能指令进行响应时,判定设备处理毛刺的状态为异常。
本申请实施例中,阶段标志符用于表征设备在运行过程中的各个阶段以及不同阶段的处理结果。
比如,阶段标志符为“dns-query:begin,dns-query:success”,就表示DNS(DomainName Server,域名服务器)查询成功,设备可以获取到云端域名对应的IP地址等。当模拟毛刺场景发生后,就可以通过判断阶段标志符判断设备是否开始了DNS查询阶段(即对应于阶段标志符中有没有dns-query),以及这些阶段的结果(即对应于阶段标志符中有没有“success”)。
判断设备的保持在线能力比较好,最基础的就是设备与云端之间通信正常、并能够上报设备状态信息。因此,本申请实施例还可以通过检测设备上报至云端的状态信息,从而知道设备是否正确处理了毛刺。
比如,在没有毛刺的场景下,设备半小时内共上报了10条日志,每条日志都带有时间戳。而有毛刺后,设备只上报了9条日志,中间有连接的缺失,那么就可以判定设备处理毛刺的状态为异常,进一步计算对应的在线率指标时,可以得到设备在对本毛刺的处理时保持在线能力有所下降的结果。
对设备进行功能指令校验是检测设备的保持在线能力的核心。比如,下发控制指令后能够成功控制设备,或者下发OTA(Over-the-Air Technology,空中下载技术)指令后设备能够成功升级,就可以判定设备的保持在线能力的有效性。
本申请实施例中,对完成毛刺场景测试的设备进行检测后,还包括计算设备在线率指标,设备在线率指标为设备在测试时长内在线时长占测试总时长的比例。获取到设备在线率指标后,再生成得到设备的保持在线能力的测试结果,测试结果包括设备在对应的毛刺模拟场景的在线率指标以及设备是否正确处理了毛刺的检测信息等。
通过本申请实施例提供了一种设备测试方法,该方法首先获取设备的状态信息;再根据设备的状态信息从毛刺库中获取毛刺模拟场景,毛刺库存储有毛刺模拟场景,毛刺模拟场景中的毛刺为设备在信号处理期间接收到的非预期信号;接着根据毛刺模拟场景模拟毛刺,对设备进行毛刺场景测试;然后对完成毛刺场景测试的设备进行检测,得到设备的保持在线能力的测试结果,保持在线能力用于表征设备能够正常处理非预期信号的能力。
这样,本发明可以通过设置存储有多种毛刺模拟场景的毛刺库,进行设备测试时能够自动地从毛刺库中获取相应的毛刺模拟场景,并根据毛刺模拟场景对设备进行毛刺场景测试,然后通过对完成毛刺场景测试的设备进行检测,从而判断出设备是否能够正确处理毛刺。
本发明通过对设备进行自动化测试,能够精准地完成各种毛刺场景模拟测试,保证了在线率场景测试的覆盖面,并且在保证测试覆盖面足够大且精细化的同时,节省了人工成本,还进一步提高了测试效率,并且后期设备发生故障时能够通过本发明的设备测试方法根据对应的毛刺模拟场景找到对应的故障点,本发明不仅实现了自动化测试,降低人力成本,而且提高了测试效率,降低了设备发生故障后的修复成本。
本申请实施例提供的设备测试方案可以应用在各种设备测试场景中。比如,以家居智能产品为例,目前,不同用户家里存在多种不同设备场景,有的家里只有一台智能设备,有的用户家里不同房间各摆了一台同样型号的设备,有的用户家里每种设备各有一台(客厅智能TV、厨房智能冰箱、玄关智能门锁等),而有的家里不仅有多类设备而每类设备还有多台(玄关/卧室均安装了同类型门锁、客厅卧室均放置了同类型TV等),在这几种场景下设备的保持在线能力表现还不一致。而且每种场景下还要模拟对应的毛刺发生去做在线率测试(设备内存不足、网络出现抖动等),这些测试场景及测试点往往存在排列组合的逻辑,即需要测试不同协议的设备、不同数量的场景下,每个场景还需要针对每个设备把各种毛刺都模拟一遍,而每次模拟毛刺发生后还要观察一段时间才能得到在线率指标,因此要把这些排列组合出来的测试内容全都测完需要花费相当多的时间。
然而,采用本申请实施例提供的方案能够自动化对设备进行测试,能够精准地完成各种毛刺场景模拟测试,保证了在线率场景测试的覆盖面,并且在保证测试覆盖面足够大且精细化的同时,节省了人工成本,还进一步提高了测试效率,提高了用户体验。
根据上述实施例所描述的方法,以下将作进一步详细说明。
在本实施例中,将以如何基于家居智能产品进行设备测试为例,对本申请实施例的方法进行详细说明。
如图3所示,一种设备测试方法具体流程如下:
209、测试服务器向智能产品发送触发指令,以便触发智能产品进入配网模式后联网。
在对智能产品进行测试前,需要使智能产品进入配网模式,以便智能产品联网,从而能够维持智能产品与云端之间的正常通讯链路,使得智能产品及时接收控制指令、或上报设备状态等数据,从而能够进一步进行后续毛刺场景测试。
配网模式包括直接配网或智能配网等。直接配网为通过主机接口(包括UART串口、SPI口或SDIO口等),按照通信协议将SSID(Service Set Identifier,服务集标识)和密码直接传递给设备的WiFi模组,WiFi模组在接收到SSID和密码后连接WiFi热点信号或路由器,并将连接的结果从主机接口返回。智能配网为使用用户终端的WiFi热点信号,在MAC层将SSID和密码按照一定协议格式填充在MAC包中不加密的包头部分,采用广播和抓包方式从用户终端将SSID和密码分段多次发送给设备的WiFi模组。
本申请实施例中有不同种类的智能产品,根据智能产品本身的特性设置有不同的配网方式,包括:(a)通过红老鼠/测试精灵模拟遥控器发送红外信号操作设备进入配网模式,(b)通过机械臂操作设备上的相关面板进入配网模式;(c)通过串口工具连接设备WiFi模组、数据线连接设备adb服务,发送特殊的特定指令使智能设备进入配网模式。通过上述配网方式可以使设备进入配网模式,最后再结合airtest/appium等自动化测试框架操作智能家居APP点击相关设备进入配网流程,从而实现智能产品配网上线。
在一些实施例中,向设备发送触发指令,包括:
当设备为遥控设备时,通过模拟遥控器向设备发送遥控信号,以便设备进入配网模式;
当设备为面板易控设备时,通过自动机器人操作设备面板上的按键,以便设备进入配网模式;
当设备为面板难控设备时,利用串口工具连接设备的WiFi模组、并向设备发送配网指令,以便设备通过调试桥服务执行配网指令,从而进入配网模式。
遥控设备包括红外遥控设备、蓝牙遥控设备或无线遥控设备等;面板易控设备为容易操作面板按键的设备;面板难控设备为操作面板按键比较困难的设备。串口工具用于接收服务器的连接请求,通过串口向设备的通信模块发送连接命令,并且接收通信模块通过串口返回的连接数据,并将连接数据输出给服务器。调试桥为用于输入命令行的窗口,调试桥服务用于设备与服务器之间进行信息交互。
配网方式的设置取决于智能产品本身的特性,如果智能产品如空调、电视、晾衣机等通过红外遥控器操作的,则可以通过(a)实现;如果智能产品如冰箱、洗衣机、门锁等通过人手触摸按键操作的,则可以通过(b)实现;如果智能产品如水浸传感器、烟感传感器、摄像头等按键操作较为困难的,则可以通过(c)实现。
210、测试服务器获取智能产品的状态信息。
智能产品的状态信息包括智能产品是否配网成功、已在线时长、当前是否离线、智能产品是否重启、智能产品是否被改动过配置、网络出口状态是否稳定以及设备端口状态是否稳定等信息。
比如,通过结合智能产品的产品日志能够获取到智能产品的状态信息,该智能产品的状态信息包括配网成功、已在线3小时、当前在线等信息。
在一些实施例中,获取智能产品的状态信息,包括:
通过自动化测试框架打开与智能产品相关联的APP;
通过字符识别方法对APP的设备界面进行字符识别,得到离线字符识别信息;
通过xpath路径读取设备状态值;
将离线字符识别信息以及设备状态值作为智能产品的状态信息。
本申请实施例中,自动化测试框架可以为Airtest自动化测试框架,也可以为Appium自动化测试框架,还可以为其他类型的自动化测试框架。
字符识别方法可以为光学字符识别(OCR,optical character recognition)方法,也可以为组件树字符识别方法,还可以为其他字符识别方法。当采用组件树字符识别方法进行字符识别时,先获取APP的设备界面图像,利用组件树提取出设备界面图像中的连通域,同时针对文字字形特征建立分类器,对分类器输出的正样本进行尺度统一,然后输入至霍夫森林,以每种字符作为单独的类别,在检测过程中完成字符识别。本申请实施例通过建立组件树获取连通域;每一个连通域分别求取一组特征,并输入至分类器识别;分类器输出的正样本作为候选的字符区域,并放缩至同一尺度大小;每一个候选的字符区域输入至霍夫森林,霍夫森林输出字符的分布概率;根据霍夫森林输出的后验概率,估计字符的位置并输出文字结果。
xpath即为XML(标准通用标记语言的子集)路径语言,为一种用来确定XML文档中某部分位置的语言。xpath基于XML的树状结构,有不同类型的的节点。xpath使用路径表达来选取XML文档中的节点或节点集,xpath路径表达式是从一个XML节点(当前的上下文节点)到另一个节点或是一组节点的书面步骤顺序。
本申请实施例通过自动化测试框架自动打开与设备相关联的APP;同时通过字符识别方法对APP的设备界面进行字符识别,分析设备界面是否有“离线”等字符,从而能够得到离线字符识别信息;再通过xpath路径读取设备状态值,然后将离线字符识别信息以及设备状态值作为设备的状态信息。
在一些实施例中,获取智能产品的状态信息,包括:
调用云端接口,通过云端接口读取设备上报给云端的状态信息。
本申请实施例中,云端接口用于与设备进行通信连接,服务器可以通过调用云端接口,通过云端接口从而读取设备上报给云端的状态信息。
在一些实施例中,获取智能产品的状态信息,包括:
基于日志接口,并利用串口工具捕获设备日志,根据设备日志获取设备的状态信息。
日志接口用于将设备的执行操作信息记录到日志文件中。
在日常的网络运维工作中,经常会使用设备日志来排查和定位设备故障问题。例如:网络中断一段时间后又自动恢复,这时就可以从设备是否重启、设备是否被改动过配置、网络出口状态是否稳定以及设备端口状态是否稳定等信息进行排查。另外,可以通过状态查询命令可以查看到设备的实时状态,如果实时状态正常,则可以通过设备日志查看设备历史的记录。
本申请实施例服务器可以基于日志接口,同时并利用串口工具捕获日志文件中的相关设备日志,根据设备日志获取设备的状态信息。
用户可以通过智能APP看到智能产品的在离线情况以及一些状态属性(例如智能产品为空调设备,就会有温度、模式等状态属性)。对于测试服务器来说,会通过几种方式去捕获这些设备信息和状态:通过airtest/appium等自动化测试框架,模拟人打开APP,通过OCR/组件树等形式分析设备界面是否有“离线”等字符,以及xpath路径读取对应的值来获取设备状态;调用云端接口,通过接口直接读取设备上报给云端的设备状态及是否在离线等信息;通过日志接口,串口工具捕获设备日志检查对应的字符串输出,从而判定设备的信息及状态。
在通过以上方式获取到设备的相关信息及状态之后,就会进一步做分析,比如,如果搜集到几个同类设备所连接WiFi名字都相同,而且都属于同一个用户账号下,则可以认为这是在模拟用户场景:用户家里存在多台同类型的设备。
220、测试服务器根据智能产品的状态信息从毛刺库中获取毛刺模拟场景,毛刺库存储有毛刺模拟场景。
毛刺模拟场景中的毛刺为设备在信号处理期间接收到的非预期信号,这些毛刺会对设备的性能造成影响,影响设备正常运行。
比如,设备在正常运行过程中受到断网、弱网等毛刺影响;又比如设备在正常运行过程中突然受到电压变化、断电等毛刺影响。
在一些实施例中,根据设备的状态信息从毛刺库中获取毛刺模拟场景,包括:
当状态信息满足预设信息条件以及策略计时器满足预设时长时,从毛刺库中获取毛刺模拟场景。
本发明实施例可以根据设备的状态信息设置若干个预设信息条件,预设信息条件可以设置为配网成功、设备在线xx小时或目前处于在线状态等等。预设时长可以设置为设备在线期间每隔x小时进行一次毛刺模拟,每次毛刺模拟持续y秒等等。
比如,测试服务器接收到设备的状态信息为配网成功、设备在线3小时以及目前处于在线状态等,其中,当设备在线时长(即设备在线3小时)不满足预设信息条件中设置的在线xx小时,则不能进入后续步骤,即不能从毛刺库中获取毛刺模拟场景。服务器设置有策略计时器,服务器通过策略计时器对设备的正常运行状态进行计时,当计时到设备在线x小时,则开始进行一次毛刺模拟,毛刺模拟时长控制在y秒,接着进行下一轮计时。
测试人员在进行保持在线能力测试时,往往需要观察相当长的一段时间来计算在线率指标,例如每隔72小时计算一次在线率指标,在这72小时内,每隔0.5s就获取一次设备的状态,看设备是否在线,因此就可以计算出这72个小时内设备在线时长的比例。例如正常情况下72个小时内在线了71个小时,则在线率指标为0.986。由于还需要模拟毛刺场景的发生,因此测试人员还需要额外测试72个小时,在这72小时内,每隔8小时模拟一次毛刺的发生,毛刺持续时间30s,然后一样计算在线率指标,此时如果在线率指标下降很多,说明产品对毛刺处理能力很差。
本申请实施例采用一定的测试策略来模拟毛刺的发生从而计算在线率指标,例如上述就是每隔72小时作为一轮测试,每轮测试中每隔8小时模拟一次毛刺,毛刺持续30s,这些会作为配置文件提前写到测试服务器中,测试服务器会根据配置文件并通过策略计时器进行计时,时间到了之后做相应的一些动作。
在一些实施例中,毛刺模拟场景包括网络毛刺模拟场景、功率毛刺模拟场景和/或系统毛刺模拟场景。
网络毛刺模拟场景为模拟网络故障情况下的毛刺场景;功率毛刺模拟场景为模拟电源功率故障情况下的毛刺场景;系统毛刺模拟场景为模拟系统资源故障情况下的毛刺场景。
本发明实施例建立了毛刺库,毛刺库存储有不同种毛刺模拟场景,不同种毛刺模拟场景对应模拟生成不同的毛刺,服务器可以根据测试要求不断地对毛刺库进行更新,从而增加新的毛刺模拟场景。除了网络毛刺模拟场景、功率毛刺模拟场景以及系统毛刺模拟场景外,毛刺库还可以存储其他的毛刺模拟场景。
当需要模拟毛刺场景时,则从毛刺库依次提取毛刺模拟场景,然后在预设的时间模拟毛刺的发生,使智能产品能够进行相关业务逻辑处理,从而确定智能产品保持在线能力的质量表现。
230、测试服务器根据毛刺模拟场景模拟毛刺,对智能产品进行毛刺场景测试。
测试服务器可以每次提取一种毛刺模拟场景进行毛刺模拟,还可以每次提取多种毛刺模拟场景进行毛刺模拟。
当测试服务器按照上述的测试策略在预设时间要模拟毛刺时,就可以从毛刺库中提取毛刺模拟场景后模拟相关测试场景,比如,当需要对每一种用户场景(单台设备、多台同类、多类各一台、多类多台等)中的每一个设备(冰箱、空调、洗衣机等)进行毛刺的模拟,而且还需要模拟每一种毛刺(CPU不足、网络限速、路由器掉电等)并模拟足够时长(例如30s)时,可以从毛刺库中提取相关毛刺模拟场景,从而实现对智能产品保持在线能力模块进行测试。测试服务器会结合产品日志(提示配网成功、已在线xx时长等)以及策略计时器(如上述每隔8小时进行一次毛刺模拟,持续30s等)从而判定目前是否需要进行毛刺模拟,需要时就从毛刺库里提取对应的模拟手段,例如磁盘空间不足手段,就可以通过生成大文件占用智能产品的所有存储空间,由于产品磁盘空间不足,保持在线过程中智能产品就有可能出现无法存储相关的设备日志以及云端传输过来的指令数据等,进而导致模块逻辑有误使设备无法保持在线,进而导致在线率等指标的下降,此时就可以测试智能产品是否能够正确处理磁盘空间不足,即这种毛刺场景下的产品质量表现。
在一些实施例中,根据毛刺模拟场景模拟毛刺,包括:
当毛刺模拟场景为模拟断网情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在路由器后台上取消WAN口的连接;
当毛刺模拟场景为模拟信号消失情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在路由器后台上关闭WiFi热点信号;
当毛刺模拟场景为模拟弱网情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在路由器后台上限制网络速度或设置高于丢包率阈值的丢包率。
自动化脚本为在自动化测试框架下通过解释型编程语言编写的脚本,该脚本能够实现一些自动操作。
本申请实施例中,网络毛刺模拟场景可以包括断网情况下的毛刺场景、信号消失情况下的毛刺场景或弱网情况下的毛刺场景,还可以包括其他网络故障下的毛刺场景。本申请实施例通过自动化脚本连接路由器后台,再利用路由器后台自动取消WAN口的连接、自动关闭WiFi热点信号、限制网络速度或设置高于丢包率阈值的丢包率等,从而实现网络毛刺场景的模拟。
当智能产品正常工作时,会有许多网络操作要进行,例如将设备状态信息上报给云端,监听云端是否有下发控制指令等,如果智能产品保持在线的过程中有网络问题,则可能会导致模块的某些业务逻辑卡住或者出现其他异常,不断尝试联网直到完成操作。因此,本申请实施例可以模拟各种网络波动做毛刺测试,例如断网、信号消失、弱网等,断网可以通过自动化脚本连接路由器后台,取消WAN口的连接,导致路由器没网,其下的设备也会没网;信号消失,则也可以通过自动化脚本连接路由器后台,将WiFi热点信号关闭,则热点消失设备也就无法找到热点;弱网也是同理,在路由器后台做网络速度的限制,以及丢包率的设置等操作。很多网络波动的毛刺场景都可以通过自动化连接路由器后台进行相关的设置实现,进而就可进行这种场景下智能产品的在线率等指标测试。
在一些实施例中,根据毛刺模拟场景模拟毛刺,包括:
当毛刺模拟场景为模拟电源功率故障情况下的毛刺场景时,通过可控仪器模拟设备处于不同电压变化状态或断电状态。
本申请实施例中,毛刺模拟场景可以为模拟电源功率故障情况下的毛刺场景。可控仪器包括可编程电压源或可断电插座等。
比如,通过可编程电压源实现不同的电压档位,然后控制设备在不同电压档位工作一段时间;又比如,通过可断电插座进行断电毛刺模拟等等;然后观察设备在这些功率毛刺场景下是否能够继续保持在线。
无论是智能产品、网络模组还是路由器,都需要接通电源才可以开始工作。因此通过可编程电压以及断电插座等仪器,就可以模拟硬件处于各种电压变化,甚至断电情况下的毛刺。例如可以通过程控电源,实现不同的电压档位,然后让智能电视在不同电压档位工作一段时间。从而观察智能产品在这种功率毛刺场景下是否能够依旧保持在线,从而让用户感知不到毛刺的发生。
在一些实施例中,根据毛刺模拟场景模拟毛刺,包括:
当毛刺模拟场景为模拟系统资源故障情况下的毛刺场景时,通过云端在高频请求条件下请求设备上报状态信息和/或在高频下发条件下向设备下发控制指令,以便设备处于高频操作的业务逻辑中,从而模拟系统资源故障情况下的毛刺。
高频请求条件为预设请求时长内云端向设备发送的请求的次数大于请求次数阈值;高频下发条件为预设下发时长内云端向设备下发指令的次数大于下发次数阈值。
本申请实施例中构造系统毛刺的测试场景,可以通过云端频繁要求设备上报状态或者频繁下发控制指令,使得设备处于高频操作的业务逻辑中,进而导致CPU、内存或磁盘空间资源的高频使用,从而模拟系统毛刺的发生。
智能产品在保持在线的过程中,常需使用各种系统资源,如使用CPU资源进行相关指令计算,使用内存资源缓存通信过程中的数据,使用磁盘空间资源来存储通信过程中不同级别的日志信息等。因此,需要针对这些系统资源,做一些毛刺场景的模拟,从而检测智能产品在面对系统各种各样意外的状态时,是否有做一些响应来保证继续保持在线。本申请实施例构造系统毛刺的测试场景时,可以通过云端频繁要求设备上报状态或者频繁下发控制指令,使得产品沦陷于高频操作的业务逻辑中,进而导致CPU/内存/磁盘空间资源的高频使用,从而模拟毛刺的发生。或者更精细化一些,点对点的只模拟CPU资源的消耗,就可以通过串口工具触发设备模块运行某个死循环的代码逻辑,沦陷于高频计算过程中就会导致CPU资源的不足;同理也可以运行某个不断申请资源但不释放资源的代码逻辑,使产品沦陷于内存泄露/内存不足等场景。通过这些手段模拟了毛刺的发生,然后按照预设的测试策略进行测试,然后检测产品的在线率等指标信息,判断分析出智能产品对这些系统毛刺的处理表现。
240、对完成毛刺场景测试的智能产品进行检测,得到智能产品的保持在线能力的测试结果,保持在线能力用于表征智能产品能够正常处理非预期信号的能力。
对智能产品进行毛刺模拟场景测试后,测试服务器会去检查智能产品的保持在线能力的表现,即判定智能产品处理毛刺的状态是否正常,智能产品有没有正确处理毛刺,例如磁盘空间不足的情况,如果智能产品处理毛刺的状态正常,则表明智能产品先清除临时文件(例如大于xx天的日志信息),把空间释放出来,又或者将数据先缓存到内存空间中,并不断尝试写入到系统本地文件,直到有空间盈余时成功写入本地进而成功继续下一步连接操作等。通过检测智能产品的各个参数,进行状态分析,以及对比整个毛刺测试完成后的在线率等指标数值,从而得出测试结果,可进一步生成测试报告。
在一些实施例中,对完成毛刺场景测试的智能产品进行检测,包括:
获取智能产品在进行毛刺场景测试时生成的阶段标识符,对阶段标志符进行检测,当检测到阶段标志符缺失时,判定智能产品处理毛刺的状态为异常;
检测智能产品的状态信息,当检测到智能产品上报至云端的状态信息缺失时,判定智能产品处理毛刺的状态为异常;
对智能产品进行功能指令校验,当检测到智能产品未根据功能指令进行响应时,判定智能产品处理毛刺的状态为异常。
本申请实施例中,阶段标志符用于表征智能产品在运行过程中的各个阶段以及不同阶段的处理结果。
在智能产品保持在线正常运作的场景下,可以获取到各个操作的标志符,这些标志符说明保持在线能力过程分别经历了哪些阶段,以及这些阶段的处理结果。比如,阶段标志符为“dns-query:begin,dns-query:success”,就表示DNS(Domain Name Server,域名服务器)查询成功,设备可以获取到云端域名对应的IP地址等。当模拟毛刺场景发生后,就可以通过判断阶段标志符判断设备是否开始了DNS查询阶段(即对应于阶段标志符中有没有dns-query),以及这些阶段的结果(即对应于阶段标志符中有没有“success”)。因此,通过标志符是否存在的方式进行判断,如果智能产品对毛刺处理不够好,就会导致没有特定的标志符,例如缺少dns-query就说明没有进入DNS查询阶段,或者没有success就说明没有DNS查询成功。
判断智能产品的保持在线能力比较好,最基础的就是智能产品与云端之间通信正常、并能够上报智能产品的状态信息。因此,本申请实施例还可以通过检测智能产品上报至云端的状态信息,从而知道智能产品是否正确处理了毛刺。
比如,在没有毛刺的场景下,智能产品半小时内共上报了10条日志,每条日志都带有时间戳。而有毛刺后,智能产品只上报了9条日志,中间有连接的缺失,那么就可以判定智能产品处理毛刺的状态为异常,进一步计算对应的在线率指标时,可以得到智能产品在对本毛刺的处理时保持在线能力有所下降的结果。因此,可以基于这种智能产品的状态信息做对比判断,作为智能产品保持在线能力表现良好的判断之一。
对智能产品进行功能指令校验是检测设备保持在线能力的核心,能够为后面的控制操作、OTA(Over-the-Air Technology,空中下载技术)升级等命令服务。因此也可以通过下发一些功能指令来作为检测判断依据,比如,下发控制指令后能够成功控制设备,或者下发OTA指令后设备能够成功升级,就可以判定设备的保持在线能力的有效性。
本申请实施例中,对完成毛刺场景测试的设备进行检测后,还包括计算设备在线率指标,设备在线率指标为智能产品在测试时长内在线时长占测试总时长的比例。获取到设备在线率指标后,再生成得到智能产品的保持在线能力的测试结果,测试结果包括智能产品在对应的毛刺模拟场景的在线率以及智能产品是否正确处理了毛刺的检测信息等。
本申请实施例中,首先触发智能产品配网上线,在智能产品保持在线过程中到达特定阶段即当状态信息满足预设信息条件以及策略计时器满足预设时长时,从毛刺库中获取毛刺模拟场景并进行毛刺模拟,随机模拟一段时长后停止毛刺,再检测智能产品保持在线能力的表现,即是否正确处理了毛刺,并生成在线率测试结果;然后继续进行下一个毛刺场景的模拟,最后汇总生成各种场景各种设备的测试报告表。
由上可知,本发明能够自动化对设备进行测试,能够精准地完成各种毛刺场景模拟测试,保证了在线率场景测试的覆盖面,并且在保证测试覆盖面足够大且精细化的同时,节省了人工成本,还进一步提高了测试效率,提高了用户体验。
为了更好地实施以上方法,本申请实施例还提供一种设备测试装置,该设备测试装置具体可以集成在电子设备中,该电子设备可以为终端、服务器等设备。其中,终端可以为手机、平板电脑、智能蓝牙设备、笔记本电脑、个人电脑等设备;服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
比如,在本实施例中,将以设备测试装置具体集成在测试服务器中为例,对本申请实施例的方法进行详细说明。
例如,如图4所示,该设备测试装置可以包括信息获取模块14、毛刺场景获取模块15、毛刺场景测试模块16和设备检测模块17,如下:
(一)信息获取模块14
信息获取模块14用于获取设备的状态信息。
在一些实施例中,装置还包括设备配网模块,设备配网模块用于向设备发送触发指令,以便触发设备进入配网模式后联网。
在一些实施例中,设备配网模块包括配网子模块,配网子模块用于:
当设备为遥控设备时,通过模拟遥控器向设备发送遥控信号,以便设备进入配网模式;
当设备为面板易控设备时,通过自动机器人操作设备面板上的按键,以便所述设备进入配网模式;
当设备为面板难控设备时,利用串口工具连接设备的WiFi模组、并向设备发送配网指令,以便设备通过调试桥服务执行配网指令,从而进入配网模式。
在一些实施例中,信息获取模块包括信息获取第一模块,信息获取第一模块用于:
通过自动化测试框架打开与所述设备相关联的APP;
通过字符识别方法对所述APP的设备界面进行字符识别,得到离线字符识别信息;
通过xpath路径读取设备状态值;
将离线字符识别信息以及设备状态值作为所述设备的状态信息。
在一些实施例中,信息获取模块包括信息获取第二模块,信息获取第二模块用于:
调用云端接口,通过云端接口读取所述设备上报给云端的状态信息。
在一些实施例中,信息获取模块包括信息获取第三模块,信息获取第三模块用于:
基于日志接口,并利用串口工具捕获设备日志,根据设备日志获取设备的状态信息。
(二)毛刺场景获取模块15
毛刺场景获取模块15用于根据设备的状态信息从毛刺库中获取毛刺模拟场景,毛刺库存储有毛刺模拟场景,毛刺模拟场景中的毛刺为设备在信号处理期间接收到的非预期信号。
在一些实施例中,毛刺场景获取模块包括判断子模块,判断子模块用于当状态信息满足预设信息条件以及策略计时器满足预设时长时,从毛刺库中获取毛刺模拟场景。
在一些实施例中,毛刺模拟场景包括网络毛刺模拟场景、功率毛刺模拟场景和/或系统毛刺模拟场景;网络毛刺模拟场景为模拟网络故障情况下的毛刺场景;功率毛刺模拟场景为模拟电源功率故障情况下的毛刺场景;系统毛刺模拟场景为模拟系统资源故障情况下的毛刺场景。
(三)毛刺场景测试模块16
毛刺场景测试模块16用于根据毛刺模拟场景模拟毛刺,对设备进行毛刺场景测试。
在一些实施例中,毛刺场景测试模块包括网络毛刺模拟模块,网络毛刺模拟模块用于:
当毛刺模拟场景为模拟断网情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在路由器后台上取消WAN口的连接;
当毛刺模拟场景为模拟信号消失情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在路由器后台上关闭WiFi热点信号;
当毛刺模拟场景为模拟弱网情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在路由器后台上限制网络速度或设置高于丢包率阈值的丢包率。
在一些实施例中,毛刺场景测试模块包括功率毛刺模拟模块,功率毛刺模拟模块用于:
当毛刺模拟场景为模拟电源功率故障情况下的毛刺场景时,通过可控仪器模拟设备处于不同电压变化状态或断电状态。
在一些实施例中,毛刺场景测试模块包括系统毛刺模拟模块,系统毛刺模拟模块用于:
当毛刺模拟场景为模拟系统资源故障情况下的毛刺场景时,通过云端在高频请求条件下请求设备上报状态信息和/或在高频下发条件下向所述设备下发控制指令,以便设备处于高频操作的业务逻辑中,从而模拟系统资源故障情况下的毛刺;高频请求条件为预设请求时长内所述云端向所述设备发送的请求的次数大于请求次数阈值;高频下发条件为预设下发时长内所述云端向设备下发指令的次数大于下发次数阈值。
(四)设备检测模块17
设备检测模块17用于对完成毛刺场景测试的设备进行检测,得到设备的保持在线能力的测试结果,保持在线能力用于表征设备能够正常处理所述非预期信号的能力。
在一些实施例中,设备检测模块包括阶段标识符检测模块、状态信息检测模块和指令校验检测模块;
阶段标识符检测模块,用于获取设备在进行毛刺场景测试时生成的阶段标识符,对所述阶段标志符进行检测,当检测到所述阶段标志符缺失时,判定所述设备处理毛刺的状态为异常;阶段标志符用于表征所述设备在运行过程中的各个阶段以及不同阶段的处理结果;
状态信息检测模块,用于检测设备的状态信息,当检测到设备上报至云端的状态信息缺失时,判定设备处理毛刺的状态为异常;
指令校验检测模块,用于对设备进行功能指令校验,当检测到设备未根据所述功能指令进行响应时,判定设备处理毛刺的状态为异常。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的设备测试装置可以通过信息获取模块获取设备的状态信息,然后通过毛刺场景获取模块根据设备的状态信息从毛刺库中获取毛刺模拟场景,接着通过毛刺场景测试模块根据毛刺模拟场景模拟毛刺,对设备进行毛刺场景测试,再利用设备检测模块对完成毛刺场景测试的设备进行检测,得到设备的保持在线能力的测试结果。
由此,本发明通过对设备进行自动化测试,能够精准地完成各种毛刺场景模拟测试,保证了在线率场景测试的覆盖面,并且在保证测试覆盖面足够大且精细化的同时,节省了人工成本,还进一步提高了测试效率,并且后期设备发生故障时能够通过本发明的设备测试方法根据对应的毛刺模拟场景找到对应的故障点,本发明不仅实现了自动化测试,降低人力成本,而且提高了测试效率,降低了设备发生故障后的修复成本。
相应的,本申请实施例还提供一种电子设备,该电子设备可以为终端或服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机、个人数字助理(Personal Digital Assistant,PDA)等终端设备。该服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。
如图5所示,图5为本申请实施例所提供的电子设备结构示意图,电子设备包括:存储器18、处理器19和通信模块20。
其中,所述存储器18可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)、磁盘或固态硬盘等。其中,存储器18用于存储程序,所述处理器19在接收到执行指令后,执行所述程序。
所述处理器19可能是一种集成电路芯片,具有数据的处理能力。上述的处理器19可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。可以实现或者执行本发明中的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述通信模块20用于通过网络建立测试服务器与外部设备之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。
以上各个模块的具体实施可参见前面的实施例,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的电子设备可以精准地完成各种毛刺场景模拟自动测试,保证测试覆盖面足够大且精细化的同时,节省了人工成本,还进一步提高了测试效率,并且后期设备发生故障时能够通过本发明的设备测试方法根据对应的毛刺模拟场景找到对应的故障点,提高了测试效率,降低了设备发生故障后的修复成本。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种设备测试方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种设备测试方法中的步骤,因此,可以实现本申请实施例所提供的任一种设备测试方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种设备测试方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (15)
1.一种设备测试方法,其特征在于,所述方法包括:
获取所述设备的状态信息;
根据所述设备的状态信息从毛刺库中获取毛刺模拟场景,所述毛刺库存储有毛刺模拟场景,所述毛刺模拟场景中的毛刺为设备在信号处理期间接收到的非预期信号;
根据所述毛刺模拟场景模拟毛刺,对所述设备进行毛刺场景测试;
对完成所述毛刺场景测试的设备进行检测,得到所述设备的保持在线能力的测试结果,所述保持在线能力用于表征设备能够正常处理所述非预期信号的能力。
2.如权利要求1所述的设备测试方法,其特征在于,所述获取所述设备的状态信息之前,包括:
向设备发送触发指令,以便触发所述设备进入配网模式后联网。
3.如权利要求2所述的设备测试方法,其特征在于,所述向设备发送触发指令,包括:
当所述设备为遥控设备时,通过模拟遥控器向所述设备发送遥控信号,以便所述设备进入配网模式;
当所述设备为面板易控设备时,通过自动机器人操作所述设备面板上的按键,以便所述设备进入配网模式;
当所述设备为面板难控设备时,利用串口工具连接所述设备的WiFi模组、并向所述设备发送配网指令,以便所述设备通过调试桥服务执行所述配网指令,从而进入配网模式。
4.如权利要求1或3所述的设备测试方法,其特征在于,所述获取所述设备的状态信息,包括:
通过自动化测试框架打开与所述设备相关联的APP;
通过字符识别方法对所述APP的设备界面进行字符识别,得到离线字符识别信息;
通过xpath路径读取设备状态值;
将所述离线字符识别信息以及所述设备状态值作为所述设备的状态信息。
5.如权利要求4所述的设备测试方法,其特征在于,所述获取所述设备的状态信息,包括:
调用云端接口,通过所述云端接口读取所述设备上报给云端的状态信息。
6.如权利要求5所述的设备测试方法,其特征在于,所述获取所述设备的状态信息,包括:
基于日志接口,并利用串口工具捕获设备日志,根据所述设备日志获取所述设备的状态信息。
7.如权利要求1所述的设备测试方法,其特征在于,所述根据所述设备的状态信息从所述毛刺库中获取毛刺模拟场景,包括:
当所述状态信息满足预设信息条件以及策略计时器满足预设时长时,从所述毛刺库中获取毛刺模拟场景。
8.如权利要求1或7所述的设备测试方法,其特征在于,所述毛刺模拟场景包括网络毛刺模拟场景、功率毛刺模拟场景和/或系统毛刺模拟场景;所述网络毛刺模拟场景为模拟网络故障情况下的毛刺场景;所述功率毛刺模拟场景为模拟电源功率故障情况下的毛刺场景;所述系统毛刺模拟场景为模拟系统资源故障情况下的毛刺场景。
9.如权利要求8所述的设备测试方法,其特征在于,所述根据所述毛刺模拟场景模拟毛刺,包括:
当所述毛刺模拟场景为模拟断网情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在所述路由器后台上取消WAN口的连接;
当所述毛刺模拟场景为模拟信号消失情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在所述路由器后台上关闭WiFi热点信号;
当所述毛刺模拟场景为模拟弱网情况下的毛刺场景时,通过自动化脚本连接路由器后台,并在所述路由器后台上限制网络速度或设置高于丢包率阈值的丢包率。
10.如权利要求8所述的设备测试方法,其特征在于,所述根据所述毛刺模拟场景模拟毛刺,包括:
当所述毛刺模拟场景为模拟电源功率故障情况下的毛刺场景时,通过可控仪器模拟所述设备处于不同电压变化状态或断电状态。
11.如权利要求8所述的设备测试方法,其特征在于,所述根据所述毛刺模拟场景模拟毛刺,包括:
当所述毛刺模拟场景为模拟系统资源故障情况下的毛刺场景时,通过云端在高频请求条件下请求所述设备上报状态信息和/或在高频下发条件下向所述设备下发控制指令,以便所述设备处于高频操作的业务逻辑中,从而模拟系统资源故障情况下的毛刺;所述高频请求条件为预设请求时长内所述云端向所述设备发送的请求的次数大于请求次数阈值;所述高频下发条件为预设下发时长内所述云端向所述设备下发指令的次数大于下发次数阈值。
12.如权利要求1所述的设备测试方法,其特征在于,所述对完成所述毛刺场景测试的设备进行检测,包括:
获取所述设备在进行毛刺场景测试时生成的阶段标识符,对所述阶段标志符进行检测,当检测到所述阶段标志符缺失时,判定所述设备处理毛刺的状态为异常;所述阶段标志符用于表征所述设备在运行过程中的各个阶段以及不同阶段的处理结果;
检测所述设备的状态信息,当检测到所述设备上报至云端的状态信息缺失时,判定所述设备处理毛刺的状态为异常;
对所述设备进行功能指令校验,当检测到所述设备未根据所述功能指令进行响应时,判定所述设备处理毛刺的状态为异常。
13.一种设备测试装置,其特征在于,所述装置包括信息获取模块、毛刺场景获取模块、毛刺场景测试模块和设备检测模块;
所述信息获取模块,用于获取所述设备的状态信息;
所述毛刺场景获取模块,用于根据所述设备的状态信息从毛刺库中获取毛刺模拟场景,所述毛刺库存储有毛刺模拟场景,所述毛刺模拟场景中的毛刺为设备在信号处理期间接收到的非预期信号;
所述毛刺场景测试模块,用于根据所述毛刺模拟场景模拟毛刺,对所述设备进行毛刺场景测试;
所述设备检测模块,用于对完成所述毛刺场景测试的设备进行检测,得到所述设备的保持在线能力的测试结果,所述保持在线能力用于表征设备能够正常处理所述非预期信号的能力。
14.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令,所述处理器加载所述指令,以执行权利要求1至12任一项所述的设备测试方法中的步骤。
15.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至12任一项所述的设备测试方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111404406.2A CN114116343A (zh) | 2021-11-24 | 2021-11-24 | 一种设备测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111404406.2A CN114116343A (zh) | 2021-11-24 | 2021-11-24 | 一种设备测试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114116343A true CN114116343A (zh) | 2022-03-01 |
Family
ID=80371959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111404406.2A Pending CN114116343A (zh) | 2021-11-24 | 2021-11-24 | 一种设备测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114116343A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114428748A (zh) * | 2022-03-30 | 2022-05-03 | 北京数腾软件科技有限公司 | 一种用于真实业务场景的模拟测试方法及系统 |
-
2021
- 2021-11-24 CN CN202111404406.2A patent/CN114116343A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114428748A (zh) * | 2022-03-30 | 2022-05-03 | 北京数腾软件科技有限公司 | 一种用于真实业务场景的模拟测试方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112363943B (zh) | 一种埋点设置方法、装置、计算机设备和存储介质 | |
CN110798440B (zh) | 异常用户检测方法、装置、系统及计算机存储介质 | |
CN107819611B (zh) | 基于iec61850多服务端仿真的客户端测试方法 | |
CN110119350A (zh) | 软件开发工具包测试方法、装置和设备及计算机存储介质 | |
CN104978262A (zh) | 一种终端测试方法和装置 | |
CN112333057A (zh) | 智能家居设备配网测试方法及装置、执行机、存储介质 | |
CN107094091B (zh) | 一种智能变电站站控层网络配置校验方法和系统 | |
CN106403188A (zh) | 一种空调维护方法及其维护装置 | |
CN109036378A (zh) | 家电语音识别测试方法、装置、系统及存储介质 | |
CN103731663A (zh) | 一种智能电视的测试方法和装置 | |
CN114116343A (zh) | 一种设备测试方法、装置、电子设备及存储介质 | |
CN111355740A (zh) | 一种快速便捷检测防火墙配置的方法 | |
CN113986349A (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN104967667B (zh) | 一种基于云服务的软件稳定性测试远程监控系统 | |
CN111124828A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN116166536A (zh) | 一种测试方法、装置、电子设备及存储介质 | |
CN115454851A (zh) | 接口回归测试方法、装置、存储介质及电子装置 | |
CN103532778B (zh) | 用电信息采集设备智能测试方法 | |
CN112667512A (zh) | 数据驱动测试方法、装置、设备和计算机可读存储介质 | |
CN112003727A (zh) | 一种多节点服务器电源测试方法、系统、终端及存储介质 | |
CN117331758B (zh) | 靶标虚拟机镜像的校验方法、装置、电子设备及存储介质 | |
CN115426297B (zh) | 子设备的功能测试方法、装置、计算机设备和存储介质 | |
CN114826615B (zh) | 一种基于手机模拟器的移动端采集方法及系统 | |
CN112099922B (zh) | 基于图像识别定位的模拟器控制方法、系统及电子设备 | |
CN106789211A (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 |