CN113495833A - 基于视频事件的软件测试方法、装置、系统及可读存储介质 - Google Patents

基于视频事件的软件测试方法、装置、系统及可读存储介质 Download PDF

Info

Publication number
CN113495833A
CN113495833A CN202010262850.4A CN202010262850A CN113495833A CN 113495833 A CN113495833 A CN 113495833A CN 202010262850 A CN202010262850 A CN 202010262850A CN 113495833 A CN113495833 A CN 113495833A
Authority
CN
China
Prior art keywords
test
video
tested
program
data
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.)
Granted
Application number
CN202010262850.4A
Other languages
English (en)
Other versions
CN113495833B (zh
Inventor
钟柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN202010262850.4A priority Critical patent/CN113495833B/zh
Publication of CN113495833A publication Critical patent/CN113495833A/zh
Application granted granted Critical
Publication of CN113495833B publication Critical patent/CN113495833B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供基于视频事件的软件测试方法,包括:控制播放待测试程序测试所需的应用场景视频;模拟与所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据;将所述测试数据发送至所述待测试程序以对所述待测试程序进行测试。还提供一种基于视频事件的软件测试装置,包括:测试协同模块,用于控制播放待测试程序所需的应用场景视频;第一设备模拟程序模块,用于模拟所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据,并将所述测试数据发送至所述待测试程序,以对所述待测试程序进行测试。本发明能够提高软件测试的效率,降低测试成本。

Description

基于视频事件的软件测试方法、装置、系统及可读存储介质
技术领域
本发明涉及软件测试技术领域,尤其涉及一种基于视频事件的软件测试方法、装置、系统及可读存储介质。
背景技术
目前,在涉及处理智能设备感知数据的平台软件的测试过程中,需要根据应用场景模拟智能设备感知的车辆、车底、人脸、人体和人证等数据,为平台软件的测试提供测试数据。
但是,现有的测试方法中,根据配置的预设案例来执行操作界面获取执行结果,是以人为操作驱动的测试过程,无法满足真实应用场景中的事件(车辆或者人脸)来驱动测试用例,以下为三个举例:
1)在检查站应用系统测试过程中,主要以下步骤:(1)平台添加智能车辆识别摄像机和智能人脸识别摄像机,车底扫描设备,人证设备;(2)智能车辆识别摄像机抓拍车辆,车底扫描设备扫描车底,智能人脸识别摄像机抓拍人脸,人脸比对静态库,人员刷身份证,身份证号对接第三方库验证等过程。其中摄像机抓拍车牌或人脸,车底扫描设备扫描车底等步骤,在实际测试过程中不可能持续的人为开车或者刷脸,也不可能申请并安装一台车底设备,并在需要时人为过车,费时费力。
2)在测试烟雾或者火灾检测算法过程中,摄像头通过拍摄含有真实烧火或者制造烟雾的视频,根据摄像头视频数据来测试火灾或者烟雾算法,不仅存在安全隐患,而且需要向有关部门申请且测试过程繁琐。
3)在云端或远程开放智能设备给第三方应用软件开发者测试时,开发者如果每开发一款应用,都购买对应的智能设备,成本太高不利于智能设备的推广。
总之,当前涉及处理智能设备感知数据的平台软件开发过程中的软件测试受限于测试场景或测试设备,难以低成本、高效率的完成测试。
发明内容
鉴于上述问题,本发明提供的基于视频事件的软件测试系统及方法,降低测试成本,提高测试效率。
第一方面,本发明提供一种基于视频事件的软件测试方法,包括:
控制播放待测试程序测试所需的应用场景视频;
模拟与所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据;
将所述测试数据发送至所述待测试程序以对所述待测试程序进行测试。
可选地,基于视频事件的软件测试方法还包括:
依据所述待测试程序的测试规则,确定所述待测试程序测试所需的非视频辅助数据;
模拟与所述非视频辅助数据对应的实际设备对所述非视频辅助数据进行处理,得到辅助测试数据;
将所述辅助测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
可选地,所述将所述测试数据发送至所述待测试程序以对所述待测试程序进行测试,包括:
订阅所述测试数据;
若消费到所述测试数据,则将所述测试数据或辅助测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
第二方面,本发明提供一种基于视频事件的软件测试装置,包括:
测试协同模块,用于控制播放待测试程序所需的应用场景视频;
第一设备模拟程序模块,用于模拟所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据,并将所述测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
可选地,所述测试协同模块还用于依据所述待测试程序的测试规则,获取所述待测试程序测试所需的非视频辅助数据;所述软件测试装置还包括第二设备模拟程序模块,用于模拟所述非视频辅助数据对应的实际设备对所述非视频辅助数据进行处理,得到辅助测试数据,并将所述辅助测试数据发送至所述待测试程序,以配合所述测试数据对所述待测试程序进行测试。
可选地,所述测试协同模块还用于:订阅所述测试数据;若消费到所述测试数据,则将所述测试数据或辅助测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
第三方面,本发明提供一种基于视频事件的软件测试装置,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行如上述任一项所述基于视频事件的软件测试方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述基于视频事件的软件测试方法。
第五方面,本发明提供一种基于视频事件的软件测试系统,包括如上述任一项所述基于视频事件的软件测试装置,还包括:应用场景视频源模块,用于播放待测试程序测试所需的应用场景视频。
可选地,基于视频事件的软件测试系统还包括:非视频辅助数据配置模块,用于提供所述待测试程序测试所需的非视频辅助数据。
本发明提供的基于视频事件的软件测试方法、装置、系统及可读存储介质,无需通过人为操作驱动,只需要将待测试程序与第一设备模拟程序模块建立通讯,由应用场景视频源模块提供对应的视频,并通过第一设备模拟程序模块对应用视频中的数据进行处理,得到测试数据,并发送测试数据给待测试程序,从而,不需要实际的智能设备和实际的测试场景,仅利用应用场景视频即可营造出与实际测试场景一致的测试条件。
对于检查站应用系统的测试,在测试过程中,应用场景视频为车辆进入检查站的视频以及落下车窗露出人脸的视频,第一设备模拟程序模块包括智能车辆识别摄像机模拟程序模块和智能人脸识别摄像机模拟程序模块,智能车辆识别摄像机模拟程序模块采集视频中的车辆信息并发送至检查站应用系统,智能人脸识别摄像机模拟程序模块采集视频中的人脸信息并发送至检查站应用系统,然后通过查询检查站应用系统中的车辆信息、人脸信息是否成功存储到数据库,人脸照片比对人脸静态库接口是否成功以及解析对比数据是否成功等来判断检查站应用系统的功能是否完好。从而能够最大限度的保证与实际场景一致,提高了测试结果的可信度,节省测试的人力和设备成本。
针对火灾和烟雾检测算法等不具备测试条件的问题,利用视频内容中的火灾和烟雾事件则可以很好的模拟测试数据。在测试过程中,应用场景视频为出现火苗或烟雾的视频,第一设备模拟程序模块包括普通摄像机模拟程序模块,普通摄像机模拟程序模块接收视频,并模拟普通摄像机将接收的视频发送至火灾或烟雾检测算法。通过查看火灾或烟雾检测算法是否成功依据普通摄像机模拟程序模块发送的视频正确识别火灾或烟雾来判断火灾和烟雾检测算法的有效性。从而能够创造测试条件,方便算法调测验证,加快产品发布进度。
针对第三方应用软件开发者,可在云端和远程服务器为开发者提供测试条件,避免必须购买智能设备才能开发应用的硬伤,节省开发者金钱和时间成本,利于智能设备推广和软件生态化。
附图说明
图1为本发明基于视频事件的软件测试方法一实施方式的流程框图;
图2为本发明基于视频事件的软件测试方法一实施方式中进行检查站应用系统测试时的流程图。
图3为本发明基于视频事件的软件测试装置一实施方式的整体架构图;
图4为本发明基于视频事件的软件测试系统一实施方式的整体架构图;
图5为本发明基于视频事件的软件测试系统一实施方式中进行检查站应用系统测试时的架构图;
图6为本发明基于视频事件的软件测试系统另一实施方式中进行检查站应用系统测试时的架构图;
图7为本发明基于视频事件的软件测试系统一实施方式中进行火灾和烟雾检测算法测试时的架构图;
图8为本发明基于视频事件的软件测试系统另一实施方式中进行火灾和烟雾检测算法测试时的架构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于视频事件的软件测试方法,如图1所示,包括:
S1:控制播放待测试程序测试所需的应用场景视频;
本步骤采用应用场景视频源模块播放应用场景视频,通过测试协同模块控制播放应用场景视频;测试协同模块需要依据测试规则,选择应用场景视频源模块中的应用场景视频,控制播放应用场景视频的同时发送给第一设备模拟程序模块。
S2:模拟与所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据;
本步骤可以通过第一设备模拟程序模块模拟实际设备实现,第一设备模拟程序模块具有真实设备的业务功能,但是其数据来源不是来源于真实场景的采集,而是来源于协同测试模块播放的视频。例如,对于检查站应用系统的测试时,依据检查站应用系统的需要,可以选择的第一设备模拟程序模块包括:智能车辆识别摄像机模拟程序模块用于接收车辆的行驶视频、智能人脸识别摄像机模拟程序模块用于接收人脸扫描的视频;而对于火灾和烟雾算法的测试过程,可以依据需要配置一个或多个普通摄像机模拟程序模块,用于接收一个或多个角度的现场视频。对于其他的应用场景,可以依据程序或算法的测试需求,采用不同的设备模拟程序模块。
S3:将所述测试数据发送至所述待测试程序以对所述待测试程序进行测试。
由于需要将测试数据发送至待测试程序,因此,需要建立第一设备模拟程序模块与所述待测试程序之间的通讯连接,以使所述待测试程序能接收所述设备模拟程序模块发送的数据;
在建立通讯连接的过程中,作为可选地方式,包括:待测试程序登录步骤:
所述设备模拟程序模块接收并校验所述待测试程序发送的登录信息,当所述待测试程序发送的登录信息校验通过时,允许所述待测试程序登录,当所述待测试程序发送的登录信息校验未通过时,拒绝所述待测试程序登录。可选地,所述登录信息包括:IP地址、端口、用户名或密码中的一种或几种。
作为可选地实施方式,所述将所述测试数据发送至所述待测试程序以对所述待测试程序进行测试包括:订阅所述测试数据;若消费到所述测试数据,则将所述测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
对于部分软件的检测来说,还需要其他数据配合应用场景视频进行测试,因此,作为可选地方式,还包括:
依据所述待测试程序的测试规则,确定所述待测试程序测试所需的非视频辅助数据;
模拟与所述非视频辅助数据对应的实际设备对所述非视频辅助数据进行处理,得到辅助测试数据;
将所述辅助测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
例如,对于检查站应用系统来说,第二设备模拟程序模块可以选择车底扫描设备模拟程序模块,用于接收车底照片并模拟真实的车底扫描设备识别车底照片数据并发送给待测试程序;还可以选择人证设备模拟程序模块,用于接收人员身份证信息,并模拟实际的人证设备提取人员身份证信息中的数据并发送给待测试程序。
应用场景视频源模块可以采用固定量的存储视频作为应用场景视频源模块,也可以实时接收用户上传的视频作为应用场景视频源模块,或者采用两者同时存在的方式。当需要接收用户上传的视频时,可选地,还包括:应用场景视频上传步骤:所述应用场景视频源模块接收用户上传的应用场景视频,并依据所述应用场景视频对应的场景进行分类存储。
本发明提供的基于视频事件的软件测试方法,无需通过人为操作驱动,只需要将待测试程序与第一设备模拟程序模块建立通讯,由应用场景视频源模块提供对应的应用场景视频,并通过第一设备模拟程序模块采集视频中的数据发送给待测试程序,从而,不需要实际的智能设备和实际的测试场景,仅利用应用场景视频即可营造出与实际测试场景一致的测试条件。
对于检查站应用系统的测试,即待测试程序为检查站应用系统,可选的,应用场景如下:应用场景视频的内容为车辆缓慢进入检查站并停在工位,落下车窗,车内人员人脸对准智能人脸识别摄像机。在测试过程中,需要用到的第一设备模拟程序模块包括智能车辆识别摄像机模拟程序模块和智能人脸识别摄像机模拟程序模块,而应用场景视频源模块则提供对应检查站的智能车辆识别摄像机视角的视频和智能人脸识别摄像机视角的视频。首先配置测试规则,对于检查站应用系统的测试规则至少包括在测试开始时播放智能车辆识别摄像机模拟程序模块视角的视频,并且在智能车辆识别摄像机模拟程序模块视角的视频播放至车窗落下时,开始播放智能人脸识别摄像机视角的视频。测试过程中,测试协同模块依据测试规则,首先播放智能车辆识别摄像机视角的视频,当该智能车辆识别摄像机视角的视频播放至车窗落下时,依据测试规则开始播放智能人脸识别摄像机视角的视频并保持两个视频中的动作同步。测试协同模块在播放视频的同时以内存共享或socket通信的方式向智能车辆识别摄像机模拟程序模块和智能人脸识别摄像机模拟程序模块发送当前播放的视频,智能车辆识别摄像机的模拟程序模块接收智能车辆识别摄像机视角的视频并模拟实际的智能车辆识别摄像机对视频进行处理,当智能车辆识别摄像机模拟程序模块检测到视频中的车辆时,对车辆进行识别,并将时间、车牌、车牌颜色、车辆颜色、车辆类型、车辆品牌、车辆照片等数据发送给待测试程序;智能人脸识别摄像机模拟程序模块则接收智能人脸识别摄像机视角的视频并模拟实际的智能人脸识别摄像机对视频进行处理,当智能人脸识别摄像机模拟程序模块检测到视频中的人脸时,对人脸进行识别,并将时间、人脸照片等数据发送给待测试程序。待测试程序接收到智能车辆识别摄像机模拟程序模块、智能人脸识别摄像机模拟程序模块检测到的数据后,将车辆数据和人脸数据上传至图片存储获得图片URL,将车辆信息和图片URL等数据存储至数据库,然后通过检查站应用系统的服务日志确定车辆、人脸数据存储到数据库是否成功,照片上传到存储是否成功,人脸照片比对人脸静态库接口是否成功,解析对比是否正确等来判断检查站应用系统的功能是否完好。上述方案根据视频内容对检查站应用系统进行测试,能够最大限度的保证与实际场景一致,提高了测试结果的可信度,节省测试的人力和设备成本。
针对火灾和烟雾检测算法等不具备测试条件的问题,其应用场景如下:场景中出现火苗或烟雾。因此,应用场景视频源模块的应用场景视频为出现火苗或烟雾的视频,而第一设备模拟程序模块则为普通摄像机模拟程序模块。首先,配置测试规则,对于火灾和烟雾的检测算法,如果只具有一个普通摄像机模拟程序模块,则测试规则只需要包括在测试开始时播放出现火苗或烟雾的视频,如果具有多个普通摄像机模拟程序模块接收不同视角的视频,则测试规则需要包括在测试开始时播放多个视角的出现火灾或烟雾的视频,并控制多个视角的出现火灾或烟雾的视频同步。在测试过程中,测试协同模块依据测试规则播放出现火苗或者烟雾的视频并通过内存共享或socket通信的方式将视频发送至普通摄像机模拟程序模块,普通摄像机模拟程序模块接收测试协同模块发送的视频,并模拟实际的普通摄像机,将接收的视频发送给待测试程序,当视频中出现火苗或者烟雾时,如果火灾或烟雾检测算法能够正确的检测出火苗或烟雾,则该算法符合要求,如果火灾或烟雾检测算法未能正确检测出火苗或烟雾,则该算法不符合要求。上述方案中,利用视频内容中的火灾和烟雾事件则可以很好的模拟测试数据,创造测试条件,方便算法调测验证,加快产品发布进度。
针对第三方应用软件开发者,可在云端和远程服务器为开发者提供测试条件,避免必须购买智能设备才能开发应用的硬伤,节省开发者金钱和时间成本,利于智能设备推广和软件生态化。
如下以具体的实施例进行说明:
本实施例提供主要用于检查站应用系统的测试,包括:
S1:控制播放待测试程序测试所需的应用场景视频;
本步骤可以采用应用场景视频源模块播放应用场景视频,通过测试协同模块控制播放应用场景视频;对于本实施例来说,应用场景视频为检查站应用系统测试所需的应用场景视频。
测试协同模块需要依据测试规则,选择应用场景视频源模块中的应用场景视频,控制播放应用场景视频的同时发送给第一设备模拟程序模块。在本实施例中,测试规则包括:1)视频源输入指定的摄像机设备模拟程序模块;2)设置人员身份证件数据输入规则,例如:抓拍到车牌或人脸N秒之后,发送人证数据给指定的人证设备模拟程序模块;3)设置车底扫描照片数据输入规则,例如1:视频播放到某时刻,发送某车牌的车底扫描照片数据给指定的车底扫描设备模拟程序模块,例如2:抓拍到某车牌N秒之后,发送该车牌的车底扫描照片数据给指定的车底扫描设备模拟程序模块。
S2:模拟与所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据;
本步骤可以通过第一设备模拟程序模块模拟实际设备实现,第一设备模拟程序模块具有真实设备的业务功能,但是其数据来源不是来源于真实场景的采集,而是来源于协同测试模块播放的视频。对于检查站应用系统的测试时,依据检查站应用系统的需要,可以选择的第一设备模拟程序模块包括:智能车辆识别摄像机模拟程序模块用于接收车辆的行驶视频、智能人脸识别摄像机模拟程序模块用于接收人脸扫描的视频。
S3:将所述测试数据发送至所述待测试程序以对所述待测试程序进行测试。
检查站应用系统接收测试数据的过程与接收实际设备采集的实际数据相同,在接收到测试数据后,将车辆照片上传到图片存储获得图片URL,将车辆信息和图片URL等数据存储至数据库;后端服务消费到人脸数据,将人脸照片上传到图片存储获得图片URL,将人脸信息和图片URL等数据存储至数据库;通过检查站应用系统的服务日志确定车辆信息、人脸数据、车底数据和人员证件信息存储到数据库是否成功,照片上传到存储是否成功,人脸照片比对人脸静态库接口是否成功,解析对比是否正确等判断检查站应用系统是否符合要求。
由于需要将测试数据发送至待测试程序,因此,需要建立第一设备模拟程序模块与所述待测试程序之间的通讯连接,以使所述待测试程序能接收所述设备模拟程序模块发送的数据;
在建立通讯连接的过程中,作为可选地方式,包括:待测试程序登录步骤:
所述第一设备模拟程序模块接收并校验所述待测试程序发送的登录信息,当所述待测试程序发送的登录信息校验通过时,允许所述待测试程序登录,当所述待测试程序发送的登录信息校验未通过时,拒绝所述待测试程序登录。可选地,所述登录信息包括:IP地址、端口、用户名或密码中的一种或几种。
在本实施例中,车底扫描数据和人证数据为非视频辅助数据,可以采用第二设备模拟程序模块模拟对应的实际设备对非视频辅助数据进行处理,得到辅助测试数据。测试协同模块依据测试规则配置非视频辅助数据,非视频辅助数据配置步骤如下:
依据所述待测试程序的测试规则,确定所述待测试程序测试所需的非视频辅助数据;模拟与所述非视频辅助数据对应的实际设备对所述非视频辅助数据进行处理,得到辅助测试数据;将所述辅助测试数据发送至所述待测试程序,以对所述待测试程序进行测试。在本实施例中第二设备模拟程序模块包括了车底扫描设备模拟程序模块和人证设备模拟程序模块。
作为可选的实施方式,将所述测试数据发送至所述待测试程序以对所述待测试程序进行测试包括:订阅所述测试数据;若消费到所述测试数据,则将所述测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
如图2所示,一种具体的执行过程如下:
S11:测试协同模块开始控制播放检查站应用场景视频源模块,输入给配置的智能车辆识别摄像机和智能人脸识别摄像机的模拟程序模块。视频内容为车辆缓慢进入检查站并停在工位,落下车窗,车内人员人脸对准智能人脸识别摄像机。
S12:智能车辆识别摄像机的模拟程序模块检测到视频中的车辆时,将抓拍时间、车牌、车牌颜色、车辆颜色、车辆类型、车辆品牌、车辆照片等数据,发布给后端服务和测试协同模块;智能人脸识别摄像机的模拟程序模块检测到视频中的人脸时,将抓拍时间、人脸照片等数据,发布给后端服务和测试协同模块。
S13:后端服务消费到车辆数据,将车辆照片上传到图片存储获得图片URL,将车辆信息和图片URL等数据存储至数据库;后端服务消费到人脸数据,将人脸照片上传到图片存储获得图片URL,将人脸信息和图片URL等数据存储至数据库。
S14:测试协同模块执行测试规则:测试协同模块消费到车辆数据之后,开始执行测试规则中有关车底扫描数据的相关发送规则,测试协同模块由非视频辅助数据配置模块获取车底扫描数据并发送给车底扫描设备模拟程序模块,并由车底扫描设备模拟程序模块模拟实际的车底扫描设备发布关联该车辆车牌的车底照片数据给后端服务;随着视频继续播放,测试协同模块消费到车辆或人脸数据N秒之后,开始执行测试规则中有关人员身份证件数据的相关发送规则,测试协同模块由非视频辅助数据配置模块获得人员身份证件数据发送给人证设备模拟程序模块,并由人证设备模拟程序模块模拟实际的人证设备发布设置的人员身份证件数据给后端服务。
在上述的测试过程结束后,通过检查站应用系统的服务日志确定车辆信息、人脸数据、车底数据和人员证件信息存储到数据库是否成功,照片上传到存储是否成功,人脸照片比对人脸静态库接口是否成功,解析对比是否正确等判断检查站应用系统是否符合要求。
上述的应用场景视频源模块的应用场景视频是预先存储的,还可以采用用户上传的方式增加应用场景视频源模块的数量,应用场景视频上传步骤如下:所述应用场景视频源模块接收用户上传的应用场景视频,并依据所述应用场景视频对应的场景进行分类存储。开放权限给用户上传视频能够提高应用场景视频的数量,扩大测试场景的样本数量,同时还能够逐步的提高测试场景的覆盖范围。
本实施例提供的基于视频事件的软件测试方法,无需通过人为操作驱动,只需要将待测试程序与设备模拟程序模块建立通讯,由应用场景视频源模块提供对应的视频,并通过设备模拟程序模块采集视频中的数据发送给待测试程序,从而,不需要实际的智能设备和实际的测试场景,仅利用应用场景视频即可营造出与实际测试场景一致的测试条件。
对于检查站应用系统的测试,根据视频内容中车辆或人脸事件触发测试用例能够最大限度的保证与实际场景一致,提高了测试结果的可信度,节省测试的人力和设备成本。
当然,上述的实施例中采用应用场景视频与非视频辅助数据配置配合进行测试的方式,其原因是该待测试程序的真实应用场景即需要应用场景视频和非视频辅助数据配置配合进行应用。当测试不需要非视频辅助数据的待测试程序时,也可以采用仅输入应用场景视频的方式进行测试。
本实施例主要应用于火灾检测或烟雾检测算法的测试,包括:
S1:控制播放待测试程序测试所需的应用场景视频;
本步骤可以采用应用场景视频源模块播放应用场景视频,通过测试协同模块控制播放应用场景视频;在本实施例中,应用场景视频为出现火苗或烟雾的视频。
测试协同模块需要依据测试规则,选择应用场景视频源模块中的应用场景视频,控制播放应用场景视频的同时发送给第一设备模拟程序模块。
S2:模拟与所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据;
本步骤可以通过第一设备模拟程序模块模拟实际设备实现,第一设备模拟程序模块具有真实设备的业务功能,但是其数据来源不是来源于真实场景的采集,而是来源于协同测试模块播放的视频。对于火灾和烟雾算法的测试过程,可以依据需要配置一个或多个普通摄像机模拟程序模块,用于接收一个或多个角度的现场视频。优选地,可以采用多个普通摄像机模拟程序模块,以便于从多个角度的视频来测试待测试程序。也可以采用一个普通摄像机模拟程序模块时,能够减少加载时间,但只能采用一个角度的视频来对待测试程序进行测试。
S3:将所述测试数据发送至所述待测试程序以对所述待测试程序进行测试。
由于需要将测试数据发送至待测试程序,因此,需要建立第一设备模拟程序模块与所述待测试程序之间的通讯连接,以使所述待测试程序能接收所述设备模拟程序模块发送的数据;
在建立通讯连接的过程中,作为可选地方式,包括:待测试程序登录步骤:
所述设备模拟程序模块接收并校验所述待测试程序发送的登录信息,当所述待测试程序发送的登录信息校验通过时,允许所述待测试程序登录,当所述待测试程序发送的登录信息校验未通过时,拒绝所述待测试程序登录。可选地,所述登录信息包括:IP地址、端口、用户名或密码中的一种或几种。
具体的测试过程中,测试协同模块执行测试规则如下:测试协同模块开始播放N路火灾和烟雾应用场景视频,并输入给指定的摄像机设备模拟程序模块。
火灾检测算法当检测到视频数据中有火苗时,则给出火灾报警,同时人工与视频内容对比确定是否误报,误报则完善算法。
烟雾检测算法当检测到视频数据中有烟雾时,则给出烟雾报警,同时人工与视频内容对比确定是否误报,误报则完善算法。
本实施例提供的基于视频事件的软件测试方法,无需通过人为操作驱动,只需要将待测试程序与第一设备模拟程序模块建立通讯,由应用场景视频源模块提供对应的视频,并通过第一设备模拟程序模块采集视频发送给待测试程序,从而,不需要实际的智能设备和实际的测试场景,仅利用应用场景视频即可营造出与实际测试场景一致的测试条件。
针对火灾和烟雾检测算法等不具备测试条件的问题,利用视频内容中的火灾和烟雾事件则可以很好的模拟测试数据,创造测试条件,方便算法调测验证,加快产品发布进度。
在本实施例中,由于未采用非视频辅助数据,因此,不需要进行非视频辅助数据配置。但是,本领域技术人员应当清楚,对于测试过程中需要非视频辅助数据时,也可以进行非视频辅助数据配置。
上述的应用场景视频源模块的应用场景视频是预先存储的,还可以采用用户上传的方式增加应用场景视频源模块的数量,应用场景视频上传步骤如下:所述应用场景视频源模块接收用户上传的应用场景视频,并依据所述应用场景视频对应的场景进行分类存储。开放权限给用户上传视频能够提高应用场景视频的数量,扩大测试场景的样本数量,同时还能够逐步的提高测试场景的覆盖范围。
本实施例主要用于对第三方应用软件进行测试,该场景下,在测试时,第三方应用软件开发者将其开发的三方应用软件上传至云端或服务器,并运行该第三方应用软件,测试方法包括:S1:控制播放待测试程序测试所需的应用场景视频;
本步骤可以采用应用场景视频源模块播放应用场景视频,通过测试协同模块控制播放应用场景视频;对于本实施例来说,对于应用场景视频的选择,可以由第三方应用软件开发者自行选定,也可以由测试协同模块进行配置。
测试协同模块需要依据测试规则,选择应用场景视频源模块中的应用场景视频,控制播放应用场景视频的同时发送给第一设备模拟程序模块。测试规则可以预先制定并存储,由第三方应用软件开发者通过交互页面进行选择或配置;也可以提供API接口,由第三方应用软件开发者自行开发并确定测试规则;当然,也可以由测试协同模块依据第三方应用软件的属性配置测试规则。
S2:模拟与所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据;
本步骤可以通过第一设备模拟程序模块模拟实际设备实现,第一设备模拟程序模块具有真实设备的业务功能,但是其数据来源不是来源于真实场景的采集,而是来源于协同测试模块播放的视频。在本实施例中,设备模拟程序模块加载在设备模拟程序管理模块上,设备模拟程序管理模块可以提供一交互页面,由第三方应用软件开发者自行选择加载程序的种类和数量,也可以由设备程序管理模块依据第三方应用软件的属性确定加载程序的种类和数量。
S3:将所述测试数据发送至所述待测试程序以对所述待测试程序进行测试。
第三方应用软件接收待测试数据后,第三方应用软件以应用场景视频源模块作为测试场景,当第三方应用软件能够做出预期的结果时,则判断第三方应用软件符合要求,当第三方应用软件不能做出预期结果时,则判断第三方应用软件不符合要求。
由于需要将测试数据发送至待测试程序,因此,需要建立第一设备模拟程序模块与所述待测试程序之间的通讯连接,以使所述待测试程序能接收所述设备模拟程序模块发送的数据;
在建立通讯连接的过程中,作为可选地方式,包括:待测试程序登录步骤:
所述设备模拟程序模块接收并校验所述待测试程序发送的登录信息,当所述待测试程序发送的登录信息校验通过时,允许所述待测试程序登录,当所述待测试程序发送的登录信息校验未通过时,拒绝所述待测试程序登录。可选地,所述登录信息包括:IP地址、端口、用户名或密码中的一种或几种。
当待测试程序的测试过程需要非视频辅助数据时,作为可选地实施方式,还包括:依据所述测试规则,选择非视频辅助数据,并将所述非视频辅助数据发送给对应的第二设备模拟程序模块,以使所述第二设备模拟程序模块模拟对应的实际设备对所述非视频辅助数据进行处理得到辅助测试数据,并将所述辅助测试数据发送至待测试程序,以配合所述测试数据对所述待测试程序进行测试。
作为可选地实施方式,将所述测试数据发送至所述待测试程序以对所述待测试程序进行测试包括:订阅所述测试数据;若消费到所述测试数据,则将所述测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
本实施例提供的基于视频事件的软件测试方法,无需通过人为操作驱动,只需要将待测试程序与设备模拟程序模块建立通讯,由应用场景视频源模块提供对应的视频,并通过设备模拟程序模块采集视频中的数据发送给待测试程序,从而,不需要实际的智能设备和实际的测试场景,仅利用应用场景视频即可营造出与实际测试场景一致的测试条件。
针对第三方应用软件开发者,可在云端和远程服务器为开发者提供测试条件,避免必须购买智能设备才能开发应用的硬伤,节省开发者金钱和时间成本,利于智能设备推广和软件生态化。
如图3所示,本发明提供一种基于视频事件的软件测试装置,包括:
测试协同模块,用于控制播放待测试程序所需的应用场景视频;
第一设备模拟程序模块,用于模拟所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据,并将所述测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
所述测试协同模块还用于依据所述待测试程序的测试规则,获取所述待测试程序测试所需的非视频辅助数据;
可选地,所述软件测试装置还包括第二设备模拟程序模块,用于模拟所述非视频辅助数据对应的实际设备对所述非视频辅助数据进行处理,得到辅助测试数据,并将所述辅助测试数据发送至所述待测试程序,以配合所述测试数据对所述待测试程序进行测试。
可选地,所述测试协同模块还用于:订阅所述测试数据;若消费到所述测试数据,则将所述测试数据或辅助测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
基于上述的基于视频事件的软件测试装置,本发明还提供一种基于视频事件的软件测试系统,如图4所示,包括:
应用场景视频源模块,用于播放待测试程序测试所需的应用场景视频;
测试协同模块,用于控制播放待测试程序所需的应用场景视频;
第一设备模拟程序模块,用于模拟所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据,并将所述测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
本发明提供的基于视频事件的软件测试系统,无需通过人为操作驱动,由应用场景视频源模块提供对应的应用场景视频,并通过第一设备模拟程序模块对应用场景视频进行处理,得到测试数据,并将测试数据发送给待测试程序,以提供所述待测试程序的测试场景。从而,通过设备模拟程序模块替代实际的设备,通过应用场景视频替代实际的测试场景,不需要实际的智能设备和实际的测试场景,仅利用应用场景视频即可营造出与实际测试场景一致的测试条件。
对于检查站应用系统的测试,即待测试程序为检查站应用系统,可选的,应用场景如下:应用场景视频的内容为车辆缓慢进入检查站并停在工位,落下车窗,车内人员人脸对准智能人脸识别摄像机。在测试过程中,需要用到的第一设备模拟程序模块包括智能车辆识别摄像机模拟程序模块和智能人脸识别摄像机模拟程序模块,而应用场景视频源模块则提供对应检查站的智能车辆识别摄像机视角的视频和智能人脸识别摄像机视角的视频。首先配置测试规则,对于检查站应用系统的测试规则至少包括在测试开始时播放智能车辆识别摄像机模拟程序模块视角的视频,并且在智能车辆识别摄像机模拟程序模块视角的视频播放至车窗落下时,开始播放智能人脸识别摄像机视角的视频。测试过程中,测试协同模块依据测试规则,首先播放智能车辆识别摄像机视角的视频,当该智能车辆识别摄像机视角的视频播放至车窗落下时,依据测试规则开始播放智能人脸识别摄像机视角的视频并保持两个视频中的动作同步。测试协同模块在播放视频的同时以内存共享或socket通信的方式向智能车辆识别摄像机模拟程序模块和智能人脸识别摄像机模拟程序模块发送当前播放的视频,智能车辆识别摄像机的模拟程序模块接收智能车辆识别摄像机视角的视频并模拟实际的智能车辆识别摄像机对视频进行处理,当智能车辆识别摄像机模拟程序模块检测到视频中的车辆时,对车辆进行识别,并将时间、车牌号码、车牌颜色、车辆颜色、车辆类型、车辆品牌、车辆照片等数据发送给待测试程序;智能人脸识别摄像机模拟程序模块则接收智能人脸识别摄像机视角的视频并模拟实际的智能人脸识别摄像机对视频进行处理,当智能人脸识别摄像机模拟程序模块检测到视频中的人脸时,对人脸进行识别,并将时间、人脸照片等数据发送给待测试程序。待测试程序接收到智能车辆识别摄像机模拟程序模块、智能人脸识别摄像机模拟程序模块检测到的数据后,将车辆数据和人脸数据上传至图片存储获得图片URL,将车辆信息和图片URL等数据存储至数据库,然后通过检查站应用系统的服务日志确定车辆、人脸数据存储到数据库是否成功,照片上传到存储是否成功,人脸照片比对人脸静态库接口是否成功,解析对比是否正确等来判断检查站应用系统的功能是否完好。
针对火灾和烟雾检测算法等不具备测试条件的问题,其应用场景如下:场景中出现火苗或烟雾。因此,应用场景视频源模块的应用场景视频为出现火苗或烟雾的视频,而第一设备模拟程序模块则为普通摄像机模拟程序模块。首先,配置测试规则,对于火灾和烟雾的检测算法,如果只具有一个普通摄像机模拟程序模块,则测试规则只需要包括在测试开始时播放出现火苗或烟雾的视频,如果具有多个普通摄像机模拟程序模块接收不同视角的视频,则测试规则需要包括在测试开始时播放多个视角的出现火灾或烟雾的视频,并控制多个视角的出现火灾或烟雾的视频同步。在测试过程中,测试协同模块依据测试规则播放出现火苗或者烟雾的视频并通过内存共享或socket通信的方式将视频发送至普通摄像机模拟程序模块,普通摄像机模拟程序模块接收测试协同模块发送的视频,并模拟实际的普通摄像机,将接收的视频发送给待测试程序,当视频中出现火苗或者烟雾时,如果火灾或烟雾检测算法能够正确的检测出火苗或烟雾,则该算法符合要求,如果火灾或烟雾检测算法未能正确检测出火苗或烟雾,则该算法不符合要求。上述方案中,利用视频内容中的火灾和烟雾事件则可以很好的模拟测试数据,创造测试条件,方便算法调测验证,加快产品发布进度。
针对第三方应用软件开发者,可在云端和远程服务器为第三方应用软件开发者提供测试条件,测试条件包括设置在云端的应用场景视频源模块、设置在云端的第一设备模拟程序模块以及设置在云端的测试协同模块;应用场景视频源模块用来提供第三方应用软件测试所需的应用场景视频,第一设备模拟程序模块则为第三方应用软件提供的其需要接入的设备的模拟程序模块,测试协同模块则用来配置测试规则、依据测试规则播放对应的应用场景视频并将应用场景视频输入给第一设备模拟程序模块。在测试时,第三方应用软件连接云端的设备模拟程序模块,由云端的测试协同模块依据测试规则播放对应的应用场景视频并以内存共享或socket通信的方式向设备模拟程序模块发送应用场景视频,第一设备模拟程序模块接收应用场景视频模拟对应的实际设备对应用场景视频进行处理,得到第三方应用软件测试所需的测试数据,并将测试数据发送给第三方应用软件,由第三方应用软件开发者依据第三方软件对测试数据处理来判断第三方软件是否符合要求。从而,避免第三方应用软件开发者必须购买智能设备才能开发应用的硬伤,节省开发者金钱和时间成本,利于智能设备推广和软件生态化。
对于部分软件的检测来说,还需要其他数据配合应用场景视频进行测试,可选地,基于视频事件的软件测试系统还包括:
非视频辅助数据配置模块,用于提供待测试程序测试所需的非视频辅助数据,并由所述测试协同模块依据所述测试规则将所述非视频辅助数据发送至对应的第二设备模拟程序模块;
第二设备模拟程序模块,用于模拟所述非视频辅助数据对应的实际设备对所述非视频辅助数据进行处理,得到辅助测试数据,并将所述辅助测试数据发送至所述待测试程序,以配合所述测试数据对所述待测试程序进行测试。当设备具备第二设备模拟程序模块时,所述测试协同模块还用于依据所述待测试程序的测试规则,获取所述待测试程序测试所需的非视频辅助数据。
可选地,对于检查站应用系统的测试过程中,所述非视频辅助数据配置模块配置的数据包括:车底扫描照片数据或人员身份证信息。所述辅助第二设备模拟程序模块包括车底扫描设备模拟程序模块和人证设备模拟程序模块。测试协同模块依据测试规则播放车辆进入检查站的应用场景视频,当测试协同模块的视频播放到车辆进入检查站时,依据测试规则,测试协同模块将非视频辅助数据配置模块中的车底照片数据发送至车底扫描设备模拟程序模块,车底扫描设备模拟程序模块接收到车底照片后,模拟实际的车底扫描设备对车底照片进行识别,例如,识别车底是否有危险物品并将识别的信息发送至检查站应用系统;同样的,测试协同模块中的车辆进入检查站的应用场景视频播放至车窗落下时,依据测试规则,测试协同模块开始播放智能人脸识别摄像机模拟程序模块视角对应的视频,当视频中出现完整的人脸时,依据测试规则,测试协同模块将非视频辅助数据配置模块中的人员身份证信息发送到人证设备模拟程序模块,人证设备模拟程序模块接收到人员身份证信息后,人证设备模拟程序模块模拟实际的人证设备,提取人员身份证信息中的照片信息以及身份证号信息等发送至检查站应用系统;而车底扫描设备模拟程序模块和人证设备模拟程序模块将对应的数据发送给检查站应用系统后,通过判断人员证件数据存储到数据库是否成功,车底照片存储到数据库是否成功等方式来判断检查站应用系统的功能是否完好。
对于火灾和烟雾检测算法的测试过程中,所述非视频辅助数据配置模块配置的数据可选的为温度数据或烟雾浓度数据等,第二设备模拟程序模块则包括温度检测设备模拟程序模块和烟雾浓度检测设备模拟程序模块。依据测试规则,测试协同模块首先播放出现火苗或烟雾的视频,当视频中的开始出现火苗或者烟雾的时,依据测试规则,测试协同模块开始将温度数据或烟雾浓度数据发送给温度检测设备模拟程序模块或烟雾浓度检测设备模拟程序模块,温度检测设备模拟程序模块或烟雾浓度检测设备模拟程序模块接收温度数据或烟雾浓度数据后,模拟实际的温度检测设备或烟雾浓度检测设备,提取多个时间节点的温度或烟雾浓度数据,并发送给待测试程序,待测试程序火灾或烟雾浓度检测算法通过视频中的火苗或烟雾配合相应的非视频辅助数据来识别是否出现火灾,例如,当视频中出现火苗后,温度随时间升高,则判断出现火灾;或者,当视频中烟雾逐渐变浓,烟雾浓度随时间变浓则判断出现火灾,依据识别结果判断算法的准确度。对于其他的应用场景来说,需要依据具体的算法或程序的测试要求来配置。非视频辅助数据配置模块配置的数据可以提前存储在非视频辅助数据配置模块中或其他存储器中,当需要应用该数据时,由非视频辅助数据配置模块调用并发送。上述的非视频辅助数据配置模块配置非视频辅助数据有助于进一步提高待测试程序的测试准确度。
如下以具体的实施例进行说明:
本实施例的软件测试系统的应用场景为对检查站应用系统进行测试;检查站应用系统主要是用来对进入的车辆进行识别并存储,对车辆驾驶人员进行识别并存储,对车底进行扫描并存储以及对车辆驾驶人员的身份信息进行识别并存储。
如图5所示,在检查站应用系统中,包括:后端服务模块和数据展示模块,其中:
后端服务模块主要包括:以下几部分的功能:1)设备的接入:该功能主要用于与设备模拟程序模块建立通讯连接,当检查站应用系统添加设备时登录设备,当删除设备时退出设备,在测试过程中,订阅设备模拟程序模块的测试数据。2)业务逻辑:该部分功能主要用于处理设备数据;例如消费到车辆数据时,车辆照片或车底照片上传到图片存储;消费到人脸数据时,人脸照片上传到图片存储并与人脸库比对;3)图片存储,用来存储车辆照片或者车底照片;4)人脸库,用来存储人脸照片;5)数据库:车辆、人脸、车底和人证的关联数据存储到数据库。
数据展示模块主要包括:如下的功能:客户端界面展示后端服务模块处理后的测试数据,例如视频内容中的车辆抓拍或者人脸抓拍照片、与车牌关联的车底照片、与人脸库比中的人员数据、非视频辅助数据配置模块的人证信息或者其他数据信息的展示。
本实施例中的基于视频事件的软件测试系统包括:应用场景视频源模块,用于播放待测试程序测试所需的应用场景视频;
测试协同模块,用于控制播放待测试程序所需的应用场景视频;
第一设备模拟程序模块,用于模拟所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据,并将所述测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
非视频辅助数据配置模块,用于提供待测试程序测试所需的非视频辅助数据,并由所述测试协同模块依据所述测试规则将所述非视频辅助数据发送至对应的第二设备模拟程序模块;
第二设备模拟程序模块,用于模拟所述非视频辅助数据对应的实际设备对所述非视频辅助数据进行处理,得到辅助测试数据,并将所述辅助测试数据发送至所述待测试程序,以配合所述测试数据对所述待测试程序进行测试。
测试协同模块,用于控制播放待测试程序所需的应用场景视频,以及依据所述待测试程序的测试规则,获取所述待测试程序测试所需的非视频辅助数据。测试规则如下,首先播放对应于智能车辆识别摄像机模拟程序模块视角的车辆驶入检查站的视频;当车辆驶入检查站的视频中车辆已进入检查区域时,向车底扫描设备模拟程序模块发送车底照片;当车辆驶入检查站的视频中驾驶员降下车窗时,开始播放对应于智能人脸识别摄像机视角的视频,并向人证设备模拟程序模块发送人员身份证信息。测试时,测试协同模块播放选择的应用场景视频源模块;并将应用场景视频内容输入给设备模拟程序管理模块中配置的需要视频数据的设备模拟程序模块;依据测试规则,在需要时,选择并输入非视频辅助数据给设备程序管理模块中配置的需要非视频辅助数据的设备模拟程序模块。在需要时,测试协同模块可以关闭输入数据给设备模拟程序模块,方便回溯视频。测试协同模块还可以订阅设备模拟程序模块中的业务数据,例如消费到视频中的车牌时,输入非视频辅助数据中的车底照片给车底设备模拟程序模块;测试人员可根据测试需要开始、暂停、结束、拖动、定位、循环或多窗口播放视频。在上述的测试过程结束后,通过检查站应用系统的服务日志确定车辆信息、人脸数据、车底数据和人员证件信息存储到数据库是否成功,照片上传到存储是否成功,人脸照片比对人脸静态库接口是否成功,解析对比是否正确等判断检查站应用系统是否符合要求。
作为可选的实施方式,如图6所示,基于视频事件的软件测试系统还包括设备模拟程序管理模块,用于管理或加载一个或一个以上的第一设备模拟程序模块和第二设备模拟程序模块,并控制所述第一设备模拟程序模块和第二设备模拟程序模块的版本;在本实施例中,设备模拟程序管理模块加载的第一设备模拟程序模块包括:智能车辆识别摄像机模拟程序模块、智能人脸识别摄像机模拟程序模块;设备模拟程序管理模块加载的第二设备模拟程序模块包括:车底扫描设备模拟程序模块和人证设备模拟程序模块。其中,智能车辆识别摄像机模拟程序模块用于接收应用场景视频源模块提供的车辆的行驶视频并对视频中的车辆进行识别,将识别时间、车牌、车牌颜色、车辆颜色、车辆类型、车辆品牌、车辆照片等数据发送至检查站应用系统、智能人脸识别摄像机模拟程序模块用于接收应用场景视频源模块提供的驾驶员落下车窗并漏出人脸的视频并对视频中的人脸进行识别,将识别时间和人脸照片等数据发送至检查站应用系统、车底扫描设备模拟程序模块用于接收非视频辅助数据配置模块提供的车底扫描数据,例如,非视频辅助数据配置模块提供车底照片作为车底扫描数据,车底扫描设备模拟程序模块提取车底照片的信息发送至检查站应用系统和人证设备模拟程序模块用于接收非视频辅助数据配置模块提供的人员的身份证信息,例如非视频辅助数据配置模块提供人员身份证信息给人证设备模拟程序模块,人证设备模拟程序模块提取人员身份证信息中的人员照片或人员身份号等信息并发送至检查站应用系统。
本实施例中,采用基于视频事件的软件测试系统,通过应用场景视频源模块和非视频辅助数据配置模块提供应用场景视频和相应的非视频辅助数据,由测试协同模块依据测试规则控制应用场景视频的播放和非视频辅助数据发送给对应的设备模拟程序模块,设备模拟程序模块模拟对应的实际设备对所述应用场景视频和所述非视频辅助数据进行处理,得到测试数据和辅助测试数据并发送给检查站应用系统,检查站应用系统通过接收到的测试数据和辅助测试数据后,通过判断车辆信息、人脸数据、车底数据和人员证件信息存储到数据库是否成功,照片上传到存储是否成功,人脸照片比对人脸静态库接口是否成功,解析对比是否正确等判断检查站应用系统是否符合要求。上述过程无需通过人为操作驱动,由应用场景视频源模块提供对应的视频,并通过设备模拟程序模块采集视频中的数据发送给待测试程序,从而,不需要实际的智能设备和实际的测试场景,仅利用应用场景视频即可营造出与实际测试场景一致的测试条件。对于检查站应用系统的测试,采用上述的测试方式,提高了测试结果的可信度,节省测试的人力和设备成本。
在上述实施例中,由于被测试软件需要用到车辆视频信息、人员视频信息、车底扫描数据和人员身份证信息,因此,在设备模拟程序管理模块中加载了智能车辆识别摄像机模拟程序模块、智能人脸识别摄像机模拟程序模块、车底扫描模拟程序模块和人证设备模拟程序模块。本领域技术人员应当理解,在实际测试中,可以依据实际的测试需求加载对应设备模拟程序模块,而非固定加载上述四种设备模拟程序模块。例如,当被测试软件只需要车辆视频信息和人员视频信息时,可以只加载智能车辆识别摄像机模拟程序模块和智能人脸识别摄像机模拟程序模块,而不需要加载车底扫描设备模拟程序模块和人证设备模拟程序模块。此时,由于不需要配置非视频辅助数据,可以将上述的实施方式中的辅助配置模块去除。
本实施例的软件测试系统主要应用于火灾和烟雾的检测的应用算法测试场景;
如图7所示,在该场景下,应用于火灾和烟雾的检测的应用算法主要包括:用来检测是否有火灾和烟雾的应用算法模块和用来当应用算法检测出场景中发生火灾或烟雾时发出警报的报警联动模块,其中:
应用算法模块主要包括:如下功能:1)设备接入,该功能主要用于与设备模拟程序模块建立通讯连接,当平台添加设备时登录设备,当删除设备时退出设备,在测试过程中,订阅设备程序的测试数据。2)火灾检测,火灾检测算法当检测到视频数据中有火苗时,则给出火灾报警,同时人工与视频内容对比确定是否误报,误报则完善算法。3)烟雾检测,烟雾检测算法当检测到视频数据中有烟雾时,则给出烟雾报警,同时人工与视频内容对比确定是否误报,误报则完善算法。
在该场景下,本实施例中的基于视频事件的软件测试系统包括:应用场景视频源模块,用于播放出现火苗或烟雾的应用场景视频;
第一设备模拟程序模块,用于模拟所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据,并将所述测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
在本实施例中,第一设备模拟程序模块为普通摄像机模拟程序模块;本实施例中的普通摄像机模拟程序模块的数量可以为一个或多个;优选方式是采用多个普通摄像机模拟程序模块,相应的,应用场景视频源模块提供多个角度的应用场景视频,从而能够测试采用多个角度的视频来判断火灾是否发生。当然也可以通加载一个普通摄像机模拟程序模块,通过一个角度的视频来判断火灾是否发生。
测试协同模块,用于控制播放待测试程序所需的应用场景视频;例如,首先配置测试规则如下:测试协同模块播放一个场景下的火灾视频,在一个场景下的火灾视频播放完成后延迟一定的时间继续播放下一个场景下的火灾视频。在测试过程中,测试协同模块依据测试规则播放火灾视频,并同时以内存共享或socket通信的方式向普通摄像机模拟程序模块发送视频,普通摄像机模拟程序模块接收视频并模拟实际的普通摄像机,将视频发送至火灾或烟雾算法,火灾或烟雾算法接收所述普通摄像机模拟程序模块发送的视频,并依据视频判断是否有火灾发生。通过查看火灾或烟雾算法识别火灾发生的结果测试火灾或烟雾算法能否在不同场景下对火灾的发生精准识别。
作为可选的实施方式如图8所示,本实施例的基于视频事件的软件测试系统还包括设备模拟程序管理模块,用于加载一个或过个第一设备模拟程序模块,并管理第一设备模拟程序模块的版本信息。
针对火灾和烟雾检测算法等不具备测试条件的问题,本实施例的基于视频事件的软件测试系统利用视频内容中的火灾和烟雾事件则可以很好的模拟测试数据,当视频中出现火苗或烟雾时,应用算法成功的识别了火苗或烟雾,并且通过报警联动模块发出了警报,则判断该应用算法符合要求,当应用算法不能成功识别火苗或烟雾或不能通过报警连通模块发出警报时,则判断该应用算法不符合要求,从而创造测试条件,方便算法调测验证,加快产品发布进度。
当然,对于火灾的识别在特定情况下也可以通过视频配合非视频辅助数据的方式进行识别,例如,可以采用温度传感器采集温度,判断温度是否明显上升,或者通过测量烟雾浓度的传感器测量烟雾浓度是否明显上升。在需要上述传感器的待测试程序中,上述实施例中的基于视频事件的软件测试系统还可以增加非视频辅助数据配置模块,用来提供温度数据或者烟雾浓度数据。相应的设备模拟程序管理模块需要加载相应的第二设备模拟程序模块。相应的,当具有第二设备模拟程序模块时,需要配置对应第二设备模拟程序模块的测试规则,例如,配置测试规则如下:当普通相机模拟程序模块接收的视频数据中出现火苗时,测试协同模块将非视频辅助数据配置模块提供的非视频辅助数据向相应的第二设备模拟程序模块发送。例如,第二设备模拟程序模块包括温度检测设备模拟程序模块和烟雾浓度检测设备模拟程序模块,将温度数据和烟雾浓度数据发送至温度检测设备模拟程序模块和烟雾浓度检测设备模拟程序模块,温度检测设备模拟程序模块模拟真实的温度检测设备,提取多个时间节点的温度数据发送至火灾检测算法,烟雾浓度检测设备模拟程序模块则模拟真实的烟雾浓度检测设备,提取多个时间节点的烟雾浓度数据发送至烟雾检测算法。火灾检测算法和烟雾检测算法接收上述的应用场景视频和非视频辅助数据,并判断是否出现火灾。当视频中出现火苗,且温度上升、烟雾浓度上升时,应用算法检测到当前发生火灾且由报警联动模块发出警报,则判断算法符合要求。或者,当普通相机模拟程序模块接收的视频数据中出现烟雾时,测试协同模块控制非视频辅助数据配置模块向相应的烟雾浓度检测设备模拟程序模块发送烟雾浓度数据,烟雾浓度检测设备模拟程序模块模拟实际的烟雾浓度检测设备,提取多个时间节点的烟雾浓度发送至烟雾检测算法,由烟雾检测算法检测当前是否发生火灾。当视频中出现烟雾,且烟雾浓度上升时,应用算法检测到当前发生火灾,且警报联动模块发出警报,则判断应用算法符合要求。
本实施例的软件测试系统主要应用于第三方应用软件测试场景,第三方应用软件开发者可以通过登录云端或者登录服务器运行本实施例的基于视频事件的软件测试系统,同时,将该第三方应用软件上传到云端或服务器并开始运行。
该场景下的基于视频软件的测试系统如下:包括:应用场景视频源模块,用于播放第三方应用软件测试所需的应用场景视频;应用场景视频源模块可以与第三方应用软件开发者进行交互,从而由第三方应用软件开发者选定应用场景视频;也可以依据第三方应用软件的属性自行配置应用场景视频。
测试协同模块,用于控制播放待测试程序所需的应用场景视频;本实施例中,测试协同模块拥有交互页面以供第三方应用软件开发者配置测试规则或者选择测试规则
第一设备模拟程序模块,用于模拟所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据,并将所述测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
对于需要在测试过程中使用非视频辅助数据时,本实施例还可以包括非视频辅助数据配置模块,用于提供待测试程序测试所需的非视频辅助数据,并由所述测试协同模块依据所述测试规则获取所述待测试程序测试所需的非视频辅助数据;
第二设备模拟程序模块,用于模拟所述非视频辅助数据对应的实际设备对所述非视频辅助数据进行处理,得到辅助测试数据,并将所述辅助测试数据发送至所述待测试程序,以配合所述测试数据对所述待测试程序进行测试。
作为可选的实施方式,本实施例的软件测试系统还包括设备模拟程序管理模块,用于管理或加载一个或一个以上的设备模拟程序模块;设备模拟程序管理模块可以与第三方应用软件开发者进行交互,以便第三方应用软件开发者选定需要加载的设备模拟程序模块;设备模拟程序管理模块也可以依据第三方应用软件的属性自行配置设备模拟程序模块。
本实施例提供的基于视频事件的软件测试系统,通过应用场景视频源模块提供应用场景视频,第三方应用软件以应用场景视频源模块作为测试场景,当第三方应用软件能够做出预期的结果时,则判断第三方应用软件符合要求,当第三方应用软件不能做出预期结果时,则判断第三方应用软件不符合要求。从而,无需通过人为操作驱动,由应用场景视频源模块提供对应的视频,并通过设备模拟程序模块采集视频中的数据发送给待测试程序,从而,不需要实际的智能设备和实际的测试场景,仅利用应用场景视频即可营造出与实际测试场景一致的测试条件。
针对第三方应用软件开发者,可在云端和远程服务器为开发者提供测试条件,避免必须购买智能设备才能开发应用的硬伤,节省开发者金钱和时间成本,利于智能设备推广和软件生态化。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
本实施例提供一种基于视频事件的软件测试装置,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行如上述任一项所述基于视频事件的软件测试方法。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括:如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种基于视频事件的软件测试方法,其特征在于:包括:
控制播放待测试程序测试所需的应用场景视频;
模拟与所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据;
将所述测试数据发送至所述待测试程序以对所述待测试程序进行测试。
2.如权利要求1所述的软件测试方法,其特征在于:还包括:
依据所述待测试程序的测试规则,确定所述待测试程序测试所需的非视频辅助数据;
模拟与所述非视频辅助数据对应的实际设备对所述非视频辅助数据进行处理,得到辅助测试数据;
将所述辅助测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
3.如权利要求1或2所述的软件测试方法,其特征在于:所述将所述测试数据发送至所述待测试程序以对所述待测试程序进行测试,包括:
订阅所述测试数据;
若消费到所述测试数据,则将所述测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
4.一种基于视频事件的软件测试装置,其特征在于:包括:
测试协同模块,用于控制播放待测试程序所需的应用场景视频;
第一设备模拟程序模块,用于模拟所述应用场景视频对应的实际设备对所述应用场景视频进行处理,得到测试数据,并将所述测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
5.如权利要求4所述的软件测试装置,其特征在于:所述测试协同模块还用于依据所述待测试程序的测试规则,获取所述待测试程序测试所需的非视频辅助数据;
所述软件测试装置还包括第二设备模拟程序模块,用于模拟所述非视频辅助数据对应的实际设备对所述非视频辅助数据进行处理,得到辅助测试数据,并将所述辅助测试数据发送至所述待测试程序,以配合所述测试数据对所述待测试程序进行测试。
6.如权利要求4或5所述的软件测试装置,其特征在于:所述测试协同模块还用于:订阅所述测试数据;若消费到所述测试数据,则将所述测试数据或辅助测试数据发送至所述待测试程序,以对所述待测试程序进行测试。
7.一种基于视频事件的软件测试装置,其特征在于,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行如权利要求1至3任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的方法。
9.一种基于视频事件的软件测试系统,包括如权利要求4至6任一项所述的软件测试装置,其特征在于,还包括:
应用场景视频源模块,用于播放待测试程序测试所需的应用场景视频。
10.根据如权利要求9所述的软件测试系统,其特征在于,还包括:
非视频辅助数据配置模块,用于提供所述待测试程序测试所需的非视频辅助数据。
CN202010262850.4A 2020-04-03 2020-04-03 基于视频事件的软件测试方法、装置、系统及存储介质 Active CN113495833B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010262850.4A CN113495833B (zh) 2020-04-03 2020-04-03 基于视频事件的软件测试方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010262850.4A CN113495833B (zh) 2020-04-03 2020-04-03 基于视频事件的软件测试方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN113495833A true CN113495833A (zh) 2021-10-12
CN113495833B CN113495833B (zh) 2024-02-23

