安防服务测试方法、装置、电子设备及可读存储介质与流程

文档序号:19527565发布日期:2019-12-27 15:04阅读:139来源:国知局
安防服务测试方法、装置、电子设备及可读存储介质与流程

本申请涉及安防技术领域,具体而言,涉及一种安防服务测试方法、装置、电子设备及可读存储介质。



背景技术:

传统的安防产品之间独立性一般较强,所以针对安防产品的测试工作一般是对单一产品进行测试,针对安防产品的自动化测试也一般是针对单产品的接口自动化测试、ui自动化测试等。

随着安防产品的架构升级,以及容器化、微服务化的推进,安防产品也越来越多,包括前端ipc(ipcamera,网络摄像机)、视频管理服务、智能解析服务、综合应用服务、视频云存储服务等,微服务化形成的整体解决方案中,大多数的功能都会涉及到多个服务,需要对大量的服务进行测试。

然而,针对单一产品的测试成功并不能确保整体方案的业务流程上线部署后能够成功运行,一般需要测试人员手工地对不同服务间的交互进行测试;但随着敏捷开发模式的推行,安防产品的迭代速度加快,现有的测试方案会消耗大量的人力成本对安防产品进行测试,效率较低,且测试成本高。



技术实现要素:

本申请的目的在于提供一种安防服务测试方法、装置、电子设备及可读存储介质,能够提升安防服务的测试效率,降低测试成本。

为了实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供一种安防服务测试方法,所述方法包括:

配置待测试的多个安防服务,其中,每一安防服务为一个安防功能的实现单元,所述多个安防服务相互配合以实现所述安防功能;

利用获得的配置参数部署所述多个安防服务,生成测试环境;

基于所述测试环境,对所述多个安防服务中不同安防服务间的交互进行测试。

第二方面,本申请实施例提供一种安防服务测试装置,所述装置包括:

部署模块,用于配置待测试的多个安防服务,其中,每一安防服务为一个安防功能的实现单元,所述多个安防服务相互配合以实现所述安防功能;

所述部署模块还用于,利用获得的配置参数部署所述多个安防服务,生成测试环境;

测试模块,用于基于所述测试环境,对所述多个安防服务中不同安防服务间的交互进行测试。

第三方面,本申请实施例提供一种电子设备,所述电子设备包括存储器,用于存储一个或多个程序;处理器;当所述一个或多个程序被所述处理器执行时,实现上述的安防服务测试方法。

第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的安防服务测试方法。

本申请实施例提供的一种安防服务测试方法、装置、电子设备及可读存储介质,通过配置待测试的多个安防服务,并利用获得的配置参数部署该多个安防服务,从而生成测试环境,进而基于该测试环境,自动对该多个安防服务中不同安防服务间的交互进行测试,相比于现有技术,能够自动对不同安防服务间的交互进行测试,而无需测试人员手工配置测试环境,能够提升安防服务的测试效率,降低测试成本。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图1示出本申请实施例提供的电子设备的一种示意性结构框图;

图2示出本申请实施例提供的安防服务测试方法的一种示意性流程图;

图3示出本申请实施例的一种测试环境示意图;

图4示出图2中s205的子步骤的一种示意性流程图;

图5示出图4中s205-1的子步骤的一种示意性流程图;

图6示出图4中s205-2的子步骤的一种示意性流程图;

图7示出图4中s205-3的子步骤的一种示意性流程图;

图8示出本申请实施例提供的安防服务测试装置的一种示意性流程图。

图中:100-电子设备;101-存储器;102-处理器;103-通信接口;300-安防服务测试装置;301-部署模块;302-测试模块。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

目前针对安防产品的测试方案一般是等待产品开发完成后,将编译完成的版本包提交给测试人员,测试人员手工部署测试环境;在测试环境部署完成后,人工遍历所有测试点,然后对安防产品进行测试。

然而,随着微服务架构以及容器化技术在安防领域的应用,一个安防功能的实现往往需要依靠多个安防服务的相互配合,每一安防服务均为该安防功能的一个实现单元,从而导致在安防领域所涉及到的安防服务数量逐渐增多。

