应用程序测试方法、装置、系统、网络摄像头以及介质与流程

    专利2022-07-07  118


    本申请涉及智能摄像头技术领域,且更为具体地,涉及一种应用程序测试方法、装置、系统、网络摄像头以及介质。



    背景技术:

    通常网络摄像头(ipcamera,ipc)的软件测试,包括业务功能和性能测试、算法功能和性能测试以及稳定性测试等。在评价测试结果时,不仅需要评测当前提测版的功能性能,而且还要比对历史已测版在不同固件、算法、模型维度组合下的业务功能改进点、性能优化程度以及算法准确性提升度等。

    测试数据是影响测试结果的重要因素。在对网络摄像头的每个软件版本进行测试时,均需要在各种业务场景下,例如不同的拍摄地点、时间或者各种目标人物的表情、动作以及服饰等场景下通过网络摄像头直接拍摄测试数据,这样容易受到测试环境的影响,不利于提高测试结果的准确性。



    技术实现要素:

    为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种应用程序测试方法、装置、系统、网络摄像头以及介质,其通过从存储设备读取预先存储的目标图像数据,对网络摄像头中的应用程序进行测试,避免了在不同次测试中实时拍摄引入周围环境因素对测试结果造成影响,有利于提高测试结果的准确性。

    根据本申请的第一方面,提供了一种应用程序测试方法,所述方法包括:接收测试指令;基于所述测试指令,从存储设备中获取预先存储的目标图像数据;通过所述目标图像数据对网络摄像头中的应用程序进行测试。

    根据本申请的第二方面,提供了一种应用程序测试方法,所述方法包括:生成测试指令;将所述测试指令发送给网络摄像头,以使得所述网络摄像头基于所述测试指令时,从存储设备中获取预先存储的目标图像数据,并通过所述目标图像数据对所述网络摄像头中的应用程序进行测试。

    根据本申请的第三方面,提供了一种应用程序测试装置,所述装置包括:接收模块,用于接收到测试指令;获取模块,用于基于所述测试指令,从存储设备中获取预先存储的目标图像数据;测试模块,用于通过所述目标图像数据对网络摄像头中的应用程序进行测试。

    根据本申请的第四方面,提供了一种应用程序测试装置,所述装置包括:生成模块,用于生成测试指令;发送模块,用于将所述测试指令发送给网络摄像头,以使得所述网络摄像头基于所述测试指令,从存储设备中获取预先存储的目标图像数据,并通过所述目标图像数据对所述网络摄像头中的应用程序进行测试。

    根据本申请的第五方面,提供了一种测试系统,包括用户终端以及网络摄像头,所述用户终端与所述网络摄像头通过网络连接,其中:所述用户终端用于生成测试指令,将所述测试指令发送给所述网络摄像头;所述网络摄像头用于基于所述测试指令,从存储设备中获取预先存储的目标图像数据,并通过所述目标图像数据对所述网络摄像头中的应用程序进行测试。

    根据本申请的第六方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述第一方面或第二方面提供的应用程序测试方法。

    根据本申请的第七方面,提供了一种网络摄像头,所述网络摄像头包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述第一方面提供的应用程序测试方法。

    本申请实施例提供的应用程序测试方法、装置、系统、网络摄像头以及介质,通过从存储设备读取预先存储的目标图像数据,来模拟网络摄像头依赖ccd图像传感器从外界实时拍摄的数据,对网络摄像头中的应用程序进行测试,避免了在不同次测试中,实时拍摄引入周围环境因素对测试结果造成影响,使得测试数据具有可复现性,有利于提高测试结果的准确性,避免了由于测试结果不准确而消耗大量时间对应用程序进行无意义的优化,从而带来时间以及计算机资源的浪费。另外,能够有效地保证在不同时间对同一应用程序的不同版本进行测试时,测试数据的一致性,提高了测试结果的可靠性。

    附图说明

    通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

    图1是本申请所适用的系统图;

    图2是本申请一示例性实施例提供的应用程序测试方法的流程示意图。

    图3是本申请一示例性实施例提供的步骤s202的流程示意图。

    图4是本申请另一示例性实施例提供的应用程序测试方法的流程示意图。

    图5是本申请一示例性实施例提供的应用程序测试装置的模块框图;

    图6是本申请一示例性实施例提供的获取模块的模块框图;

    图7是本申请另一示例性实施例提供的应用程序测试装置的模块框图;

    图8是本申请一示例性实施例提供的网络摄像头的结构图。

    具体实施方式

    下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。需要说明的是,本申请实施例提供的应用程序测试方法可以不仅适用于网络摄像头中应用程序的测试,也可以适用于其他应用场景,例如,也可以应用于车辆自动驾驶计算平台的自动化测试。本申请实施例主要以应用于网络摄像头为例进行说明。

    申请概述

    对于新开发的网络摄像头应用程序或者是版本升级后的网络摄像头应用程序,在上线之前,均需要在网络摄像头中进行多次测试。若在每次测试时直接通过网络摄像头拍摄测试数据,外界环境如光线、镜头焦距、人物的衣着服饰/表情/动作等因数均会对测试结果造成影响,不利于提高测试结果的准确性。

    鉴于此,本申请实施例提供了一种应用程序测试方法,先接收测试指令,然后,基于测试指令,从存储设备中获取预先存储的目标图像数据,进而,通过所述目标图像数据对网络摄像头中的应用程序进行测试。

    在每次需要对网络摄像头中的应用程序进行测试时,无需拍摄测试用的图像数据,而是从存储设备中拉取目标图像数据,不受当前测试环境的影响,有利于提高测试结果的准确性。并且,可以有效地保证不同版本应用程序的测试数据的一致性,这样在评价测试结果时,将当前测试版本的测试结果与历史已测版进行对比,能够有效地提高对比结果如在不同固件、算法、模型维度组合下的业务功能改进点、性能优化程度以及算法准确性提升度的可靠性。

    在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。

    示例性系统

    图1示出了本申请一示例性实施例提供的一种应用程序测试系统的结构示意图。

    如图1所示,应用程序测试系统100包括用户终端101以及网络摄像头(图1中示出的103、104和105),用户终端101与网络摄像头均通过网络102连接。用户终端101用于生成测试指令,将测试指令发送给网络摄像头。网络摄像头用于基于测试指令,从存储设备中获取预先存储的目标图像数据,并通过目标图像数据对网络摄像头中的应用程序进行测试。

    用户终端101可以是个人电脑(personalcomputer,pc)、笔记本电脑、平板电脑、智能手机、电子阅读器、车载设备、网络电视或可穿戴设备等具有网络连接功能的智能设备。用户终端101中安装有客户端,该客户端可以是浏览器,也可以是第三方应用软件如自动化测试工具程序,为用户提供应用程序测试服务,用于对网络摄像头中的应用程序进行测试。

    网络摄像头中安装有待测试的应用程序,用于在网络摄像头录制视频的过程中,对所录制的视频进行处理。待测试的应用程序可以是涉及图像处理的应用程序,例如,对图像中的人的年龄、性别或身份等进行识别的应用程序,又例如,对图像中的车辆、交通信号灯、车道线以及行人等进行识别的应用程序。

    需要说明的是,图1中网络摄像头的数量仅为示意,不作为限制,具体根据实际应用场景确定。测试系统可以包括一个或多个网络摄像头。在一种应用场景中,测试系统可以包括待测试应用程序适用的所有型号的网络摄像头。

    还需要说明的是,用户终端101生成测试指令,将测试指令发送给网络摄像头,以及网络摄像头基于测试指令,从存储设备中获取预先存储的目标图像数据,并通过目标图像数据对网络摄像头中的应用程序进行测试的具体实施过程将在以下示例性方法实施例中进行详述,此处不作过多说明。

    本申请实施例提供的应用程序测试系统,将存储设备中存储的目标图像数据灌入网络摄像头来模拟网络摄像头通过ccd图像传感器拍摄的视频数据,无需在每次测试时实时拍摄测试用的图像数据,也就不受当前测试环境的影响,有利于提高测试结果的准确性。并且能够有效地保证在不同时间对同一应用程序的不同版本进行测试时,测试数据的一致性,提高了测试结果的可靠性。

    示例性方法

    图2是本申请一示例性实施例提供的应用程序测试方法的流程示意图。本实施例可应用在网络摄像头上,如图2所示,包括如下步骤:

    步骤s201,接收测试指令;

    具体来讲,用户可以根据当前测试任务通过用户终端向网络摄像头发送测试指令。举例来讲,用户可以打开用户终端中安装的用于为用户提供应用程序测试服务的客户端,客户端中展示有与用户终端通过网络连接的网络摄像头的标识信息,用户可以根据当前测试任务的需要选定用于执行测试任务的网络摄像头,并向所选定的网络摄像头发送测试指令。

    步骤s202,基于所述测试指令,从存储设备中获取预先存储的目标图像数据;

    网络摄像头在接收到测试指令时,触发测试过程。可以理解的是,在对网络摄像头中的应用程序进行测试之前,需要先获取测试数据。本申请实施例中,预先设置有存储设备,存储设备中预先存储有作为测试用例的图像数据,用于对网络摄像头中待测试的应用程序进行测试。网络摄像头在接收到测试指令时,从存储设备中读取目标图像数据作为测试数据,也就是将存储设备中存储的目标图像数据再回灌到网络摄像头,来模拟网络摄像头通过ccd图像传感器从外界实时拍摄的数据,而无需在每次测试时均通过网络摄像头实时拍摄周围场景,例如在镜头焦点处放置打印有既定目标人物头像或生活照等图片的纸张,或者在摄像头前布置人戴着口罩以及帽子或撑雨伞、比划动作、部分遮挡身体面部以及来回走动的场景,又例如,拍摄电脑显示屏正在播放的录像,这样能够有效地避免周围环境对测试结果带来的影响。

    在一种实施方式中,可以采用网络摄像头的存储卡作为上述存储设备,可以采用内置或外置sd等存储卡,此时,需要网络摄像头能识别存储卡,支持挂载文件系统。在另一种实施方式中,可以采用云端服务器如网络文件共享盘或媒体服务器作为上述存储设备,例如,可以通过网络文件系统(networkfilesystem,nfs)从网络文件共享盘中获取目标图像数据。

    本申请实施例中,存储设备中存储的图像数据包括以下三种数据中的一种或多种组合:视频、由视频转化成的图片文件(例如yuv或jpeg格式的文件)以及图片。相应地,目标图像数据可以是视频、由视频转化成的图片文件或者是图片。在一种实施方式中,可以预先在存储设备中存储各种业务场景的图像数据,以便于能够分别获取不同业务场景的图像数据对待检测的应用程序进行测试。其中,各种业务场景的图像数据具体可以根据实际应用场景设置,例如,可以存储在不同地点以及不同时间段拍摄的各种不同表情、动作以及服饰等的目标人物的图像数据。

    步骤s203,通过所述目标图像数据对网络摄像头中的应用程序进行测试。

    将预先存储在存储设备的目标图像数据回灌到网络摄像头,即可模拟了网络摄像头拍摄过程,也就会触发所安装的待检测应用程序,实时对读取的目标图像数据进行识别,从而实现对待检测应用程序的测试,得到测试结果,以进一步评测待检测应用程序是否能够实现预期的功能,具体测试内容可以根据实际应用场景确定。

    例如,在一种应用场景中,待检测的应用程序的功能为对网络摄像头录制的视频中人的身份信息进行识别,通过本申请实施例提供的测试方法,以网络摄像头从存储设备中获取的目标图像数据模拟网络摄像头通过ccd图像传感器录制的视频,将目标图像数据发送给待检测的应用程序进行处理,则可以识别出目标图像数据中人的身份信息。这样就可以将识别结果与预先确定的校验数据进行对比,确定待检测的应用程序是否能够实现对所录制视频中人的身份信息的识别,并确定识别结果的准确性。其中,校验结果可以通过其他手段得到,例如,可以采用人工识别的方式得到。

    在一种可选的实施例中,识别结果除了包括待检测的应用程序的输出结果以外,还可以包括待检测的应用程序中目标算法和/或目标模型的输出结果。相应地,预先确定的校验数据除了包括待检测的应用程序的输出校验数据,还包括上述目标算法和/或目标模型的输出校验数据。这样可以方便除了测试上述应用程序的输出结果的准确性以外,还可以测试上述目标算法和/或目标模型的输出结果的准确性,从而确定需要进一步优化的目标算法和/或目标模型,有利于对应用程序的优化。其中,目标算法和/或目标模型可以是待检测的应用程序中对识别结果影响较大的算法和/或模型,具体可以根据实际应用场景设置,例如,在上述应用场景中,目标算法和/或目标模型可以包括用于对人脸进行识别的算法和/或模型。

    进一步地,测试结果还可以包括将当前版本应用程序的识别结果,与以相同目标图像数据作为测试数据的历史已测版本的识别结果进行对比,得到在不同固件、算法、模型维度组合下,当前版本应用程序的业务功能改进点、性能优化程度以及算法准确性提升度等。

    本申请实施例通过从存储设备读取预先存储的目标图像数据作为测试数据,来模拟网络摄像头依赖ccd图像传感器从外界实时拍摄的数据,避免了在不同次测试中,实时拍摄引入周围环境因素对测试结果造成影响,使得测试数据具有可复现性,有利于提高测试结果的准确性,避免了由于测试结果不准确而消耗大量时间对应用程序进行无意义的优化,从而带来时间以及计算机资源的浪费。

    另外,本申请实施例采用上述从存储设备向网络摄像头回灌测试数据的方式,能够有效地保证在不同时间对同一应用程序的不同版本进行测试时,测试数据的一致性,提高了测试结果的可靠性。

    在图2所示实施例的基础上,如图3所示,在本申请一可选的实施例中,上述基于测试指令,从存储设备中获取预先存储的目标图像数据的实施过程可以包括以下步骤:

    步骤s301,从所述测试指令中识别所述目标图像数据的配置信息;

    步骤s302,根据所述配置信息,从所述存储设备中获取预先存储的目标图像数据。

    本实施例中,用户可以根据实际需要,通过客户端对网络摄像头的测试任务进行配置,使得网络摄像头根据所配置的测试任务从存储设备中获取目标图像数据。例如,通过配置使得网络摄像头能定时(如40ms间隔时间)从存储设备中读取指定名称的目标图像数据。此时,用户终端生成的测试指令中包括配置信息,该配置信息用于指示网络摄像头从存储设备中获取目标图像数据。

    在一种实施方式中,配置信息可以包括以下几种参数信息中的一种或多种组合:目标图像数据的存储路径信息、目标图像数据的起始时间戳和终止时间戳、目标图像数据的目标标识信息、网络摄像头的定时信息以及网络摄像头的身份认证信息。当然,在本申请的具体实施过程中,配置信息还可以包括其他的参数信息,此处不作限制。

    下面主要以以下几种实施方式为例,对本申请实施例中根据配置信息,从存储设备中获取预先存储的目标图像数据的实施过程进行说明。需要说明的是,在具体实施过程中,以下几种实施方式可以单独实施,也可以多个组合实施,此处不做限制。

    在一种可选的实施方式中,上述配置信息包括目标图像数据的存储路径信息。具体来讲,上述根据配置信息,从存储设备中获取预先存储的目标图像数据的实施过程可以包括:从配置信息中确定目标图像数据的存储路径信息;基于存储路径信息,从存储设备中获取预先存储的目标图像数据。

    举例来讲,客户端中可以加载并展示预先存储在存储设备中的图像数据的存储路径信息,用户对测试任务的配置,可以包括对目标图像数据的存储路径的配置,选择用于获取目标图像数据的存储路径信息并基于所选择的存储路径信息生成测试指令,即测试指令中的配置信息包含有存储路径信息。从配置信息中确定存储路径信息后,就可以按照该存储路径信息从相应存储设备的相应文件存储路径获取预先存储的图像数据,作为目标图像数据。例如,当目标图像数据为由视频转化成的图片文件时,存储路径信息可以是一个清单文件,包含多个帧图片文件的绝对路径列表。

    这样能够提高目标图像数据读取路径配置的灵活性,可扩展性强,方便根据实际需要新增或修改预先存储在存储设备中的图像数据的存储路径。

    当然,在本申请其他实施例中,也可以在网络摄像头中预先配置目标图像数据的存储路径信息,网络摄像头接收到测试指令时,则触发网络摄像头按照该存储路径信息从相应存储设备的相应文件存储路径获取预先存储的图像数据,作为目标图像数据。

    在一种可选的实施方式中,存储设备预先存储的图像数据包括对应有时间戳的多个图片,例如,可以是视频或者是由视频转化成的图片文件。可以理解的是,视频是由多帧连续静态图像组成的,每一帧均对应一个时间戳。由视频转化成的图片文件即包含了视频中的每一帧图片,每帧图片对应的时间戳由视频的时长以及帧率决定。此时,上述配置信息包括目标图像数据的起始时间戳和终止时间戳。具体来讲,上述根据配置信息,从存储设备中获取预先存储的目标图像数据的实施过程可以包括:从配置信息中确定目标图像数据的起始时间戳和终止时间戳;从存储设备预先存储的图像数据中,获取起始时间戳和终止时间戳所指定的图片序列,作为目标图像数据。

    在一些应用场景中,对于存储设备中存储的用作测试用例的视频或者是由视频转化成的图片文件,当前测试任务仅需要关注视频或图片文件中影响应用程序输出结果的某个时间片段。此时,用户对测试任务的配置,可以包括对目标图像数据的起始时间戳和终止时间戳的配置,基于所配置的起始时间戳和终止时间戳生成测试指令,即测试指令中的配置信息包含有起始时间戳和终止时间戳,用于从存储设备存储的图像数据中截取当前测试任务所需的视频片段,作为目标图像数据。这样就不用将整个视频或图片文件作为测试数据,避免无用数据占用测试时间,有利于节省测试时间,提高测试效率。

    举例来讲,客户端中可以加载并展示预先存储在存储设备中的图像数据包括的图片文件列表,一个图片文件列表对应于一个视频。图片文件列表中展现有图片文件包括的多个图片中,每个图片对应的时间戳。用户可以从图片文件列表中选择目标图像数据的起始时间戳和终止时间戳。或者,用户也可以在客户端中选定预先存储在存储设备中的一指定图像数据,并输入需要从该指定图像数据中截取的目标图像数据的起始时间戳和终止时间戳,从而完成对起始时间戳和终止时间戳的配置。

    例如,在一种应用场景中,需要用存储设备存储的某一图像数据f中,第5分30秒至第15分20秒之间的片段,作为测试数据对应用程序进行测试。此时,可以针对该图像数据f配置起始时间戳为第5分30秒,终止时间戳为第15分20秒,以使得网络摄像头能够基于起始时间戳和终止时间,从存储设备中截取图像数据f的第5分30秒至第15分20秒之间的片段作为目标图像数据。

    具体来讲,作为一种实施方式,存储设备可以分别根据起始时间戳和终止时间戳计算出图片文件中与目标图像数据对应的帧号,再由帧号计算出组成目标图像数据的具体帧图片的文件名,从而动态审查待播放的帧图片文件路径列表,以供网络摄像头读取。

    在一种可选的实施方式中,存储设备中预先存储有多个图像数据,且每个图像数据均对应有标识信息,标识信息用于唯一标识该图像数据。为了能够将多个图像数据中的指定图像数据作为目标图像数据,用户对测试任务的配置,可以包括对目标图像数据的目标标识信息的配置。此时,上述配置信息可以包括:目标图像数据的目标标识信息。具体来讲,上述根据配置信息,从存储设备中获取预先存储的目标图像数据,可以包括:从配置信息中确定目标图像数据的目标标识信息;从存储设备预先存储的多个图像数据中,获取标识信息与目标标识信息匹配的图像数据,作为目标图像数据。这样可以方便灵活配置当前测试任务的测试数据,有利于根据测试需要切换不同业务场景下的测试数据。

    举例来讲,客户端中可以预先加载并展示存储设备中存储的每个图像数据的标识信息,用户可以根据当前测试任务的需要从中选择一个或多个标识信息作为目标标识信息。

    网络摄像头接收到测试指令,并从测试指令的配置信息中确定目标图像数据的目标标识信息后,可以将目标标识信息发送给存储设备,使得存储设备从存储的多个图像数据中,查询标识信息与目标标识信息匹配即一致的图像数据,作为目标图像数据,并将目标图像数据返回给网络摄像头。

    在一种可选的实施方式中,上述根据配置信息,从存储设备中获取预先存储的目标图像数据的实施过程可以包括:从配置信息中确定用于获取网络摄像头的定时信息;按照定时信息,定时从所述存储设备中获取预先存储的目标图像数据。定时信息用于控制网络摄像头定时从存储设备中读取目标图像数据。这样在当前测试任务需要对同一测试数据进行多次测试时,就可以通过在测试指令中配置定时信息,使得网络摄像头能够定时从存储设备中读取目标图像数据,从而提高测试效率。

    用户可以通过客户端在测试指令中配置定时信息,例如,可以输入或者可以通过预先在客户端中配置的定时窗口中选择。具体来讲,定时信息可以包括:时间间隔,用于控制网络摄像头在接收到测试指令后,按照该时间间隔从存储设备中读取目标图像数据。时间间隔可以根据实际测试需要设置,例如,可以设置为40ms。

    或者,定时信息可以包括时间间隔,以及测试起始时间和终止时间。又或者,定时信息也可以包括时间间隔和终止时间,且以接收到测试指令的时间为起始时间,从而控制网络摄像头从起始时间开始,按照该时间间隔从存储设备中读取目标图像数据,直至到达终止时间。

    当然,在其他实施方式中,定时信息除了包括时间间隔以及测试次数,从而控制网络摄像头在接收到测试指令后,按照该时间间隔从存储设备中读取目标图像数据,直至达到该测试次数。

    另外,在其他应用场景中,可以根据测试需要将存储设备中预先存储的一张图片作为目标图像数据,通过在测试指令中配置定时信息,实现网络摄像头对该图片的定时重复读取,从而构建一个播放单一图片的视频,通过动态的视频呈现一个静态的画面。将通过这种方式构建的视频作为测试数据,场景单一,有利于待检测的应用程序快速得到识别结果,减少测试时间,提高测试效率。

    在采用云端服务器如网络文件共享盘或媒体服务器作为存储设备的情况下,在本申请一实施例中,为了避免用户存储的数据泄露给他人,云端服务器会对用户进行身份认证,身份认证通过时,才能读取该用户预先在云端服务器中存储的数据。在一种实施方式中,网络摄像头可以在首次挂载远端文件网络盘时,向云端服务器提供服务器的认证信息。同时云端服务器也会根据预设的配置参数动态确定当前网络摄像头是否是合法的摄像头,例如,可以根据具体摄像头的具体ip地址或ip是否在指定的子网内,又或者使用nis域账号认证摄像头等,若确定当前网络摄像头为合法的摄像头,则表示身份认证通过,后续该网络摄像头就可以向云端服务器读取目标图像数据,无需再进行身份认证。

    在另一种实施方式中,为了进一步提高安全性,网络摄像头每次从云端服务器读取目标图像数据,均需要进行身份认证。此时,上述配置信息可以包括网络摄像头的身份认证信息。相应地,上述根据配置信息,从存储设备中获取预先存储的目标图像数据的实施过程可以包括:从配置信息中确定所述网络摄像头的身份认证信息;将该身份认证信息发送给存储设备,以使存储设备对该身份认证信息进行身份验证;当验证通过时,从存储设备中获取预先存储的且与该身份认证信息对应的目标图像数据。

    用户可以通过客户端对网络摄像头的身份认证信息进行配置。这样能够提高网络摄像头身份认证信息配置的灵活性,可扩展性强,方便根据实际需要新增或修改存储设备的身份认证信息。具体来讲,身份认证信息可以根据云端服务器的要求预先设置,例如,可以是账号和密码等。

    当然,在本申请其他实施例中,也可以在网络摄像头中预先配置身份认证信息,网络摄像头接收到测试指令时,则触发网络摄像头将该身份认证信息发送给存储设备,从而在通过身份认证后,从存储设备读取预先存储的图像数据,作为目标图像数据。

    需要说明的是,本申请实施例中,配置信息可以包括以上几种参数信息的一种,或者,也可以包括以上几种参数信息中的多种组合。当配置信息包括以上几种参数信息中的多种组合时,上述根据配置信息,从存储设备中获取预先存储的目标图像数据的实施过程也包括以上几种实施方式中的相应实施方式的组合,需要根据配置信息中包括的所有参数信息,从存储设备中获取预先存储的目标图像数据。例如,配置信息包括目标图像数据的存储路径信息、以及目标图像数据的起始时间戳和终止时间戳时,根据配置信息,从存储设备中获取预先存储的目标图像数据的实施过程包括:从配置信息中确定目标图像数据的存储路径信息、以及目标图像数据的起始时间戳和终止时间戳;基于目标图像数据的存储路径信息,从存储设备中确定预先存储的待选图像数据;从该待选图像数据中,获取起始时间戳和终止时间戳所指定的图片序列,作为目标图像数据。

    又例如,配置信息包括目标图像数据的目标标识信息、以及目标图像数据的起始时间戳和终止时间戳时,根据配置信息,从存储设备中获取预先存储的目标图像数据的实施过程包括:从配置信息中确定目标图像数据的目标标识信息、以及目标图像数据的起始时间戳和终止时间戳;基于目标图像数据的目标标识信息,从存储设备预先存储的多个图像数据中,获取标识信息与目标标识信息匹配的图像数据,作为待选图像数据;从该待选图像数据中,获取起始时间戳和终止时间戳所指定的图片序列,作为目标图像数据。

    可以理解的是,配置信息除了可以是上述列举的两种组合方式以外,还可以采用其他两个、三个、四个或五个参数信息的组合,具体根据实际需要确定。

    还需要说明的是,根据配置信息,从存储设备中获取预先存储的目标图像数据的实施过程除了包括以上几种实施方式以及以上几种实施方式的组合以外,还可以包括其他实施方式,此处不作限制。例如,在一种应用场景中,为了在一次测试任务中,依次将多个不同业务场景下的图像数据作为测试数据,对待检测应用程序进行测试,可以配置测试用例序列。用户可以通过客户端从存储设备预先存储的图像数据中依次选定多个图像数据,组成测试用例序列,使得网络摄像头依次从存储设备中读取该测试用例序列中包括的每个图像数据,并将该图像数据作为目标图像数据,对待检测应用程序进行测试。

    此时,配置信息中可以包括用于唯一标识测试用例序列的序列标识,以及测试用例序列中包括的每个图像数据的标识信息,则根据配置信息,从存储设备中获取预先存储的目标图像数据的实施过程可以包括:当配置信息中包含序列标识时,从配置信息中确定测试用例序列中包括的每个图像数据的标识信息;依次将测试用例序列中每个图像数据的标识信息作为目标标识信息,从存储设备中读取标识信息与该目标标识信息匹配的图像数据,作为目标图像数据,以通过该目标图像数据对网络摄像头中的应用程序进行测试。这样就可以在一次测试任务中,依次将多个不同业务场景下的图像数据作为测试数据,对待检测应用程序进行测试,完成多业务场景的测试,有利于提高测试效率。

    图4是本申请一示例性实施例提供的应用程序测试方法的流程示意图。本实施例可应用在用户终端上,如图4所示,包括如下步骤:

    步骤s401,生成测试指令;

    测试指令用于控制接收到测试指令的网络摄像头对所安装的待检测应用程序进行测试。具体来讲,用户可以通过用户终端中安装的客户端执行触发生成测试指令的操作,例如,客户端中设置有用于触发生成测试指令的按钮,当用户点击该按钮时,则触发客户端生成测试指令。

    步骤s402,将所述测试指令发送给网络摄像头,以使得所述网络摄像头基于所述测试指令时,从存储设备中获取预先存储的目标图像数据,并通过所述目标图像数据对所述网络摄像头中的应用程序进行测试。

    用户终端将测试指令发送给与该用户终端通过网络连接的网络摄像头,网络摄像头中安装有待检测的应用程序。具体来讲,可以将测试指令发送给一个网络摄像头,也可以是多个,用户可以通过客户端选择用于进行应用程序测试的网络摄像头。

    网络摄像头接收到测试指令后,则基于该测试指令时,从存储设备中获取预先存储的目标图像数据,并通过目标图像数据对该网络摄像头中的应用程序进行测试。具体实施过程可以已在图1所示的实施例中进行详细描述,可以参考上述图1所示的实施例,此处不再赘述。

    本申请实施例通过向网络摄像头发送测试指令,控制网络摄像头从存储设备读取预先存储的目标图像数据作为测试数据,来模拟网络摄像头依赖ccd图像传感器从外界实时拍摄的数据,避免了不同次测试中,实时拍摄引入的周围环境因素对测试结果的影响,使得测试数据具有可复现性,有利于提高测试结果的准确性,避免了由于测试结果不准确而消耗大量时间对应用程序进行无意义的优化,从而带来时间以及计算机资源的浪费。

    在图4所示实施例的基础上,一种可选的实施例中,上述生成测试指令,可以包括:获取用户输入的用于获取所述目标图像数据的配置信息,并基于所述配置信息生成测试指令,使得测试指令中包括配置信息。

    在生成测试指令之前,用户可以通过客户端对当前测试任务进行配置,即通过客户端输入用于获取目标图像数据的配置信息。在一种实施方式中,配置信息可以包括以下几种参数信息中的一种或多种组合:目标图像数据的存储路径信息、目标图像数据的起始时间戳和终止时间戳、目标图像数据的目标标识信息、网络摄像头的定时信息以及网络摄像头的身份认证信息。具体配置过程可以参照以上实施例中的相应实施方式的描述,此处不再赘述。当然,在本申请的具体实施过程中,配置信息还可以包括其他的参数信息,此处不作限制。

    这样就可以根据当前测试任务的要求对网络摄像头进行配置,获取所需的目标图像数据作为测试数据,提高了网络摄像头应用程序测试的可控性。

    示例性装置

    图5图示了根据本申请实施例的应用程序测试装置的框图。

    如图5所示,本申请实施例提供的应用程序测试装置500,运行于网络摄像头,该应用程序测试装置500包括:接收模块501,用于接收到测试指令;获取模块502,用于基于所述测试指令,从存储设备中获取预先存储的目标图像数据;测试模块503,用于通过所述目标图像数据对网络摄像头中的应用程序进行测试。

    图6图示了本申请实施例的应用程序测试装置的获取模块的一个示例框图。如图6所示,在一种可选的实施例中,上述获取模块502包括:识别子模块601,用于从所述测试指令中识别所述目标图像数据的配置信息;获取子模块602,用于根据所述配置信息,从所述存储设备中获取预先存储的目标图像数据。

    在一种可选的实施例中,上述获取子模块602用于:从所述配置信息中确定所述目标图像数据的存储路径信息;基于所述存储路径信息,从所述存储设备中获取预先存储的目标图像数据。

    在一种可选的实施例中,上述获取子模块602用于:从所述配置信息中确定所述目标图像数据的起始时间戳和终止时间戳;从所述存储设备预先存储的图像数据中,获取所述起始时间戳和终止时间戳所指定的图片序列,作为所述目标图像数据,其中,所述存储设备预先存储的图像数据包括对应有时间戳的多个图片。

    在一种可选的实施例中,上述获取子模块602用于:从所述配置信息中确定所述目标图像数据的目标标识信息;从所述存储设备预先存储的多个图像数据中,获取标识信息与所述目标标识信息匹配的图像数据,作为所述目标图像数据,其中,所述存储设备中预先存储的多个图像数据中,每个图像数据均对应有标识信息。

    在一种可选的实施例中,上述获取子模块602用于:从所述配置信息中确定用于获取所述网络摄像头的定时信息;按照所述定时信息,定时从所述存储设备中获取预先存储的目标图像数据。

    在一种可选的实施例中,上述获取子模块602用于:从所述配置信息中确定所述网络摄像头的身份认证信息;将所述身份认证信息发送给所述存储设备,以使所述存储设备对所述身份认证信息进行身份验证;当验证通过时,从所述存储设备中获取预先存储的且与所述身份认证信息对应的目标图像数据。

    在一种可选的实施例中,存储设备中存储的图像数据包括以下三种数据中的一种或多种组合:视频、由视频转化成的图片文件以及图片。

    在一种可选的实施例中,上述存储设备为所述网络摄像头的存储卡或者云端服务器。

    这里,本领域技术人员可以理解,上述应用程序测试装置500中的各个模块的具体功能和操作已经在上面参考图2到图3的应用程序测试方法的描述中得到了详细介绍,并因此,将省略其重复描述。

    如上所述,根据本申请实施例的应用程序测试装置500可以实现在各种网络摄像头的微处理器中。在一个示例中,根据本申请实施例的应用程序测试装置500可以作为一个软件模块和/或硬件模块而集成到网络摄像头中。例如,该应用程序测试装置500可以是该网络摄像头的操作系统中的一个软件模块,或者可以是针对于该网络摄像头所开发的一个应用程序;当然,该应用程序测试装置500同样可以是该网络摄像头的众多硬件模块之一。

    图7图示了根据本申请另一实施例的应用程序测试装置的框图。

    如图7所示,本申请实施例提供的应用程序测试装置700,运行于用户终端,包括:生成模块701,用于生成测试指令;发送模块702,用于将所述测试指令发送给网络摄像头,以使得所述网络摄像头基于所述测试指令,从存储设备中获取预先存储的目标图像数据,并通过所述目标图像数据对所述网络摄像头中的应用程序进行测试。

    在一种可选的实施例中,上述生成模块701用于:获取用户输入的用于获取所述目标图像数据的配置信息,并基于所述配置信息生成测试指令。

    这里,本领域技术人员可以理解,上述应用程序测试装置700中的各个模块的具体功能和操作已经在上面参考图4的应用程序测试方法的描述中得到了详细介绍,并因此,将省略其重复描述。

    如上所述,根据本申请实施例的应用程序测试装置700可以实现在各种用户终端的微处理器中。在一个示例中,根据本申请实施例的应用程序测试装置700可以作为一个软件模块和/或硬件模块而集成到用户终端中。例如,该应用程序测试装置700可以是该用户终端的操作系统中的一个软件模块,或者可以是针对于该用户终端所开发的一个应用程序;当然,该应用程序测试装置700同样可以是该用户终端的众多硬件模块之一。

    示例性网络摄像头

    图8图示了根据本申请实施例的网络摄像头的框图。

    如图8所示,网络摄像头800包括一个或多个处理器801、存储器802以及网络模块803。

    处理器801可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元如图形处理器(gpu),并且可以控制网络摄像头800中的其他组件以执行期望的功能。

    存储器802可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器801可以运行所述程序指令,以实现上文图2和图3所示的各实施例的应用程序测试方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。

    网络模块803用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。通过网络模块803与用户终端连接,接收用户终端发送的测试指令。

    在一个示例中,网络摄像头800还可以包括:镜头组件和ccd图像传感器。

    当然,为了简化,图8中仅示出了该网络摄像头800中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,网络摄像头800还可以包括任何其他适当的组件,例如,可以包括bpu低功耗人脸识别专用芯片,可以用于对采集的图像数据进行人脸识别、抠图、行动轨迹线绘制、活动区域热度图绘制以及动作识别(如抽烟和打瞌睡)等。

    示例性计算机程序产品和计算机可读存储介质

    除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的应用程序测试方法中的步骤。

    所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言以及脚本语言(例如python)。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

    此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的应用程序测试方法中的步骤。

    所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

    以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。

    本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

    还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。

    提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

    为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。


    技术特征:

    1.一种应用程序测试方法,所述方法包括:

    接收测试指令;

    基于所述测试指令,从存储设备中获取预先存储的目标图像数据;

    通过所述目标图像数据对网络摄像头中的应用程序进行测试。

    2.根据权利要求1所述的方法,其中,所述基于所述测试指令,从存储设备中获取预先存储的目标图像数据,包括:

    从所述测试指令中识别所述目标图像数据的配置信息;

    根据所述配置信息,从所述存储设备中获取预先存储的目标图像数据。

    3.根据权利要求2所述的方法,其中,所述根据所述配置信息,从所述存储设备中获取预先存储的目标图像数据,包括:

    从所述配置信息中确定所述目标图像数据的存储路径信息;

    基于所述存储路径信息,从所述存储设备中获取预先存储的目标图像数据。

    4.根据权利要求2所述的方法,其中,所述根据所述配置信息,从所述存储设备中获取预先存储的目标图像数据,包括:

    从所述配置信息中确定所述目标图像数据的起始时间戳和终止时间戳;

    从所述存储设备预先存储的图像数据中,获取所述起始时间戳和终止时间戳所指定的图片序列,作为所述目标图像数据,其中,所述存储设备预先存储的图像数据包括对应有时间戳的多个图片。

    5.根据权利要求2所述的方法,其中,所述根据所述配置信息,从所述存储设备中获取预先存储的目标图像数据,包括:

    从所述配置信息中确定所述目标图像数据的目标标识信息;

    从所述存储设备预先存储的多个图像数据中,获取标识信息与所述目标标识信息匹配的图像数据,作为所述目标图像数据,其中,所述存储设备中预先存储的多个图像数据中,每个图像数据均对应有标识信息。

    6.根据权利要求2所述的方法,其中,所述根据所述配置信息,从所述存储设备中获取预先存储的目标图像数据,包括:

    从所述配置信息中确定用于获取所述网络摄像头的定时信息;按照所述定时信息,定时从所述存储设备中获取预先存储的目标图像数据。

    7.根据权利要求2所述的方法,其中,所述根据所述配置信息,从所述存储设备中获取预先存储的目标图像数据,包括:

    从所述配置信息中确定所述网络摄像头的身份认证信息;

    将所述身份认证信息发送给所述存储设备,以使所述存储设备对所述身份认证信息进行身份验证;

    当验证通过时,从所述存储设备中获取预先存储的且与所述身份认证信息对应的目标图像数据。

    8.根据权利要求1所述的方法,其中,所述存储设备中存储的图像数据包括以下三种数据中的一种或多种组合:

    视频、由视频转化成的图片文件以及图片。

    9.根据权利要求1所述的方法,其中,所述存储设备为所述网络摄像头的存储卡或者云端服务器。

    10.一种应用程序测试方法,所述方法包括:

    生成测试指令;

    将所述测试指令发送给网络摄像头,以使得所述网络摄像头基于所述测试指令时,从存储设备中获取预先存储的目标图像数据,并通过所述目标图像数据对所述网络摄像头中的应用程序进行测试。

    11.根据权利要求10所述的方法,其中,所述生成测试指令包括:

    获取用户输入的用于获取所述目标图像数据的配置信息,并基于所述配置信息生成测试指令。

    12.一种应用程序测试装置,所述装置包括:

    接收模块,用于接收到测试指令;

    获取模块,用于基于所述测试指令,从存储设备中获取预先存储的目标图像数据;

    测试模块,用于通过所述目标图像数据对网络摄像头中的应用程序进行测试。

    13.一种应用程序测试装置,所述装置包括:

    生成模块,用于生成测试指令;

    发送模块,用于将所述测试指令发送给网络摄像头,以使得所述网络摄像头基于所述测试指令,从存储设备中获取预先存储的目标图像数据,并通过所述目标图像数据对所述网络摄像头中的应用程序进行测试。

    14.一种应用程序测试系统,包括用户终端以及网络摄像头,所述用户终端与所述网络摄像头通过网络连接,其中:

    所述用户终端用于生成测试指令,将所述测试指令发送给所述网络摄像头;

    所述网络摄像头用于基于所述测试指令,从存储设备中获取预先存储的目标图像数据,并通过所述目标图像数据对所述网络摄像头中的应用程序进行测试。

    15.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-11任一所述的应用程序测试方法。

    16.一种网络摄像头,所述网络摄像头包括:

    处理器;

    用于存储所述处理器可执行指令的存储器;

    所述处理器,用于执行上述权利要求1-9任一所述的应用程序测试方法。

    技术总结
    公开了一种应用程序测试方法、装置、系统、网络摄像头以及介质,该应用程序测试方法包括:接收测试指令;基于所述测试指令,从存储设备中获取预先存储的目标图像数据;通过所述目标图像数据对网络摄像头中的应用程序进行测试。这样能够避免了在不同次测试中周围环境因素对测试结果造成影响,使得测试数据具有可复现性,有利于提高测试结果的准确性。

    技术研发人员:管春杨
    受保护的技术使用者:北京地平线机器人技术研发有限公司
    技术研发日:2019.09.12
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-6588.html

    最新回复(0)