Family

ID=77995194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010262850.4A Active CN113495833B (zh) 2020-04-03 2020-04-03 基于视频事件的软件测试方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN113495833B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656891A (zh) * 2009-08-27 2010-02-24 北京中盾安全技术开发公司 智能视频监控系统及其算法的性能测试方法
US20180322230A1 (en) * 2017-05-08 2018-11-08 Baidu Online Network Technology (Beijing) Co., Ltd. Driverless vehicle simulation test method and apparatus, device and readable medium
CN108882019A (zh) * 2017-05-09 2018-11-23 腾讯科技(深圳)有限公司 视频播放测试方法、电子设备及系统
CN110162462A (zh) * 2019-04-16 2019-08-23 深圳壹账通智能科技有限公司 基于场景的人脸识别系统的测试方法、系统和计算机设备
CN110399303A (zh) * 2019-07-29 2019-11-01 中国工商银行股份有限公司 用于准备测试数据的方法、数据准备装置和电子设备
CN110705651A (zh) * 2019-10-17 2020-01-17 上海眼控科技股份有限公司 用于对视频识别准确率测试的方法、装置、设备及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656891A (zh) * 2009-08-27 2010-02-24 北京中盾安全技术开发公司 智能视频监控系统及其算法的性能测试方法
US20180322230A1 (en) * 2017-05-08 2018-11-08 Baidu Online Network Technology (Beijing) Co., Ltd. Driverless vehicle simulation test method and apparatus, device and readable medium
CN108882019A (zh) * 2017-05-09 2018-11-23 腾讯科技(深圳)有限公司 视频播放测试方法、电子设备及系统
CN110162462A (zh) * 2019-04-16 2019-08-23 深圳壹账通智能科技有限公司 基于场景的人脸识别系统的测试方法、系统和计算机设备
CN110399303A (zh) * 2019-07-29 2019-11-01 中国工商银行股份有限公司 用于准备测试数据的方法、数据准备装置和电子设备
CN110705651A (zh) * 2019-10-17 2020-01-17 上海眼控科技股份有限公司 用于对视频识别准确率测试的方法、装置、设备及介质