加之敏捷开发模式在安防领域的推行,安防产品在开发时一般会被分解为多个子服务,且每个子服务的迭代更新速度加快,导致现有的安防服务测试方案会消耗大量的人力成本进行手工工作,且效率低,测试成本高。

为此,基于上述缺陷,本申请实施例提供的一种可能的实现方式为:通过配置待测试的多个安防服务,并利用获得的配置参数部署该多个安防服务,从而生成测试环境,进而基于该测试环境,自动对该多个安防服务中不同安防服务间的交互进行测试。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参阅图1,图1示出本申请实施例提供的电子设备100的一种示意性结构框图。电子设备100包括存储器101、处理器102和通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

存储器101可用于存储软件程序及模块,如本申请实施例提供的安防服务测试装置300对应的程序指令/模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口103可用于与其他节点设备进行信令或数据的通信。

其中,存储器101可以是但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除可编程只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。

处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

可以理解,图1所示的结构仅为示意,电子设备100还可以包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

下面以图1所示的电子设备100作为示意性执行主体,对本申请实施例提供的安防服务测试方法进行示例性说明。

请参阅图2,图2示出本申请实施例提供的安防服务测试方法的一种示意性流程图,可以包括以下步骤:

s201,配置待测试的多个安防服务;

s203,利用获得的配置参数部署多个安防服务,生成测试环境;

s205,基于测试环境,对多个安防服务中不同安防服务间的交互进行测试。

在本申请实施例中,可以基于实现一个安防功能为目的,将需要相互配合以实现该安防功能的多个安防服务进行统一测试,其中,该多个安防服务中每一安防服务为该安防功能的实现单元。

示例性地,在如图3所示的测试环境中,可以将相互配合的应用服务、视图管理服务、大数据服务、视图分析服务以及公共服务作为待测试的多个安防服务。

然后,可以利用获得的配置参数,比如各个服务所需的软件包或者是软件包的代码路径,在例如容器中进行部署,并配置测试时所需的硬件设备比如监控设备、拼接屏、报警设备、门禁设备等,生成测试环境。

接下来,在该测试环境中,自动对多个安防服务中不同安防服务间的交互进行测试,比如在如图3所示的测试环境中,测试应用服务、视图管理服务、大数据服务、视图分析服务以及公共服务任意两者之间的交互是否正常,以及测试各个服务与接入设备之间的交互是否正常等。

可见,基于上述设计,本申请实施例提供的安防服务测试方法,通过配置待测试的多个安防服务,并利用获得的配置参数部署该多个安防服务,从而生成测试环境,进而基于该测试环境,自动对该多个安防服务中不同安防服务间的交互进行测试,相比于现有技术,能够自动对不同安防服务间的交互进行测试,而无需测试人员手工配置测试环境,能够提升安防服务的测试效率,降低测试成本。

其中,示例性地,为实现s205,请参阅图4,图4示出图2中s205的子步骤的一种示意性流程图,作为一种可能的实现方式,s205可以包括以下子步骤:

s205-1,测试多个安防服务中每一安防服务各自与测试环境中的接入设备是否交互正常;

s205-2,测试多个安防服务中不同安防服务间的数据库交互是否正常;

s205-3,测试多个安防服务中不同安防服务间的接口交互是否正常;

s205-4,检查多个安防服务中每一安防服务是否包含有错误日志。

在本申请实施例中,在对不同安防服务间的交互进行测试时,可以从接入设备交互、数据库交互、接口交互等多个方面进行测试。

比如,在如图3所示的应用场景中,可以测试应用服务、视图管理服务、大数据服务、视图分析服务以及公共服务各自与接入设备(比如监控设备、报警设备或者是门禁设备)之间交互是否正常;以及测试应用服务、视图管理服务、大数据服务、视图分析服务和公共服务整体的端到端数据库交互是否正常,例如测试增加数据、删除数据、修改数据、查找数据等;并且可以对图3所示的各个安防服务之间的接口响应进行测试;还可以对测试应用服务、视图管理服务、大数据服务、视图分析服务以及公共服务的日志进行检查,确定是否有错误日志。

