CN115712529A - 一种边缘智能设备测试方法、装置、设备及存储介质 - Google Patents
一种边缘智能设备测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115712529A CN115712529A CN202211348603.1A CN202211348603A CN115712529A CN 115712529 A CN115712529 A CN 115712529A CN 202211348603 A CN202211348603 A CN 202211348603A CN 115712529 A CN115712529 A CN 115712529A
- Authority
- CN
- China
- Prior art keywords
- edge intelligent
- module
- algorithm
- edge
- 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
Landscapes
- Testing And Monitoring For Control Systems (AREA)
Abstract
本申请公开了一种边缘智能设备测试方法、装置、设备及存储介质,涉及计算机技术领域,包括:分别获取各个边缘智能设备的当前规格参数以及当前状态信息;根据当前规格参数及当前状态信息生成算法测试用例,并将算法测试用例分配至对应的边缘智能设备;根据算法测试用例运行边缘智能设备中的各类算法,并对运行过程中边缘智能设备中各个模块的状态参数进行监控得到状态参数数据;对预设时间内的状态参数数据进行均值处理,得到均值计算结果,并将均值计算结果与对应的模块的临界值进行对比得到对比结果,以便利用对比结果对各类算法进行测试。本申请能够自动化的生成及执行用例,提高边缘智能设备的测试效率,并节约人力成本。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种边缘智能设备测试方法、装置、设备及存储介质。
背景技术
边缘智能设备是一种将深度学习算法部署到生成数据的边缘设备,一般会集成多种算法,如人脸识别、烟火检测、物品遗失、人数统计、吸烟检测等。边缘智能设备会将接收到的外部传入的数据(如视频流数据)通过算法分析输出算法分析结果,然后通过算法分析结果进行特定软件功能的实现。
边缘智能设备作为一种新型人工智能产品,在测试领域区别于传统的软件测试,一方面要注重数据的多算法处理分析的指标性能表现,由于边缘智能设备中搭载了多种算法,与传统的单算法测试内容相比,边缘智能设备的算法测试不仅需要测试每类算法的指标性能等测试内容,而且还要通过设计用例测试多算法融合对边缘智能设备最终软件、指标、性能等的影响;同时,在边缘智能设备测试过程中的算法测试也需要大量的算法测试素材,进行测试素材的录制以及标定处理需要耗费较多的人力成本。另一方面,还要兼顾软件功能对边缘智能设备的影响,软件功能的测试在进行常规用例的执行时,也会进行随机测试,但是在进行随机测试时,需要进行各种配置项的更改以及用例的设计,往往难以全面有效的覆盖。目前,主流的边缘智能设备的测试是通过预先设计不同测试场景的测试用例并准备对应的测试素材,然后再通过人工执行用例的方式来进行的,由于当前阶段测试人员在测试边缘智能设备时,耗费了大量的时间和精力在前期的测试准备上,包括测试素材准备、测试用例设计等,因此导致了边缘智能设备测试效率较低,人力成本高的问题。
发明内容
有鉴于此,本申请的目的在于提供一种边缘智能设备测试方法、装置、设备及存储介质,能够自动的生成用例及自动化的执行用例,提高了边缘智能设备的测试效率。其具体方案如下:
第一方面,本申请公开了一种边缘智能设备测试方法,包括:
分别获取各个边缘智能设备的当前规格参数以及当前状态信息;
根据所述当前规格参数及所述当前状态信息生成算法测试用例,并将所述算法测试用例分配至对应的所述边缘智能设备;
根据所述算法测试用例运行所述边缘智能设备中的各类算法,并对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据;
对预设时间内的所述状态参数数据进行均值处理,得到均值计算结果,并将所述均值计算结果与对应的所述模块的临界值进行对比,得到对比结果,以便利用所述对比结果对各类所述算法进行测试。
可选的,所述对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据,包括:
按照预设的时间间隔对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据。
可选的,所述对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据之后,还包括:
通过文件的形式对所述状态参数数据进行保存,以便通过所述状态参数数据及所述边缘智能设备的运行日志对出现异常的所述模块进行定位诊断。
可选的,所述根据所述算法测试用例运行所述边缘智能设备中的各类算法,包括:
对所述边缘智能设备中各类所述算法对应的测试素材进行获取,得到初始测试素材;
对所述初始测试素材进行素材融合和/或素材拼接处理,得到所述扩充后测试素材,以便所述算法测试用例利用所述扩充后测试素材运行所述边缘智能设备中的各类算法。
可选的,所述利用所述扩充后测试素材运行所述边缘智能设备中的各类算法之后,还包括:
对各类所述算法对应的素材运行结果进行指标统计,得到指标统计结果,以便根据所述指标统计结果对各类所述算法对应的算法输出结果的精度进行验证。
可选的,所述边缘智能设备测试方法,还包括:
统计出所述边缘智能设备的软件功能中所有可组合的功能模块,得到多个目标功能模块;
利用多个所述目标功能模块并基于定向组合方式生成软件功能测试用例,以便利用所述软件功能测试用例对所述软件功能进行随机测试。
可选的,所述将所述均值计算结果与对应的所述模块的临界值进行对比,得到对比结果,以便利用所述对比结果对各类所述算法进行测试,包括:
分别判断所述均值计算结果是否大于对应的所述模块的临界值,若所有所述均值计算结果均大于对应的所述模块的所述临界值则判定各类所述算法正常,若存在所述均值计算结果不大于对应的所述模块的所述临界值的情况则判定所述边缘智能设备存在异常。
第二方面,本申请公开了一种边缘智能设备测试装置,包括:
信息获取模块,用于分别获取各个边缘智能设备的当前规格参数以及当前状态信息;
算法测试用例生成模块,用于根据所述当前规格参数及所述当前状态信息生成算法测试用例;
算法测试用例分配模块,用于将所述算法测试用例分配至对应的所述边缘智能设备;
测试素材运行模块,用于根据所述算法测试用例运行所述边缘智能设备中的各类算法;
状态参数监控模块,用于对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据;
均值处理模块,用于对预设时间内的所述状态参数数据进行均值处理,得到均值计算结果;
数值对比模块,用于将所述均值计算结果与对应的所述模块的临界值进行对比,得到对比结果;
算法测试模块,用于利用所述对比结果对各类所述各类算法进行测试。
第三方面,本申请公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述的边缘智能设备测试方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述的边缘智能设备测试方法。
可见,本申请先分别获取各个边缘智能设备的当前规格参数以及当前状态信息,然后根据所述当前规格参数及所述当前状态信息生成算法测试用例,并将所述算法测试用例分配至对应的所述边缘智能设备,接着根据所述算法测试用例运行所述边缘智能设备中的各类算法,并对运行过程中所述边缘智能设备中各个模块的状态参数进行监控得到状态参数数据,再对预设时间内的所述状态参数数据进行均值处理得到均值计算结果,并将所述均值计算结果与对应的所述模块的临界值进行对比得到对比结果,以便利用所述对比结果对各类所述算法进行测试。本申请在对边缘智能设备中各类算法进行测试时,先利用各个边缘智能设备的当前规格参数以及当前状态信息生成算法测试用例,然后根据算法测试用例运行各类算法,并通过算法测试用例运行过程中监控到的状态参数数据与预设临界值的对比结果来对算法进行测试,从而实现了自动的用例生成及用例的自动化执行,提高了边缘智能设备的测试效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种边缘智能设备测试方法流程图;
图2为本申请公开的一种具体的边缘智能设备系统结构图;
图3为本申请公开的一种具体的边缘智能设备测试用例初始状态示意图;
图4为本申请公开的一种具体的视频帧融合示意图;
图5为本申请公开的一种具体的正常状态下CPU状态曲线示意图;
图6为本申请公开的一种具体的异常状态下CPU状态曲线示意图;
图7为本申请公开的一种边缘智能设备测试方法流程图;
图8为本申请公开的一种具体的边缘智能设备测试用例生成示意图;
图9为本申请公开的一种具体的软件功能随机测试方法示意图;
图10为本申请公开的一种边缘智能设备测试装置结构示意图;
图11为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种边缘智能设备测试方法,参见图1所示,该方法包括:
步骤S11:分别获取各个边缘智能设备的当前规格参数以及当前状态信息。
本实施例中,首先分别对多个边缘智能设备的当前规格参数以及当前状态信息进行获取,其中,所述边缘智能设备的系统结构图参见图2所示,具体包括数据输入模块、算法分析模块、算法结果模块及软件功能模块。其中,Vn代表第n路数据流,An代表所述边缘智能设备上搭载的第n类算法,Dn代表第n类算法输出的结果。可以理解的是,根据所述边缘智能设备规格的不同,接入的数据流的路数也不同,如4路、8路、16路、32路等,并且Vn、An以及Dn之间的数量也并不一定相同。
具体的,所述边缘智能设备中的上述四个模块的处理流程为:先通过数据输入模块获取外部输入数据,如外部摄像机传来的视频流数据,并对外部输入数据进行编解码处理,然后将处理后的数据传送至算法分析模块;算法分析模块在接收到数据输入模块发送的数据后,对其进行算法分析,需要指出的是,与单独的算法分析不同,边缘智能产品中的算法不仅能对一路数据流进行单独的算法分析,而且可以同时运行多种算法,如对一路视频流数据同时进行人脸识别、行为分析、消防应急等算法的分析,算法分析模块在进行算法分析后会将算法分析的结果输入到算法结果模块,最后通过算法结果模块将算法分析的结果输入到软件功能模块做进一步处理。
步骤S12:根据所述当前规格参数及所述当前状态信息生成算法测试用例,并将所述算法测试用例分配至对应的所述边缘智能设备。
本实施例中,分别获取各个边缘智能设备的当前规格参数以及当前状态信息之后,可以进一步的根据上述当前规格参数及上述当前状态信息生成相应的算法测试用例,然后将上述算法测试用例分配到对应的所述边缘智能设备中。其中,将算法测试用例分配至对应的边缘智能设备中的过程具体可以通过边缘智能设备中算法相关的接口来实现算法的配置。
在一种具体的实施方式中,参见图3所示,图3示出了一种算法测试用例的初始状态,具体为每路数据流运行一种算法。需要指出的是,当图3中Vn、An及Dn之间的数量不相同时,生成的算法测试用例应分两种情况,第一种情况是数据流路数大于算法的数量,此时应保证每类算法都能在一路数据流中进行运行分析;第二种情况是数据流路数小于算法的数量,此时可以通过扩充边缘智能设备,使得所有的边缘智能设备相加得到的数据流路数大于算法的总数量,以保证初始算法测试时能够测试到每一种算法,需要指出的是,通过增加边缘设备个数提高视频路数时,假设边缘智能设备支持Pn路数据流,边缘智能设备的数量为A,则应保证在测试时A*Pn>Dn,此时A*Pn即为图3中的Vn。
步骤S13:根据所述算法测试用例运行所述边缘智能设备中的各类算法,并对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据。
本实施例中,将所述算法测试用例分配至对应的所述边缘智能设备之后,可以根据上述算法测试用例运行所述边缘智能设备中的各类算法,然后对运行过程中上述边缘智能设备中各个模块的状态参数进行获取,得到相应的状态参数数据;其中,所述模块包括但不限于软件模块和硬件模块等,所述硬件模块包括但不限于CPU(Central ProcessingUnit,中央处理器)、I/O(Input/Output、输入/输出)端口、内存等,所述状态参数数据包括但不限于CPU占用率、I/O百分比、内存百分比等。
需要指出的是,本实施例为了提高边缘智能设备的测试效率,节约测试素材准备的人力成本,对边缘智能设备中各类算法对应的单测试素材进行了扩充处理。具体的,所述根据所述算法测试用例运行所述边缘智能设备中的各类算法,可以包括:对所述边缘智能设备中各类所述算法对应的测试素材进行获取,得到初始测试素材;对所述初始测试素材进行素材融合和/或素材拼接处理,得到所述扩充后测试素材,以便所述算法测试用例利用所述扩充后测试素材运行所述边缘智能设备中的各类算法。在一种具体的实施方式中,当边缘智能设备中各类算法对应的测试素材为视频流数据时,可以通过视频处理手段将两段及两段以上的视频测试素材合并到同一帧画面之中,而针对每一视频测试素材对应的标定信息的处理,可以在融合前先将视频测试素材的标注信息与其视频测试素材所属的算法类型做映射关系,然后将融合后的信息进行集合形成新的标注信息。具体的,参见图4所示,其中,m1、m2、m3、m4分别代表四类不同算法的测试素材,将上述四类不同算法融合到同一帧上,融合前的标注信息可以分别表示为:{A1:[[pm,pn],loc]}、{A2:[[pm,pn],loc]}、{A3:[[pm,pn],loc]}、{A4:[[pm,pn],loc]},素材融合后的标注信息可以分别表示为:[A1:[[pm,pn],loc+θ]、A2:[[pm,pn],loc+θ]、A3:[[Pm,Pn],loc+θ]、A4[[pm,pn],loc+θ]],可以看出经过融合后,素材内容标注信息中帧号信息内容不变,但事件的位置信息经过图像的缩放和偏移后会发生变化,其中,参数θ的取值由实际素材融合时图像的缩小倍数或者偏移距离决定。需要指出的是,在进行视频测试素材融合时,只需要两段以上即可,在融合时不需要每段素材的图像大小一致,并且在算法要求的合理范围内,可以对每段视频测试素材的大小进行加权处理后再进行拼接。在另一种具体的实施方式中,可以通过素材拼接的方式进行素材融合,如通过视频处理手段将多段视频测试素材按照顺序合并到同一段素材中,通过上述拼接的方式得到算法测试素材,事件的位置信息不发生变化,只有帧号信息发生变化。例如,当对两段视频素材进行拼接时,融合前标注信息为:{A1:[[pm,pn],loc]},{A2:[[pm,pn],loc]},则融合后的标注信息为:[{A1:[[pm,pn],loc]},其中,参数表示该段视频素材在拼接时,之前所有视频帧的帧数。在获取到扩充后测试素材之后,所述算法测试用例可以利用上述扩充后测试素材运行所述边缘智能设备中的各类算法,即开始对各类算法进行测试。
进一步的,所述对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据之后,还可以包括:通过文件的形式,对所述状态参数数据进行保存,以便通过所述状态参数数据及所述边缘智能设备的运行日志对出现异常的所述模块进行定位诊断。需要指出的是,在得到状态参数数据之后,可以通过文件的形式,如包含图、表的文件形式对上述状态参数数据进行保存,这样一来,当边缘智能设备中的模块出现异常时,便可以通过状态参数数据及边缘智能设备的运行日志对出现异常的模块进行快速的定位及诊断。
步骤S14:对预设时间内的所述状态参数数据进行均值处理,得到均值计算结果,并将所述均值计算结果与对应的所述模块的临界值进行对比,得到对比结果,以便利用所述对比结果对各类所述算法进行测试。
本实施例中,对运行过程中所述边缘智能设备中各个模块的状态参数进行监控得到状态参数数据之后,可以进一步的对预设时间内采集到的上述状态参数数据进行均值处理得到相应的均值计算结果,然后将上述均值计算结果与对应的所述模块的临界值进行对比得到相应的对比结果,再利用上述对比结果对各类算法进行测试。需要指出的是,算法测试用例结束的时间应以扩充后测试素材全部运行完毕的时间为准。
例如,当每隔一段时间,如每隔10分钟进行一次边缘智能设备的状态参数获取时,可以对预设次数,如20次的状态参数进行均值计算,并与边缘智能设备中各个模块预设的临界值作对比,如下式所示:
其中,t代表连续获取设备状态参数的次数,k=n代表第n次获取的设备状态参数,sk代表第k次获取的设备状态参数的值,S代表状态参数的临界值。
进一步的,获取设备状态参数的值与对应的临界值之间的差值M,若M<0则认为边缘智能设备性能表现正常,若M>=0则认为性能表现可能存在异常。具体的,参见图5和图6所示,其中,图5示出了正常状态下CPU的状态曲线,图6示出了异常状态下CPU的状态曲线。可以理解的是,在实际运行中,边缘智能设备的CPU或者内存在某一时刻可能超出为其预设的临界值,这种状态是正常的,但是持续超出临界值则可能是边缘智能设备性存在问题而引起的。其中,临界值的设置可根据实际测试情况进行确定,如将CPU和内存的临界值设置为最大值的70%,将I/O端口的临界值设置为最大值的60%。
进一步的,所述利用所述扩充后测试素材运行所述边缘智能设备中的各类算法之后,具体还包括:对各类所述算法对应的素材运行结果进行指标统计,得到指标统计结果,以便根据所述指标统计结果对各类所述算法对应的算法输出结果的精度进行验证。可以理解的是,在对各类算法进行测试之后,会在算法结果模块产生相应的算法分析结果,为了对各类算法的精度进行验证,即对算法结果模块进行测试,可以先对素材运行结果进行指标统计,然后通过指标统计结果对各类算法对应的算法输出结果的精度进行验证,在一种具体的实施方式中,可以通过自动化指标统计工具对扩充后测试素材的素材运行结果与其对应的标注信息实现指标的自动统计。
另外,需要指出的是,本实施例中除了对边缘智能设备中的各类算法进行测试,还可以对所述边缘智能设备的软件功能进行测试,具体可以包括:统计出所述边缘智能设备的软件功能中所有可组合的功能模块,得到多个目标功能模块;利用多个所述目标功能模块并基于定向组合方式生成软件功能测试用例,以便利用所述软件功能测试用例对所述软件功能进行随机测试。也即,在对边缘智能设备的软件功能进行测试时,可以先对上述边缘智能设备的软件功能中所有可以组合的功能模块进行统计得到多个目标功能模块,接着,利用多个上述目标功能模块并基于定向组合方式生成软件功能测试用例,然后再利用上述软件功能测试用例对所述软件功能进行随机测试。进一步的,在对软件功能进行随机测试时,为了有助于随机测试发现问题,可以在每次测试过程中添加随机测试的变化权重来实现随机测试的定向性;其中,所述功能模块包括但不限于:web模块、人机模块、算法模块、IO输出模块、服务对接模块等。
可见,本申请实施例先分别获取各个边缘智能设备的当前规格参数以及当前状态信息,然后根据所述当前规格参数及所述当前状态信息生成算法测试用例,并将所述算法测试用例分配至对应的所述边缘智能设备,接着根据所述算法测试用例运行所述边缘智能设备中的各类算法,并对运行过程中所述边缘智能设备中各个模块的状态参数进行监控得到状态参数数据,再对预设时间内的所述状态参数数据进行均值处理得到均值计算结果,并将所述均值计算结果与对应的所述模块的临界值进行对比得到对比结果,以便利用所述对比结果对各类所述算法进行测试。本申请实施例在对边缘智能设备中各类算法进行测试时,先利用各个边缘智能设备的当前规格参数以及当前状态信息生成算法测试用例,然后根据算法测试用例运行各类算法,并通过算法测试用例运行过程中监控到的状态参数数据与预设临界值的对比结果来对算法进行测试,从而实现了自动的用例生成及用例的自动化执行,提高了边缘智能设备的测试效率。
本申请实施例公开了一种具体的边缘智能设备测试方法,参见图7所示,该方法包括:
步骤S21:分别获取各个边缘智能设备的当前规格参数以及当前状态信息。
步骤S22:根据所述当前规格参数及所述当前状态信息生成算法测试用例,并将所述算法测试用例分配至对应的所述边缘智能设备。
步骤S23:对所述边缘智能设备中各类所述算法对应的测试素材进行获取,得到初始测试素材。
步骤S24:对所述初始测试素材进行素材融合和/或素材拼接处理,得到扩充后测试素材,以便所述算法测试用例利用所述扩充后测试素材运行所述边缘智能设备中的各类算法,并按照预设的时间间隔对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据。
本实施例中,将对所述边缘智能设备中各类所述算法对应的测试素材进行获取得到初始测试素材之后,先通过素材融合和/或素材拼接处理的方式对上述初始测试素材进行扩充得到扩充后测试素材,然后上述算法测试用例运行利用所述扩充后测试素材运行所述边缘智能设备中各类算法,接着按照预设的时间间隔,如每隔10分钟对运行过程中上述边缘智能设备中各个模块的状态参数进行获取得到相应的状态参数数据。
需要指出的是,由于测试人员电脑需要与测试设备,即所述边缘智能设备进行通信,以获取所述边缘智能设备的状态资源,因此需要实现不同通信协议之间的通信,以设备通过Telnet协议进行通信为例,可以通过python+telnetlib实现测试人员电脑与边缘智能设备之间的通信,从而进行CPU、内存、I/O等状态资源的获取。
步骤S25:对各类所述算法对应的素材运行结果进行指标统计,得到指标统计结果,以便根据所述指标统计结果对各类所述算法对应的算法输出结果的精度进行验证。
步骤S26:对预设时间内的所述状态参数数据进行均值处理,得到均值计算结果,并分别判断所述均值计算结果是否大于对应的所述模块的临界值,若所有所述均值计算结果均大于对应的所述模块的所述临界值则判定各类所述算法正常,若存在所述均值计算结果不大于对应的所述模块的所述临界值的情况则判定所述边缘智能设备存在异常。
本实施例中,按照预设的时间间隔对运行过程中所述边缘智能设备中各个模块的状态参数进行监控得到状态参数数据之后,可以进一步的对预设时间内的上述状态参数数据进行均值处理,得到相应的均值计算结果,然后分别判断上述均值计算结果是否大于对应的所述模块的临界值,如果所有上述均值计算结果均大于对应的所述模块的所述临界值,则判定各类上述算法正常,如果存在上述均值计算结果不大于对应的所述模块的所述临界值的情况,则可以判定上述边缘智能设备存在异常。例如,若设备状态参数的值与对应的临界值之间的差值M<0,则认为边缘智能设备性能表现正常,在下次算法测试时,参见图8所示,可以从剩余算法中随机选取一个算法组合生成新的用例,如输入数据V1中上次运行的算法为A1,在A1算法运行完成后,将随机的从[A2,…,An]算法中选取一个算法组合形成新的算法用例,并继续下一轮的算法运行,若在运行的过程中状态参数持续运行正常,则到最后一轮的测试时,所有算法同时运行,从而对各类算法进行测试;若设备状态参数的值与对应的临界值之间的差值M>=0,则设备在下次的算法用例生成时,仍然从剩余算法中随机选取一个算法组合生成新的用例,并继续对运行的过程中状态参数进行状态监控,若仍然存在异常,则算法测试结束,若状态参数未发现异常则持续迭代直至运行完所有算法组合为止,并在算法测试结束后,再根据边缘智能设备的状态参数异常时的组合进行进一步的定位诊断。若设备状态参数的值无法正常获取,M未计算得出,则可认为设备重启,即边缘智能设备可能存在挂死,则结束当前算法测试,并认为边缘智能设备存在质量问题,此时测试人员可根据该边缘智能设备的状态运行曲线并结合设备运行日志进行问题的定位诊断。
步骤S27:统计出所述边缘智能设备的软件功能中所有可组合的功能模块,得到多个目标功能模块。
步骤S28:利用多个所述目标功能模块并基于定向组合方式生成软件功能测试用例,以便利用所述软件功能测试用例对所述软件功能进行随机测试。
本实施例中,统计出所述边缘智能设备的软件功能中所有可组合的功能模块,得到多个目标功能模块之后,可以对每个上述功能模块中可组合的接口及每个上述接口涉及到的字段进行统计。具体的,参见图9所示,在统计出软件功能可组合的n个功能模块:F1、F2、…、Fn之后,接着统计出每个功能模块可组合的接口,如统计出包含I1、I2、…、In的n个接口,再统计出每个接口涉及到的字段,如统计出包含s1、s2,…、sn的n个字段。进一步的,通过排列组合的方式自动生成软件测试下的测试场景,然后在该场景下进行一定时长的软件功能测试。参见图9所示,与算法测试相同,在获取到功能模块列表[F1,F2,…,Fn]之后,可以通过参数M确定功能模块的组合数量,其中,M的值由[1:n]顺序生成;所有可能形成的软件测试的场景数量为:当功能模块的顺序确定之后,可以进一步的确定单个功能模块下的接口的执行顺序,接口的执行顺序可以通过输入参数生成排列顺序的方式实现。具体的,接口执行顺序在生成时,可以先获取每个功能模块的接口列表[I1,I2,…,In],然后设置参数m,m为随机数的取值范围,接着通过排列的方法决定接口的组合顺序。在一种具体的实施方式中,当F1功能模块下有n个接口,输入参数为m,并且m≤n时,排列生成的测试场景数量为排列顺序的生成方式可通过程序来自动化实现。
同算法测试的过程相同,软件功能测试的过程具体分为三种状态:第一种状态为,在软件功能测试用例运行过程中设备参数表现正常时,随机测试仍然采取随机测试系统不变的用例迭代生成方式,持续进行软件功能的随机测试;第二种状态为,当设备状态参数获取失败时停止测试,判定为异常状态,此时测试人员可以根据设备状态与设备自身日志进行定位诊断;第三种状态为,异常状态,即M>0,后续随机测试生成用例时将在既有的功能模块以及接口序列中进行随机生成,从而缩小随机测试范围。
进一步的,若随机测试选取的是功能模块为接口组合为的测试场景,若此场景下状态参数高于临界值,则后续随机测试的进行功能组合的规则为:功能模块组合不变,后续测试将在此功能组合下进行更多的接口组合以及执行顺序的变化,并重点验证该功能模块组合下的场景;当m>1时,后续的测试用例的变化为随机测试的组合的取值范围每次减一,直到变为当m=1时,此时的用例运行状态较为简单,因此不需要进行进一步的组合,此时测试人员可以直接设备日志与运行状态的记录进行问题的定位。
需要指出的是,上述软件功能测试时虽然产生的用例数量较多,但在接口测试运行时,需要的时间是较少的,如运行完100条接口所用的时间一般不会超出5分钟,因此通过本方案进行随机测试时,不需要担心测试用例过多会导致测试周期变长及影响测试进度。
其中,关于上述步骤S21、S22、S23、S25、S27更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例在对边缘智能设备进行多算法测试时,通过对边缘智能设备的状态参数进行监控生成的三种状态来进行用例的持续生成,在用例迭代的过程中,持续叠加算法测试项并进行设备状态信息的记录,可实现多算法测试的遍历以及有助于问题发现后的定位;在对软件功能进行测试时,利用多个功能模块及每个功能模块对应的接口和字段并基于定向组合方式生成软件功能测试用例,使得在状态异常时,能够控制随机组合参数,缩小测试组合范围,使随机测试具备方向性,有助于软件随机测试时问题的发现以及定位;另外,本申请实施例使用的是扩充后的测试素材,即对单算法测试素材进行进一步的扩充,这样一来,能够节约测试素材准备的人力成本,进而提高了边缘智能设备的测试效率。
相应的,本申请实施例还公开了一种边缘智能设备测试装置,参见图10所示,该装置包括:
信息获取模块11,用于分别获取各个边缘智能设备的当前规格参数以及当前状态信息;
算法测试用例生成模块12,用于根据所述当前规格参数及所述当前状态信息生成算法测试用例;
算法测试用例分配模块13,用于将所述算法测试用例分配至对应的所述边缘智能设备;
测试素材运行模块14,用于根据所述算法测试用例运行所述边缘智能设备中的各类算法;
状态参数监控模块15,用于对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据;
均值处理模块16,用于对预设时间内的所述状态参数数据进行均值处理,得到均值计算结果;
数值对比模块17,用于将所述均值计算结果与对应的所述模块的临界值进行对比,得到对比结果;
算法测试模块18,用于利用所述对比结果对各类所述各类算法进行测试。
其中,关于上述各个模块的具体工作流程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例中,先分别获取各个边缘智能设备的当前规格参数以及当前状态信息,然后根据所述当前规格参数及所述当前状态信息生成算法测试用例,并将所述算法测试用例分配至对应的所述边缘智能设备,接着根据所述算法测试用例运行所述边缘智能设备中的各类算法,并对运行过程中所述边缘智能设备中各个模块的状态参数进行监控得到状态参数数据,再对预设时间内的所述状态参数数据进行均值处理得到均值计算结果,并将所述均值计算结果与对应的所述模块的临界值进行对比得到对比结果,以便利用所述对比结果对各类所述算法进行测试。本申请实施例在对边缘智能设备中各类算法进行测试时,先利用各个边缘智能设备的当前规格参数以及当前状态信息生成算法测试用例,然后根据算法测试用例运行各类算法,并通过算法测试用例运行过程中监控到的状态参数数据与预设临界值的对比结果来对算法进行测试,从而实现了自动的用例生成及用例的自动化执行,提高了边缘智能设备的测试效率。
在一些具体实施例中,所述状态参数监控模块15,具体可以包括:
状态参数监控单元,用于按照预设的时间间隔对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据。
在一些具体实施例中,所述状态参数监控模块15之后,还可以包括:
状态参数数据保存单元,用于通过文件的形式对所述状态参数数据进行保存,以便通过所述状态参数数据及所述边缘智能设备的运行日志对出现异常的所述模块进行定位诊断。
在一些具体实施例中,所述测试素材运行模块14,具体可以包括:
初始测试素材获取单元,用于对所述边缘智能设备中各类所述算法对应的测试素材进行获取,得到初始测试素材;
测试素材扩充单元,用于对所述初始测试素材进行素材融合和/或素材拼接处理,得到所述扩充后测试素材;
测试素材运行单元,用于所述算法测试用例利用所述扩充后测试素材运行所述边缘智能设备中的各类算法。
在一些具体实施例中,所述测试素材运行单元之后,还可以包括:
指标统计单元,用于对各类所述算法对应的素材运行结果进行指标统计,得到指标统计结果;
精度验证单元,用于根据所述指标统计结果对各类所述算法对应的算法输出结果的精度进行验证。
在一些具体实施例中,所述边缘智能设备测试装置,还可以包括:
功能模块组合统计模块,用于统计出所述边缘智能设备的软件功能中所有可组合的功能模块,得到多个目标功能模块;
软件功能用例生成模块,用于利用多个所述目标功能模块并基于定向组合方式生成软件功能测试用例;
软件功能测试模块,用于利用所述软件功能测试用例对所述软件功能进行随机测试。
在一些具体实施例中,所述数值对比模块17,具体可以包括:
判断单元,用于分别判断所述均值计算结果是否大于对应的所述模块的临界值。
在一些具体实施例中,所述算法测试模块18,具体可以包括:
第一判定单元,用于如果所有所述均值计算结果均大于对应的所述模块的所述临界值则判定各类所述算法正常;
第二判定单元,用于如果存在所述均值计算结果不大于对应的所述模块的所述临界值的情况则判定所述边缘智能设备存在异常。
进一步的,本申请实施例还公开了一种电子设备,图11是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图11为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的边缘智能设备测试方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的边缘智能设备测试方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的边缘智能设备测试方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种边缘智能设备测试方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种边缘智能设备测试方法,其特征在于,包括:
分别获取各个边缘智能设备的当前规格参数以及当前状态信息;
根据所述当前规格参数及所述当前状态信息生成算法测试用例,并将所述算法测试用例分配至对应的所述边缘智能设备;
根据所述算法测试用例运行所述边缘智能设备中的各类算法,并对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据;
对预设时间内的所述状态参数数据进行均值处理,得到均值计算结果,并将所述均值计算结果与对应的所述模块的临界值进行对比,得到对比结果,以便利用所述对比结果对各类所述算法进行测试。
2.根据权利要求1所述的边缘智能设备测试方法,其特征在于,所述对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据,包括:
按照预设的时间间隔对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据。
3.根据权利要求1所述的边缘智能设备测试方法,其特征在于,所述对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据之后,还包括:
通过文件的形式对所述状态参数数据进行保存,以便通过所述状态参数数据及所述边缘智能设备的运行日志对出现异常的所述模块进行定位诊断。
4.根据权利要求1所述的边缘智能设备测试方法,其特征在于,所述根据所述算法测试用例运行所述边缘智能设备中的各类算法,包括:
对所述边缘智能设备中各类所述算法对应的测试素材进行获取,得到初始测试素材;
对所述初始测试素材进行素材融合和/或素材拼接处理,得到所述扩充后测试素材,以便所述算法测试用例利用所述扩充后测试素材运行所述边缘智能设备中的各类算法。
5.根据权利要求4所述的边缘智能设备测试方法,其特征在于,所述利用所述扩充后测试素材运行所述边缘智能设备中的各类算法之后,还包括:
对各类所述算法对应的素材运行结果进行指标统计,得到指标统计结果,以便根据所述指标统计结果对各类所述算法对应的算法输出结果的精度进行验证。
6.根据权利要求1所述的边缘智能设备测试方法,其特征在于,还包括:
统计出所述边缘智能设备的软件功能中所有可组合的功能模块,得到多个目标功能模块;
利用多个所述目标功能模块并基于定向组合方式生成软件功能测试用例,以便利用所述软件功能测试用例对所述软件功能进行随机测试。
7.根据权利要求1至6任一项所述的边缘智能设备测试方法,其特征在于,所述将所述均值计算结果与对应的所述模块的临界值进行对比,得到对比结果,以便利用所述对比结果对各类所述算法进行测试,包括:
分别判断所述均值计算结果是否大于对应的所述模块的临界值,若所有所述均值计算结果均大于对应的所述模块的所述临界值则判定各类所述算法正常,若存在所述均值计算结果不大于对应的所述模块的所述临界值的情况则判定所述边缘智能设备存在异常。
8.一种边缘智能设备测试装置,其特征在于,包括:
信息获取模块,用于分别获取各个边缘智能设备的当前规格参数以及当前状态信息;
算法测试用例生成模块,用于根据所述当前规格参数及所述当前状态信息生成算法测试用例;
算法测试用例分配模块,用于将所述算法测试用例分配至对应的所述边缘智能设备;
测试素材运行模块,用于根据所述算法测试用例运行所述边缘智能设备中的各类算法;
状态参数监控模块,用于对运行过程中所述边缘智能设备中各个模块的状态参数进行监控,得到状态参数数据;
均值处理模块,用于对预设时间内的所述状态参数数据进行均值处理,得到均值计算结果;
数值对比模块,用于将所述均值计算结果与对应的所述模块的临界值进行对比,得到对比结果;
算法测试模块,用于利用所述对比结果对各类所述各类算法进行测试。
9.一种电子设备,其特征在于,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1至7任一项所述的边缘智能设备测试方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的边缘智能设备测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211348603.1A CN115712529A (zh) | 2022-10-31 | 2022-10-31 | 一种边缘智能设备测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211348603.1A CN115712529A (zh) | 2022-10-31 | 2022-10-31 | 一种边缘智能设备测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115712529A true CN115712529A (zh) | 2023-02-24 |
Family
ID=85231789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211348603.1A Pending CN115712529A (zh) | 2022-10-31 | 2022-10-31 | 一种边缘智能设备测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115712529A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225944A (zh) * | 2023-03-09 | 2023-06-06 | 矩阵时光数字科技有限公司 | 一种预置组网环境的软件测试系统和方法 |
-
2022
- 2022-10-31 CN CN202211348603.1A patent/CN115712529A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225944A (zh) * | 2023-03-09 | 2023-06-06 | 矩阵时光数字科技有限公司 | 一种预置组网环境的软件测试系统和方法 |
CN116225944B (zh) * | 2023-03-09 | 2024-05-07 | 矩阵时光数字科技有限公司 | 一种预置组网环境的软件测试系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110572297B (zh) | 网络性能的评估方法、服务器及存储介质 | |
CN108989136B (zh) | 业务端到端性能监控方法及装置 | |
CN106685676B (zh) | 一种节点切换方法及装置 | |
CN111200526B (zh) | 网络设备的监控系统及方法 | |
WO2018082340A1 (zh) | 仿真测试系统和仿真测试方法 | |
US20200021511A1 (en) | Performance analysis for transport networks using frequent log sequence discovery | |
CN107704387B (zh) | 用于系统预警的方法、装置、电子设备及计算机可读介质 | |
CN112350854B (zh) | 一种流量故障定位方法、装置、设备及存储介质 | |
EP3324256A2 (en) | Control system and control device | |
CN111124830B (zh) | 一种微服务的监控方法及装置 | |
CN111753875A (zh) | 一种电力信息系统运行趋势分析方法、装置及存储介质 | |
CN114338447A (zh) | Radius环境下的全链路压测方法、装置、计算机设备及存储介质 | |
CN115712529A (zh) | 一种边缘智能设备测试方法、装置、设备及存储介质 | |
CN111181800A (zh) | 测试数据处理方法、装置、电子设备及存储介质 | |
CN107203464B (zh) | 业务问题的定位方法以及装置 | |
CN112636942A (zh) | 业务主机节点的监测方法及装置 | |
CN110825466B (zh) | 一种程序卡顿的处理方法以及卡顿处理装置 | |
CN114416589B (zh) | 网络靶场综合检测方法、装置、设备及可读存储介质 | |
CN115038088A (zh) | 一种智能网络安全检测预警系统和方法 | |
CN114095032B (zh) | 基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质 | |
CN101252477B (zh) | 一种网络故障根源的确定方法及分析装置 | |
CN109462510B (zh) | 一种cdn节点质量评估的方法及装置 | |
CN111654405A (zh) | 通信链路的故障节点方法、装置、设备及存储介质 | |
CN116302795A (zh) | 一种基于人工智能的终端运维系统及方法 | |
CN109067603B (zh) | 一种确定变电站网络vlan配置问题的方法及系统 |
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 |