Also Published As

Publication number Publication date
CN113495833B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
CN105808416B (zh) 一种人机图形交互界面的自动化测试方法和系统
CN109241709B (zh) 基于滑块验证码验证的用户行为识别方法及装置
CN105608005B (zh) 一种电视系统的测试方法及系统
US20160117944A1 (en) System and Method for Evaluating Experiment Teaching Achievement
CN107145440B (zh) 应用程序测试方法、装置和计算机设备
CN109271762B (zh) 基于滑块验证码的用户认证方法及装置
US20220107882A1 (en) Rendering engine component abstraction system
US20180196742A1 (en) System and method for end to end performance response time measurement based on graphic recognition
CN110336998A (zh) 显示主板检测方法、显示主板检测装置和可读存储介质
CN111693089A (zh) 装配线的产品质量控制方法、装置、设备及存储介质
CN111141529B (zh) 一种汽车仪表信号的自动化测试方法
CN113252655B (zh) 层析检测方法、移动终端、服务器及层析检测装置
US10757402B2 (en) Camera certification for video surveillance systems
CN113495833B (zh) 基于视频事件的软件测试方法、装置、系统及存储介质
JP7467846B2 (ja) 情報処理装置、方法、およびプログラム
CN115481941B (zh) 一种多功能区联合的智能化安防管理方法及系统
CN116823608A (zh) 一种页面图像的拼接方法、装置、计算机设备及存储介质
CN114972500A (zh) 查验方法、标注方法、系统、装置、终端、设备及介质
CN109841140A (zh) 示教器及其操作方法、计算装置和计算机可读介质
CN113672501A (zh) 一种停车场服务的测试方法及装置
Ramachandran Requirements-driven software test: a process-oriented approach
CN112988568A (zh) 游戏测试方法、装置及电子设备
CN113094257A (zh) 应用测试方法、装置及电子设备
KR100710997B1 (ko) 테스트 화면 캡쳐장치 및 방법
CN113521751B (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
GR01 Patent grant
GR01 Patent grant