其中,在测试每一安防服务各自与接入设备是否交互正常时,以多个安防服务中任意之一作为目标安防服务为例,作为一种可能的实现方式,请参阅图5,图5示出图4中s205-1的子步骤的一种示意性流程图,可以包括以下子步骤:

s205-1a,测试接入设备注册目标安防服务是否成功;若注册成功,则执行s205-1b;若注册失败,则执行s205-1c;

s205-1b,确定目标安防服务与接入设备交互正常;

s205-1c,确定目标安防服务与接入设备交互不正常。

以图3中的监控设备作为接入设备、视图管理服务作为目标安防服务为例,监控设备可以结合对应的协议,向视图管理服务请求注册;然后电子设备可以对注册报文进行抓包分析,若注册报文中有注册失败的报文、或者是视图管理服务未响应监控设备的注册请求,则电子设备确定监控设备与视图管理服务交互不正常;若注册报文为注册成功的报文,则电子设备确定监控设备与视图管理服务交互正常。

同理,其他安防服务与接入设备的交互测试可参照上述对应的测试方式,本申请实施例在此不再赘述。

需要说明的是,上述的多个安防服务中至少包括第一安防服务和第二安防服务,即至少包含两个安防服务;比如在图3所示的示意图中,即包括了共计五个安防服务。

为此,在测试不同安防服务间的数据库交互是否正常时,作为一种可能的实现方式,请参阅图6,图6示出图4中s205-2的子步骤的一种示意性流程图,可以包括以下子步骤:

s205-2a,第一安防服务处理获得的解析任务,并在第一安防服务的数据库中保存解析任务对应的处理结果;

s205-2b,第二安防服务查询第一安防服务的数据库获得处理结果,并在第二安防服务的数据库中保存处理结果;

s205-2c,检查第一安防服务以及第二安防服务各自的数据库中是否均保存有处理结果;若为是,则执行s205-2d;若为否,则执行s205-2e;

s205-2d,确定多个安防服务中不同安防服务间的数据库交互正常;

s205-2e,确定多个安防服务中不同安防服务间的数据库交互异常。

以图3中的应用服务作为第一安防服务、视图分析服务作为第二安防服务为例,在执行s205-2时,可以通过脚本配置一个解析任务下发给应用服务,应用服务处理该解析任务,并在应用服务的数据库中保存该解析任务的处理结果;同时视图分析服务查询应用服务的数据库,并把该解析任务的处理结果保存在视图分析服务的数据库;然后电子设备检查应用服务以及视图分析服务两者的数据库,确定是否两者的数据库中是否均包含有该解析任务对应的处理结果,若均保存有,则确定应用服务与视图分析服务两者的数据库交互正常;若其中一个未保存有,则确定应用服务与视图分析服务两者的数据库交互异常。

另外,在测试不同安防服务间的接口交互是否正常时,作为一种可能的实现方式,请参阅图7,图7示出图4中s205-3的子步骤的一种示意性流程图,可以包括以下子步骤:

s205-3a,第一安防服务调用设定的接口将设定的业务请求发送给第二安防服务;

s205-3b,第二安防服务响应业务请求,并调用设定的接口将业务请求对应的业务资源反馈给第一安防服务;

s205-3c,检查业务资源与业务请求是否对应;若对应,则执行s205-3d;若不对应,则执行s205-3e;

s205-3d,确定多个安防服务中不同安防服务间中的接口交互正常;

s205-3e,确定多个安防服务中不同安防服务间中的接口交互异常。

下面以图3中的应用服务、视图分析服务、视图管理服务共计三个安防服务间的接口交互为例,对s205-3的具体子步骤流程进行示意性说明。

应用服务可以通过restful接口下发一个业务请求给视图分析服务;然后视图分析服务同样通过restful接口将该业务请求下发给视图管理服务;接着视图管理服务处理该业务流,得到该业务请求对应的业务资源,并通过restful接口将该业务资源发送给视图分析服务,且视图分析服务通过restful接口将该业务资源发送给应用服务;最后电子设备检查应用服务接收的业务资源与下发的业务请求是否对应,若对应,则确定应用服务、视图分析服务、视图管理服务间的接口交互正常;若不对应,则确定应用服务、视图分析服务、视图管理服务间的接口交互异常。

并且,在执行s205-4时,作为一种可能的实现方式,电子设备可以对每个安防服务记录的日志进行检查,如果检查发现日志中存在表征错误的标识信息,比如“error”,则确定测试的多个安防服务中包含错误日志,测试失败;如果所有安防服务的日志中均不存在表征错误的标识信息,则确定测试成功。

另外,测试完成后,可以生成对应的测试报告;并且,为便于测试人员尽快获悉测试结果,可以通过绑定对应的邮箱地址,或者是钉钉账号等,将生成的测试报告或者是测试结果反馈给相关的测试人员。

需要说明的是,s205-1、s205-2、s205-3及s205-4为并行的4个步骤,这4个步骤之间并没有必然的先后执行顺序。

基于与上述安防服务测试方法相同的发明构思,请参阅图8,图8示出本申请实施例提供的安防服务测试装置300的一种示意性流程图,包括部署模块301及测试模块302。其中:

部署模块301用于,配置待测试的多个安防服务,其中,每一安防服务为一个安防功能的实现单元,所述多个安防服务相互配合以实现所述安防功能;

所述部署模块301还用于,利用获得的配置参数部署所述多个安防服务,生成测试环境;

测试模块302用于,基于所述测试环境,对所述多个安防服务中不同安防服务间的交互进行测试。

可选地,作为一种可能的实现方式,测试模块302在基于测试环境,对多个安防服务中不同安防服务间的交互进行测试时,具体用于:

测试多个安防服务中每一安防服务各自与测试环境中的接入设备是否交互正常;

测试多个安防服务中不同安防服务间的数据库交互是否正常;

测试多个安防服务中不同安防服务间的接口交互是否正常;

检查多个安防服务中每一安防服务是否包含有错误日志。

可选地,作为一种可能的实现方式,测试模块302在测试多个安防服务中每一安防服务各自与测试环境中的接入设备是否交互正常时,具体用于:

测试接入设备注册目标安防服务是否成功;

若注册成功,则确定目标安防服务与接入设备交互正常;

若注册失败,则确定目标安防服务与接入设备交互不正常,目标安防服务为多个安防服务中任意之一。

可选地,作为一种可能的实现方式,多个安防服务中包括第一安防服务和第二安防服务;

测试模块302在测试多个安防服务中不同安防服务间的数据库交互是否正常时,具体用于:

第一安防服务处理获得的解析任务,并在第一安防服务的数据库中保存解析任务对应的处理结果;

第二安防服务查询第一安防服务的数据库获得处理结果,并在第二安防服务的数据库中保存处理结果;

检查第一安防服务以及第二安防服务各自的数据库中是否均保存有处理结果;若均保存有,则确定多个安防服务中不同安防服务间的数据库交互正常;若第一安防服务和/或第二安防服务不保存有处理结果,则确定多个安防服务中不同安防服务间的数据库交互异常。

可选地,作为一种可能的实现方式,多个安防服务中包括第一安防服务和第二安防服务;

测试模块302在测试多个安防服务中不同安防服务间的接口交互是否正常时,具体用于:

第一安防服务调用设定的接口将设定的业务请求发送给第二安防服务;

第二安防服务响应业务请求,并调用设定的接口将业务请求对应的业务资源反馈给第一安防服务;

检查业务资源与业务请求是否对应;若对应,则确定多个安防服务中不同安防服务间中的接口交互正常;若不对应,则多个安防服务中不同安防服务间中的接口交互异常。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。

也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。

也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

综上所述,本申请实施例提供的一种安防服务测试方法、装置、电子设备及可读存储介质,通过配置待测试的多个安防服务,并利用获得的配置参数部署该多个安防服务,从而生成测试环境,进而基于该测试环境,自动对该多个安防服务中不同安防服务间的交互进行测试,相比于现有技术,能够自动对不同安防服务间的交互进行测试,而无需测试人员手工配置测试环境,能够提升安防服务的测试效率,降低测试成本。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1