任务的自动化测试方法、装置及系统与流程

文档序号:13261380阅读:209来源:国知局
技术领域本发明涉及电子应用技术领域,具体而言,涉及一种任务的自动化测试方法、装置及系统。

背景技术:
随着终端设备中应用程序的快速发展,应用程序的安全性成为人们日益关注的对象。以移动终端市场的发展为例,移动终端上的各类应用程序(application,简称为App)的数量随着移动终端市场的发展也都在极速增长,因此应用程序app的管理和准入规则使得app的安全性面临着巨大的挑战。例如,在安卓Android操作系统中,虽然不断挖掘针对Android操作系统上运行的应用程序app的安全监测方法和技术方案,但是由于应用程序app数量巨大且种类繁多,因此需要针对数量巨大、种类繁多的应用程序app提供有效的安全监测方法。针对上述问题,现有技术针对app的安全监测方法,主要包括动态安全监测方法和静态安全监测方法。其中,动态安全监测方法可以以意图漏洞检查工具IntentFuzzer和Drozer为例进行如下说明:方案一:IntentFuzzer工具以app的形式为客户提供可视化界面,测试人员可以通过该可视化界面点击选择多个app组件进行测试,并通过观察判断各个应用程序app是否存在异常。方案二:Drozer工具是运行在两个终端设备上的监测工具,在测试一个app时需要根据客户所使用的第一终端设备发送不同指令测试第二终端设备上的app进行安全测试,并且app的测试需要根据人工命令逐一对app进行对应的测试。另外,静态安全监测方法可以是通过预设的监测规则对终端设备上的应用程序app进行监测,并通过人工排查结果,确定是否存在安全漏洞。由上述方案可知,动态安全监测方法不能自动完成检测,不能满足大量的app安全监测需求,并且不能支持多任务检测;而静态安全监测方法对预设的监测规则过于依赖,若监测规则不准确,则容易产生误报。针对上述由于现有技术中对应用程序无法自动完成安全监测且不支持多任务检测,而带来的安全监测效率低的问题,目前尚未提出有效的解决方案。

技术实现要素:
本发明实施例提供了一种任务的自动化测试方法、装置及系统,以至少解决应用程序由于现有技术中对应用程序安全监测无法自动完成且不能支持多任务检测,而带来的安全监测效率低的技术问题。根据本发明实施例的一个方面,提供了一种任务的自动化测试方法,包括:获取任务数据库中待检测任务的应用信息,并利用应用信息获取待检测任务的安装包;获取测试机群中满足检测条件的测试机,并得到满足检测条件的测试机上未被占用的模拟器;将待检测任务的安装包发送至满足检测条件的测试机上未被占用的模拟器,其中,未被占用的模拟器安装接收到的待检测任务的安装包,生成待检测任务的应用程序;在待检测任务的应用程序启动之后,发送安全测试数据至模拟器中运行的应用程序;监控待检测任务的应用程序接收到安全测试数据之后的输出结果,获取待检测任务的安全测试结果。根据本发明实施例的另一方面,还提供了一种任务的自动化测试装置,包括:第一获取模块,用于获取任务数据库中待检测任务的应用信息,并利用应用信息获取待检测任务的安装包;第二获取模块,用于获取测试机群中满足检测条件的测试机,并得到满足检测条件的测试机上未被占用的模拟器;第一发送模块,用于将待检测任务的安装包发送至满足检测条件的测试机上未被占用的模拟器,其中,未被占用的模拟器安装接收到的待检测任务的安装包,生成待检测任务的应用程序;第二发送模块,用于在待检测任务的应用程序启动之后,发送安全测试数据至模拟器中运行的应用程序;监控模块,用于监控待检测任务的应用程序接收到安全测试数据之后的输出结果,获取待检测任务的安全测试结果。根据本发明实施例的又一方面,还提供了一种任务的自动化测试系统,包括:测试机群,包括至少一个测试机;安全检测设备,与测试机群中的至少一个测试机建立通信关系,用于在获取测试机群中满足检测条件的测试机,并得到满足检测条件的测试机上未被占用的模拟器之后,将待检测任务的安装包发送至未被占用的模拟器,并获取未被占用的模拟器安装该安装包而生成的应用程序,在待检测任务的应用程序启动之后,发送安全测试数据至模拟器中运行的应用程序,监控待检测任务的应用程序接收到安全测试数据之后的输出结果,获取待检测任务的安全测试结果,其中,测试机还用于从任务数据库获取待检测任务的应用信息,并利用应用信息获取待检测任务的安装包。根据本发明实施例的再一方面,还提供了一种任务的自动化测试系统,包括:任务调度服务器,用于保存任务数据库,其中,任务数据库用于保存待检测任务的应用信息和安装包;测试机群,包括至少一个测试机,测试机上安装至少一个模拟器;安全检测设备,与任务调度服务器以及测试机群中的至少一个测试机建立通信关系,用于从任务调度服务器中获取任务数据库中待检测任务的应用信息,并利用应用信息获取待检测任务的安装包,并在获取测试机群中满足检测条件的测试机,得到满足检测条件的测试机上未被占用的模拟器之后,将待检测任务的安装包发送至未被占用的模拟器,并获取未被占用的模拟器安装该安装包而生成的应用程序,在待检测任务的应用程序启动之后,发送安全测试数据至模拟器中运行的应用程序,监控待检测任务的应用程序接收到安全测试数据之后的输出结果,获取待检测任务的安全测试结果。在本发明实施例中,采用获取任务数据库中待检测任务的应用信息,并利用应用信息获取待检测任务的安装包;获取测试机群中满足检测条件的测试机,并得到满足检测条件的测试机上未被占用的模拟器;将待检测任务的安装包发送至满足检测条件的测试机上未被占用的模拟器,其中,未被占用的模拟器安装接收到的待检测任务的安装包,生成待检测任务的应用程序;在待检测任务的应用程序启动之后,发送安全测试数据至模拟器中运行的应用程序;监控待检测任务的应用程序接收到安全测试数据之后的输出结果,获取待检测任务的安全测试结果。上述方案在获取到需要进行安全性检测的待检测任务的安装包之后,通过获取测试机群中满足检测条件的测试机,并得到满足监测条件的测试机上未被占用的模拟器,使得在未被占用的模拟器上安装该待检测任务的安装包,并在启动该待检测任务的应用程序后,将安全测试数据发送至模拟器中运行该应用程序,从而提高了安全监测效率,进而解决了应用程序由于现有技术中对应用程序安全监测无法自动完成且不能支持多任务检测,而带来的安全监测效率低的技术问题,实现了通过监控待检测任务的应用程序接收安全测试数据之后的输出结果,来获取待检测任务的安全测试结果,实现了任务的自动化测试的方案。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明实施例的一种任务的自动化测试方法的移动机终端的硬件结构框图;图2是根据本发明实施例一的任务的自动化测试方法的流程图;图3是根据本发明实施例一的任务的自动化测试方法对应的分布式动态安全检测模块的结构示意图;图4是根据本发明实施例一的任务的自动化测试方法对应的分布式动态安全检测框架的结构示意图;图5是根据本发明实施例一的任务的自动化测试方法的系统交互示意图;图6是根据本发明实施例二的任务的自动化测试装置的结构示意图;图7是根据本法实施例二的一种可选的任务的自动化测试装置的结构示意图;图8是根据本法实施例二的一种可选的任务的自动化测试装置的结构示意图;图9是根据本法实施例二的一种可选的任务的自动化测试装置的结构示意图;图10是根据本法实施例二的一种可选的任务的自动化测试装置的结构示意图;图11是根据本法实施例二的一种可选的任务的自动化测试装置的结构示意图;图12是根据本法实施例二的一种可选的任务的自动化测试装置的结构示意图;图13是根据本法实施例二的一种可选的任务的自动化测试装置的结构示意图;图14是根据本法实施例三的任务的自动化测试系统的结构示意图;以及图15是根据本法实施例四的任务的自动化测试系统的结构示意图。具体实施方式为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。下面就对本申请涉及到的名词概念进行说明:应用程序:指移动终端(例如手机)或其他智能终端上运行的各类应用程序,简称app(application),本文中的应用程序可以是指Android平台上运行的应用程序。APK:是ApplicationPackageFile的缩写,指Android系统的应用程序安装包的文件格式。动态安全检测:指在终端设备安装、启动app,模拟app的操作逻辑,自动化检查app执行过程中的安全漏洞;并发:指两个或多个事件在同一时间间隔内发生,本申请中是指同时对多个待检测任务进行的动态安全检测。分布式结构:指多台服务器构成的并列的或树状层次性的结构,由上层调度程度控制多个子任务互不干扰地实施特定操作,本申请是指app安全漏洞检测所部署的测试系统的系统结构。模拟器:本申请中是指虚拟的终端设备,例如安装在移动终端或计算机终端设备上的虚拟机,用于模拟真实手机或智能终端的运行环境,从而运行app正常进行的所有功能操作,本申请使用的模拟器为Android系统原生模拟器。实施例1根据本发明实施例,可以提供了一种任务的自动化测试方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本申请实施例一所提供的方法实施例可以在移动终端或者类似的通信装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种用于运行任务的自动化测试方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。存储器104可用于存储应用程序的软件程序以及模块,如本发明实施例中的任务的自动化测试方法对应的程序指令/模块以及对应的数据库数据,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的移动终端通信记录的处理。其中,存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106可以包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。在上述运行环境下,本申请提供了如图2所示的任务的自动化测试方法。图2是根据本发明实施例一的任务的自动化测试方法的流程图。如图2所示,上述任务的自动化测试方法可以包括如下实施步骤:步骤S10,可以通过图2中的处理器102来执行任务调度模块,从而获取任务数据库中待检测任务的应用信息,并利用应用信息获取待检测任务的安装包。结合图3可知,以安卓Android系统为例,本申请上述步骤S10中的待检测任务的应用信息至少可以包括如下任意一种或多种信息:应用程序app的名称、版本和apk包(ApplicationPackageFile,应用程序安装包)的存储路径。一种可选方案中,可以根据应用信息中记载的apk包的存储路径查询得到当前待检测任务所对应的apk包文件,即上述步骤S10中利用应用信息获取待检测任务的安装包。例如,在上述任务数据库为由多个类型及数量的app的应用信息组成的数据库,上述待检测任务的应用信息为qq音乐播放器的待检测任务的应用信息的情况下,该应用信息可以包括如下任意一种或多种信息:app名称(qq音乐播放器)、版本(2.0.1)和apk包存储路径(file/qq/application/qqmusicplayer),根据qq音乐播放器的apk包存储路径获取qq音乐播放器的待检测任务的安装包。步骤S30,可以通过图2中的处理器102来获取测试机群中满足检测条件的测试机,并得到满足检测条件的测试机上未被占用的模拟器。结合图3可知,本申请上述步骤S30中的测试机群中的测试机可以为:平板电脑、智能手机、智能盒或智能电视中的一种;测试机群可以为由一个或至少两个测试机的组合,构成的由多个测试机构成的集群,上述步骤S30可以检测测试机群中的每个测试机是否满足预设的检测条件,获取满足上述检测条件的至少一个测试机,进一步地,需要对满足检测条件的测试机上的模拟器进行资源空闲检测,目的是为了获取测试机中未被占用的模拟器。其中,上述方案中的模拟器可以为测试机中的虚拟终端设备,例如虚拟机,用于模拟真实的硬件终端,从而在模拟器中运行app所有的功能操作,本申请使用的模拟器可以为Android系统原生模拟器,仍以步骤S10中所述的qq音乐播放器的应用程序为例,本申请上述步骤S30可以实现,从测试机群中获取满足检测条件的智能手机A,并在智能手机A上获取未被占用的模拟器。其中,如何在获取智能手机A上的模拟器,具体描述如下:例如,在智能手机A中最大可支持同时开启N台模拟器的情况下,可以根据当前模拟器ID,依次进行查找,得到已经被占用的模拟器的ID,例如,如果查询得到当前ID号为5554,5556的模拟器已被其他任务占用,当前ID号为5558的模拟器没有被其他任务占用,则会获取ID为5558的模拟器给当前待检测任务。步骤S50,可以通过图2中的传输装置106将待检测任务的安装包发送至满足检测条件的测试机上未被占用的模拟器,其中,未被占用的模拟器安装接收到的待检测任务的安装包,生成待检测任务的应用程序。结合图3可知,安全检测模块从满足检测条件的测试机上获取未被占用的模拟器时,上述步骤S50中安装包的发送过程可以通过图3中安全检测模块来实现。其中,结合步骤S30,以测试机群中获取满足检测条件的智能手机A,并在智能手机A上未被占用的模拟器为例,并且仍以步骤S10中描述的qq音乐播放器的应用程序为例,假设当将qq音乐播放器的应用程序的安装包发送至智能手机A中ID号为5558的模拟器时,以将qq音乐播发器的应用程序的安装包安装在ID号为5558的模拟器,并通过解压分析运行qq音乐播发器。步骤S70,在待检测任务的应用程序启动之后,发送安全测试数据至模拟器中运行的应用程序。结合图3可知,上述步骤S70中的安全测试数据的发送过程也可以通过安全检测模块来实现,通过安全检测模块将安全测试数据发送给模拟器进行运行。本申请上述步骤中的安全测试数据用于运行在应用程序中,监测当前应用程序的运行结果是否通过安全性检测。步骤S90,监控待检测任务的应用程序接收到安全测试数据之后的输出结果,获取待检测任务的安全测试结果。结合图3可知,上述步骤S90所述的监控过程可以通过安全检测模块来实现。其中,仍旧以将qq音乐播放器的应用程序的安装包发送至智能手机A中模拟器ID号为5558的模拟器进行运行的方案为例,安全监控模块监控当前模拟器ID为5558的模拟器的响应和输出,从而判定当前qq音乐播发器的应用程序是否存在安全漏洞,并且当全部检测完成后,将存在的安全漏洞进行汇总,以安全测试结果的形式进行输出。本申请上述实施例提供了一种任务的自动化测试方法。在获取到需要进行安全性检测的待检测任务的安装包之后,通过获取测试机群中满足检测条件的测试机,并得到满足监测条件的测试机上未被占用的模拟器,使得在未被占用的模拟器上安装该待检测任务的安装包,并在启动该待检测任务的应用程序后,将安全测试数据发送至模拟器中运行该应用程序,从而实现通过监控待检测任务的应用程序接收安全测试数据之后的输出结果,来获取待检测任务的安全测试结果,实现了任务的自动化测试的方案。本申请上述实施例所提供的步骤S10至步骤S90可以在任务的自动化测试系统上运行,由于从测试机群中获取到了满足检测条件的测试机,并从该测试机中获取到未被占用的模拟器,当在模拟器上安装待检测任务的安装包,并启动该安装包安装后生成的待检测任务的应用程序时,通过向该应用程序发送安全测试数据,从而根据监控待检测任务的应用程序反馈的安全测试结果,实现了应用程序安全监测自动化的目的,解决了应用程序由于现有技术中对应用程序安全监测无法自动完成且不能支持多任务检测,而带来的安全监测效率低的技术问题,提高了安全监测效率。此处需要说明的是,本申请上述实施例所提供的步骤S10至步骤S90可以在安装了Android操作系统的移动终端组成的安全检测架构上运行,实施过程中,在上述实施例中的测试机可以是安装了Android操作系统之后的终端设备,以在本申请以安卓Android操作系统为例,上述图2和图3所示的实施例实现了任务的自动化测试的过程,其中,在安全检测架构上实现了自动化的安全测试过程,在获取到满足检测条件的智能手机A后,将qq音乐播放器的应用程序的安装包安装在智能手机A中模拟器ID为5558的模拟器上,并通过在该模拟器上安装qq音乐播放器的应用程序,在该模拟器上对qq音乐播放器的应用程序进行安全测试,最后通过检测该qq音乐播放器的应用程序的运行情况,获取安全测试结果。相比现有动态安全监测方法和静态安全监测方法,本申请提供的方案具有改善了现有技术无法自动完成且不能支持多任务检测,提升了安全监测效率的优点。本申请上述实施例一提供的方案中,可以通过如下步骤来实现步骤S10中利用所述应用信息获取所述待检测任务的安装包的方案:步骤S101,读取待检测任务的安装包的存储路径。该步骤S101中的待检测任务的安装包的存储路径可以为apk包的存储路径,如:qq音乐播发器的安装包的存储路径:file/qq/application/qqmusicplayer。步骤S102,按照待检测任务的安装包的存储路径访问对应的文件系统位置,获取待检测任务的安装包,并设置待检测任务的检测标签修改为已经被检测过的检测任务。仍以在移动终端上运行qq音乐播放器的应用程序为例,上述步骤S102的一种可选实施方案如下:首先,按照上述步骤S101中的qq音乐播发器的安装包的存储路径访问qq音乐播发器的存储位置,从而读取得到该待检测qq音乐播发器的安装包。然后,在假设待检测任务的检测标签为0,已经被检测过的检测任务的检测标签为1的预设条件下,可以将“待检测qq音乐播发器”这一检测任务设置为已经被检测过的检测任务,即qq音乐播发器为已经被检测过的检测任务,该检测标签为1。此外,本申请上述实施例一提供的方案中,可以通过如下步骤来实现步骤S30可以获取测试机群中满足检测条件的测试机,并得到所述满足检测条件的测试机上未被占用的模拟器的方案:步骤S301,依次检测测试机群中的测试机是否满足检测条件,该检测条件至少包括如下任意一个或多个条件:空闲度最高、硬件配置最高、资源占用率最低和指定测试机。结合上述实施例一提供的方案,假设测试机为:平板电脑、智能手机、智能盒或智能电视中的一种,则测试机群可以为由测试机中的一种或至少两种类型的设备的组合,构成的由多个测试机组成的集群。步骤S302,获取测试机群中满足检测条件的测试机。本申请上述步骤S302中的检测条件用于判断测试及群中可以用于进行后续测试工作的测试机,例如,将测试机群中占用率最低的测试机作为进行后续测试的终端,或者将硬件资源配置最高的测试机作为进行后续测试的终端。下面就结合步骤S301与步骤S302提供的一种可行的应用方案进行详细描述如下:假设测试机群中的测试机的编号依次为:2223、2225和2227,若对上述编号的测试机进行依次检测,其中,假设编号为2223的测试机有3个模拟器被占用,编号2225的测试机有2个模拟器被占用,而编号2227的测试机仅有1个被占用,则会选择测试机编号为2227的测试机为满足检测条件的测试机,同样,硬件配置与资源占用率同理;若根据步骤S301中所述多个条件组合而成则选取的测试机为最优测试机。步骤S303,检测满足检测条件的测试机上的任意一个模拟器的占用情况,得到未被占用的一个或多个模拟器。结合步骤S302所述,在确定测试机编号为2227的测试机满足检测条件的终端之后,可以通过步骤S203来进一步对该测试机中的任意一个模拟器进行检测,获取每个模拟器的占用情况,得到测试机中未被占用的一个或多个模拟器。假设测试机编号为2227的测试机为智能手机A,则检测智能手机A中的任意一个模拟器的占用情况,并根据占用情况确定未被占用的一个或多个模拟器。假设每个模拟器对应一个ID值,如5554、5556,根据ID顺序,获取当前未被占用的模拟器设备,作为当前任务的测试终端,如若机器上模拟器5554已被其他任务占用,且尚未结束,则会选取ID为5556的模拟器设备作为任务的测试终端。在本申请提供的一种可选方案中,在执行步骤S10之前,即获取任务数据库中待检测任务的应用信息,并利用应用信息获取待检测任务的安装包之前,可以实施如下步骤:步骤S1010,扫描任务数据库中任意一个检测任务的检测标签,其中,检测标签用于表征检测任务是否被检测过。上述步骤S1010中的检测标签的状态可以包括:未检测任务和已经被检测过的检测任务。其中,未检测任务的检测标签可以设置为1,已经被检测过的检测任务的检测标签可以设置为0。上述方案可以通过扫描任务数据库中任意一个检测任务的检测标签,判断所检测的标签是否为未检测任务。步骤S1030,读取任务数据库中未被检测过的检测任务.步骤S1050,标记任务数据库中未被检测过的检测任务为待检测任务。上述步骤S1030和步骤S1050实现了,在确定了任意一个检测任务为还未进行测试的任务,则读取该检测任务作为待检测任务,且在任务数据库中修改该检测任务的检测标签,以避免对任务数据库中的任务进行重复检测。步骤S1070,记录待检测任务的应用信息,其中,待检测任务的应用信息包括如下任意一个或多个信息:待检测任务对应的应用程序的名称、待检测任务的安装包的存储路径和待检测任务的版本信息。以图3对应的实施例中待检测任务的应用信息为例,假设待检测任务为待检测的qq音乐播放器,记录待检测的qq音乐播放器的应用信息,即记录qq音乐播放器的名称:qq音乐播放器、qq音乐播放器的安装包的存储路径:file/qq/application/qqmusicplayer和qq音乐播放器的版本信息:2.0.1。此处需要说明的是,上述步骤S30执行的获取测试机群中满足检测条件的测试机,并得到满足检测条件的测试机上未被占用的模拟器的方案可以通过如下步骤实现:步骤S302,依次检测测试机群中的测试机是否满足检测条件,检测条件至少包括如下任意一个或多个条件:空闲度最高、硬件配置最高、资源占用率最低和指定测试机。上述步骤S302中的检测条件用于对测试机群中的测试机进行筛选,确定可以用于后续安全检测的测试机,例如,如果一个测试机的当前占用率为80%,由于其占用率超过了预先设定的可利用阈值(例如可利用阈值设置为60%),则可以确定该测试机不适用于进行后续的安全检测试验。步骤S304,获取测试机群中满足检测条件的测试机。步骤S306,检测满足检测条件的测试机上的任意一个模拟器的占用情况,得到未被占用的一个或多个模拟器。上述步骤S302至步骤306提供的方案可以实现为后续的安全检测试验提供有效的试验环境,其中,关键要素为从实用性强(即满足检测条件的测试机)的测试机中选择未被占用的模拟器。优选地,在本申请提供的一种优选实施例中,上述步骤S303可以实现检测满足检测条件的测试机的模拟器的占用情况的方案,可以通过如下两种可选方案来实现:方案一:依次检测满足检测条件的测试机上的任意一个模拟器的占用标识,确定未被占用的一个或多个模拟器,其中,占用标识用于表征模拟器是否被占用。上述方案一提供了一种通过检测每个模拟器的占用标识来确定当前的模拟器是否处于被占用的状态,被占用的模拟器可以是指正在处理检测工作,或者被锁定无法处理检测工作。具体的,可以预先设定模拟器的被占用时的占用标识标记为1,未被占用时的占用标识标记为0,结合步骤303中所述,若ID值为5554的模拟器的标识为占用标识1,则ID值为5554的模拟器为占用状态;若ID值为5556的模拟器的标识为未被占用的标识0,则ID值为5556的模拟器为未被占用状态。方案二:发送占用检测命令至任意一个模拟器,通过判断模拟器是否返回占用检测命令对应的占用数据,确定未被占用的一个或多个模拟器,其中,返回占用数据的模拟器为未被占用的模拟器。与方案一提供的实施方式不同的是,方案二提供了一种安全检测模块通过发送占用检测命令来确定当前的模拟器是否处于被占用的状态,被占用的模拟器可以是指正在处理检测工作,或者被锁定无法处理检测工作。比较方案一,方案二无需预设模拟器的占用标记,仅需要通信方式来检测模拟器是否会对当前接收到的占用检测命令做出反馈,如果做出反馈,则表明该模拟器处于空闲状态,可以进行相关测试工作,否则,说明当前模拟器正在处于占用状态,无法处理其他测试工作。例如,以假设能够返回占用数据的模拟器为未被占用的模拟器为例,结合步骤303中所述,若ID值为5556的模拟器在接收占用检测命令后返回了占用检测命令,则确定ID值为5556的模拟器为未被占用的模拟器。此处要说明的是,步骤S301至步骤S303中所述的内容实现了针对多个检测任务,通过上层调度程序控制任务分发,支持多个检测任务同时独立执行,每个应用程序分别在不同的模拟器完成检测,通过上述组成的检测框架使得并发多任务支持,大大缩短多任务测试时的排队耗时,提高测试效率。优选地,在上述步骤S70执行发送安全测试数据至模拟器中运行的应用程序的功能之前,还可以执行如下实施步骤:步骤S601,静态检查待检测任务的应用程序的任意一个注册导出接口,其中,注册导出接口用于表征待检测任务的安装包安装之后,在内存中注册生成的用于输出应用程序的运行结果的端口。步骤S603,根据任意一个注册导出接口的特征信息,确定任意一个注册导出接口对应的安全测试数据,其中,安全测试数据为非法数据或非法信息。上述步骤S601和步骤S603可以实现,在获取待检测任务的apk包文件,并将安装包发送至选定的模拟器之后,进行动态自动化安全检测,即在选定的模拟器上安装和启动应用软件app之后,对该应用软件app的对外接口发送特定的消息或字符串,该接口为安装app安装包的过程中在注册表中生成的输出端口,从而可以通过监控该端口输出的当前模拟器设备的响应和输出,判定当前app是否存在安全漏洞。并可以在全部检测内容完成后,输出发现的安全漏洞。由此可知,基于上述优选方案,本申请上述实施例一提供的一种可选方案中,可以通过如下步骤来实现步骤S90实现的方案,即监控待检测任务的应用程序接收到安全测试数据之后的输出结果,获取待检测任务的安全测试结果的方案,可以通过如下步骤实现:步骤S901,读取待检测任务的应用程序运行安全测试数据的过程中,对应安全测试数据的注册导出接口的输出结果,该输出结果包括:输出日志和/或运行内容。结合上述实施例一提供的方案,首先,在模拟器上安装应用程序如qq音乐播放器,并启动qq音乐播放器;然后,静态检查qq音乐播放器注册的所有导出接口;接着,对每个导出接口实施动态模糊测试,向模拟器发送存在安全隐患的消息或数据;最后,记录每个导出接口的输出结果。从而利用导出接口的输出结果来判断的当前安全检测是否通过。步骤S902,将输出结果与安全漏洞数据库进行匹配,在匹配成功的情况下,确定待检测任务存在安全漏洞,并对应的注册导出接口。将步骤S901中的输出结果,即输出日志和/或运行内容与安全漏洞数据库进行匹配,在匹配成功的情况下,可确定当前进行安全测试的待检测任务是否存在安全漏洞,仍以在移动终端上运行qq音乐播放器的应用程序为例,可以确定qq音乐播放器存在安全漏洞,并对qq音乐播放器中对应的导出接口进行注册。此处要说明的是,上述步骤S901和步骤S902结合实施例一所述的内容实现了自动化的应用程序动态漏洞检测,全自动化完成安全漏洞检查。基于上述实施例一提供的可选以及优选实施例可知,本申请可以提供如图4所示的分布式动态安全检测框架,本申请提供的检测框架可以包含三个相互交互的硬件终端:任务调度服务器、安全检测设备、包含至少一个测试机的测试机群,其中,任务调度服务器主要完成待检测任务的任务调度,安全检测设备用于选取测试机群中符合条的模拟器设备选取及具体的动态安全检测等功能。检测机和其上的模拟器设备共同构成一套分布式并发检测框架,以自动化对多任务同时执行检测。此处需要说明的是,上述分布式动态安全检测框架可以应用在移动设备中,该移动应用的分布式自动化动态安全检测框架中,待检测任务和模拟器设备可以是一一对应关系,一个待检测任务可以在模拟器设备的层级结构中找到对应的空闲模拟器设备实施安全检测。下面就结合图5所示的系统交互过程,以在任务的自动化检测中实现自动化的应用程序动态漏洞检测为例,对本申请实施例一图4提供的分布式动态安全检测框架的具体检测方案进行详细描述如下:步骤S401,通过安全检测设备中的动态任务调度程序来访问任务调度服务器,扫描任务调度服务器的任务数据库中任意一个检测任务的检测标签,其中,检测标签用于表征检测任务是否被检测过,如果所检测的标签为未检测任务,则转入步骤S402。上述任意一个检测任务的检测标签的状态可以预先设置为:未检测任务的检测标签为1,已经被检测过的检测任务的检测标签为0。步骤S402,读取任务数据库中未被检测过的检测任务。步骤S403,标记任务数据库中未被检测过的检测任务为待检测任务。即结合步骤S401和步骤S402可以将已读取未被检测过的检测任务标记为待检测任务。具体的,上述步骤S401至步骤S403可以实现通过安检检测设备中的动态任务调度程序从任务数据库中获取最早建立的一个未检测的待检测任务(待检测任务的检测标签为可以1)。步骤S404,任务调度服务器记录待检测任务的应用信息,其中,待检测任务的应用信息包括如下任意一个或多个信息:待检测任务对应的应用程序的名称、待检测任务的安装包的存储路径和待检测任务的版本信息。步骤S405,任务调度服务器返回给安全检测设备该待检测任务对应的应用信息,使得安全检测设备获取任务数据库中待检测任务的应用信息,并利用应用信息获取待检测任务的安装包。结合步骤S404所述,可以通过访问与待检测任务关联的app的安装包所在的文件系统的存储位置,来读取待检测任务的应用软件对应的安装包,例如,根据qq音乐播放器的安装包的存储路径:file/qq/application/qqmusicplayer,得到qq音乐播放器的安装包。若已获取待检测任务的安装包(例如qq音乐播放器的安装包),则转入步骤S406。步骤S406,安全检测设备利用动态任务调度程序从当前检测框架的测试机群中获取合适的测试机,即获取测试机群中满足检测条件的测试机,并进一步检测该满足检测条件的测试机上那些模拟器还未被占用,并将这些没有被占用的模拟器的ID号返回给安全检测设备。其中,检测条件至少包括如下任意一个或多个条件:空闲度最高、硬件配置最高、资源占用率最低和指定测试机。根据该检测条件获取满足该条件的测试机,并依次检测框架下所有测试机中模拟器设备的使用情况,获取该测试机中得到未被占用的模拟器。若得到模拟器,则转入步骤S407。假设测试机群中满足检测条件的为智能手机A,结合图4可知,在智能手机A中存在至少一个模拟器,在至少一个模拟器中选取未被占用的模拟器。优选的,在智能手机A中的至少一个模拟器中还可以选择占用比例低于阈值的模拟器,该阈值可以以应用程序的平均大小设定。本申请以实现本实施例提供的一种任务的自动化检测方法为主,不作具体限定。步骤S407,安全检测设备根据上述步骤中获取到的待检测任务的安装包和选择的模拟器设备,来执行自动化动态安全漏洞检测,具体的,可以将待检测任务的安装包发送至满足检测条件的测试机上未被占用的模拟器。步骤S408,在未被占用的模拟器安装接收到的待检测任务的安装包,生成待检测任务的应用程序,并启动该应用程序。步骤S409,安全检测设备静态检查待检测任务的应用程序app注册的的任意一个注册导出接口,其中,注册导出接口用于表征待检测任务的安装包安装之后,在内存中注册生成的用于输出应用程序的运行结果的端口。步骤S410,安全检测设备针对每个导出接口实施动态模糊测试,通过往模拟器发送畸形的消息或数据来完成测试工作,具体的,可以根据任意一个注册导出接口的特征信息,确定任意一个注册导出接口对应的安全测试数据,并在待检测任务的应用程序启动之后,发送安全测试数据至模拟器中运行的应用程序,其中,该安全测试数据为非法数据或非法信息。步骤S411,安全检测设备可以通过监控待检测任务的应用程序接收到安全测试数据之后的输出结果,获取待检测任务的安全测试结果。即可以使用程序监控模拟器的输出日志和文件内容信息,判定待检测任务的app是否存在安全漏洞,若出现异常,记录当前测试的导出接口,继续测试下一个接口,结合步骤S408可知,输出结果为应用程序的运行结果;结合步骤S409可知,安全测试结果为模拟器在接收安全测试数据后得到的测试结果,结合图4可知,则为图4所示的安全漏洞。步骤S412,在检测所有注册导出接口之后,汇总发生了安全漏洞时对应的任意一个或多个注册导出接口。步骤S413,输出并显示待检测任务存在的安全漏洞。如果当前待检测任务的自动化安全检测结束,则重复上述步骤S401至步骤S413继续获取并检测下一待检测任务。汇总出现安全漏洞的任意一个或多个注册导出接口,并显示待检测任务存在的安全漏洞,结合步骤S401至步骤S413,即,输出并显示qq音乐播放器存在的安全漏洞。综上所述,图4对应的实施例以一个检测任务为例进行说明,当存在多个检测任务时,与步骤S401至步骤S413所述的技术方案相同,差别在于,在步骤S404时,需要记录多个检测任务的应用信息,并且在步骤S406时,需在一台测试机上选择对应多个检测任务的未占用的模拟器。由此可知,本申请基于移动平台的原生模拟器,实现了自动化的应用程序动态漏洞检测,全自动化完成安全漏洞检查;分布式并发多任务支持,大大缩短多任务测试时的排队耗时,提高测试效率;可扩展性好,在框架下易于新增安全检测项目,无需做框架上的改动。本申请提出了一种可以应用在移动终端上的app的分布式多任务动态检测框架,用于自动化检测各种类型的应用软件app的安全漏洞。框架可以基于移动平台的原生模拟器设备,针对单一的检测任务,可以自动化进行应用软件app的安装、启动及对接口进行注入测试,通过监控模拟器的输出的日志和文件判定app是否存在异常和漏洞;针对多个检测任务,可以通过上层任务调度服务器提供的调度程序来控制任务的分发,支持多个检测任务同时独立执行,每个app分别在不同的模拟器设备完成检测,从而实现同一台机器的不同模拟器设备并发执行,若框架由多台机器组成,所有机器将组成一个分布式的层级结构,在不同机器上支持同时执行更多任务的安全检测。本申请上述用于实现自动化的应用程序动态漏洞检测的检测框架具有以下优点:全自动化完成安全漏洞检查;分布式并发多任务支持,大大缩短多任务测试时的排队耗时,提高测试效率;可扩展性好,在框架下易于新增安全检测项目,无需做框架上的改动。实施例2根据本发明实施例,还提供了一种用于实施上述方法的装置实施例,本申请上述实施例所提供的装置可以在移动终端上运行。图6是根据本发明实施例二的任务的自动化测试装置的结构示意图。如图6所示,该任务的自动化测试装置可以包括:第一获取模块52、第二获取模块54、第一发送模块56、第二发送模块58和监控模块60。其中,第一获取模块52,用于获取任务数据库中待检测任务的应用信息,并利用应用信息获取待检测任务的安装包;第二获取模块54,用于获取测试机群中满足检测条件的测试机,并得到满足检测条件的测试机上未被占用的模拟器;第一发送模块56,用于将待检测任务的安装包发送至满足检测条件的测试机上未被占用的模拟器,其中,该未被占用的模拟器安装接收到的待检测任务的安装包,生成待检测任务的应用程序;第二发送模块58,用于在待检测任务的应用程序启动之后,发送安全测试数据至模拟器中运行的应用程序;监控模块60,用于监控待检测任务的应用程序接收到安全测试数据之后的输出结果,获取待检测任务的安全测试结果。本申请上述实施例提供了一种任务的自动化测试装置。在获取到需要进行安全性检测的待检测任务的安装包之后,通过获取测试机群中满足检测条件的测试机,并得到满足监测条件的测试机上未被占用的模拟器,使得在未被占用的模拟器上安装该待检测任务的安装包,并在启动该待检测任务的应用程序后,将安全测试数据发送至模拟器中运行该应用程序,从而实现通过监控待检测任务的应用程序接收安全测试数据之后的输出结果,来获取待检测任务的安全测试结果,实现了任务的自动化测试的方案。此处需要说明的是,上述第一获取模块52、第二获取模块54、第一发送模块56、第二发送模块58和监控模块60对应于实施例一中的步骤S10至步骤S90,五个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的移动终端10中。优选的,如图7所示,在执行上述第一获取模块52实现的功能之前,上述装置还可以包括如下功能模块:扫描模块42、第一读取模块44、标记模块46和记录模块48。其中,扫描模块42,用于扫描任务数据库中任意一个检测任务的检测标签,其中,检测标签用于表征检测任务是否被检测过;第一读取模块44,用于读取任务数据库中未被检测过的检测任务;标记模块46,用于标记任务数据库中未被检测过的检测任务为待检测任务;记录模块48,用于记录待检测任务的应用信息,其中,待检测任务的应用信息包括如下任意一个或多个信息:待检测任务对应的应用程序的名称、待检测任务的安装包的存储路径和待检测任务的版本信息。此处需要说明的是,上述扫描模块42、第一读取模块44、标记模块46和记录模块48对应于实施例一中的步骤S101至步骤S107,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的移动终端10中。优选的,如图8所示,上述第一获取模块52可以包括:第二读取模块521、访问模块522。其中,第二读取模块521,用于读取待检测任务的安装包的存储路径;访问模块522,用于按照待检测任务的安装包的存储路径访问对应的文件系统位置,获取待检测任务的安装包,并设置待检测任务的检测标签修改为已经被检测过的检测任务。优选的,如图9所示,第二获取模块54可以包括:第一检测模块541、子获取模块542和第二检测模块543。其中,第一检测模块541,用于依次检测测试机群中的测试机是否满足检测条件,检测条件至少包括如下任意一个或多个条件:空闲度最高、硬件配置最高、资源占用率最低和指定测试机;子获取模块542,用于获取测试机群中满足检测条件的测试机;第二检测模块543,用于检测满足检测条件的测试机上的任意一个模拟器的占用情况,得到未被占用的一个或多个模拟器。此处需要说明的是,上述第一检测模块541、子获取模块542和第二检测模块543对应于实施例一中的步骤S102至步骤S106,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的移动终端10中。优选的,如图10所示,上述第二检测模块543可以包括:第一处理单元5431或者第二处理单元5432。其中,第一处理单元5431,用于依次检测满足检测条件的测试机上的任意一个模拟器的占用标识,确定未被占用的一个或多个模拟器,其中,占用标识用于表征模拟器是否被占用。第二处理单元5432,用于发送占用检测命令至任意一个模拟器,通过判断模拟器是否返回占用检测命令对应的占用数据,确定未被占用的一个或多个模拟器,其中,返回占用数据的模拟器为未被占用的模拟器。此处需要说明的是,上述第一处理单元5431、第二处理单元5432分别对应于实施例一中的用于检测模拟器是否被占用的实施方案,二个单元与对应的实现示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的移动终端10中。优选的,如图11所示,在执行上述第二发送模块58的之前,上述装置还可以执行如下功能模块:检查模块55和确定模块57。其中,检查模块55,用于静态检查待检测任务的应用程序的任意一个注册导出接口,其中,注册导出接口用于表征待检测任务的安装包安装之后,在内存中注册生成的用于输出应用程序的运行结果的端口;确定模块57,用于根据任意一个注册导出接口的特征信息,确定任意一个注册导出接口对应的安全测试数据,其中,安全测试数据为非法数据或非法信息。此处需要说明的是,上述检查模块55和确定模块57对应于实施例一中的步骤S601和步骤S603,二个模块与对应的实现示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的移动终端10中。优选的,如图12所示,上述监控模块60可以包括:读取单元601和匹配单元602。其中,读取单元601,用于读取待检测任务的应用程序运行安全测试数据的过程中,对应安全测试数据的注册导出接口的输出结果,输出结果包括:输出日志和/或运行内容;匹配单元602,用于将输出结果与安全漏洞数据库进行匹配,在匹配成功的情况下,确定待检测任务存在安全漏洞,并对应的注册导出接口。此处需要说明的是,上述读取单元601和匹配单元602对应于实施例一中的步骤S901和步骤S902,二个模块与对应的实现示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的移动终端10中。优选的,如图13所示,在执行上述监控模块60实现的功能之后,上述装置还可以包括如下功能模块:汇总模块62和输出显示模块64。其中,汇总模块62,用于在检测所有注册导出接口之后,汇总发生了安全漏洞时对应的任意一个或多个注册导出接口;输出显示模块64,用于输出并显示待检测任务存在的安全漏洞。由此可知,本申请基于移动平台的原生模拟器,实现了自动化的应用程序动态漏洞检测,全自动化完成安全漏洞检查;分布式并发多任务支持,大大缩短多任务测试时的排队耗时,提高测试效率;可扩展性好,在框架下易于新增安全检测项目,无需做框架上的改动。本申请提出了一种可以应用在移动终端上的app的分布式多任务动态检测框架,用于自动化检测各种类型的应用软件app的安全漏洞。框架可以基于移动平台的原生模拟器设备,针对单一的检测任务,可以自动化进行应用软件app的安装、启动及对接口进行注入测试,通过监控模拟器的输出的日志和文件判定app是否存在异常和漏洞;针对多个检测任务,可以通过上层任务调度服务器提供的调度程序来控制任务的分发,支持多个检测任务同时独立执行,每个app分别在不同的模拟器设备完成检测,从而实现同一台机器的不同模拟器设备并发执行,若框架由多台机器组成,所有机器将组成一个分布式的层级结构,在不同机器上支持同时执行更多任务的安全检测。本申请上述用于实现自动化的应用程序动态漏洞检测的检测框架具有以下优点:全自动化完成安全漏洞检查;分布式并发多任务支持,大大缩短多任务测试时的排队耗时,提高测试效率;可扩展性好,在框架下易于新增安全检测项目,无需做框架上的改动。实施例3根据本发明实施例,还提供了一种用于实施上述方法实施例的系统实施例。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。图14是根据本发明实施例三的任务的自动测试系统的系统结构示意图。如图14所示,该系统可以包括:测试机群1302和安全检测设备1304,其中,测试机群1302,包括至少一个测试机;安全检测设备1304,与测试机群1302中的至少一个测试机建立通信关系,用于在获取测试机群1302中满足检测条件的测试机,并得到满足检测条件的测试机上未被占用的模拟器之后,将待检测任务的安装包发送至未被占用的模拟器,并获取未被占用的模拟器安装该安装包而生成的应用程序,在待检测任务的应用程序启动之后,发送安全测试数据至模拟器中运行的应用程序,监控待检测任务的应用程序接收到安全测试数据之后的输出结果,获取待检测任务的安全测试结果,其中,测试机还用于从任务数据库获取待检测任务的应用信息,并利用应用信息获取待检测任务的安装包。综上所述,结合图14可知,任务的自动测试方法的系统中测试机群1302中的测试机可以为:平板电脑、智能手机、智能盒或智能电视中的一种;测试机群1302可以为由一个或至少两个测试机的组合,构成的由多个测试机构成的集群。当从测试机群1302中获取到测试机后,安全检测设备1304在测试机中未被占用的模拟器上进行安全监测。本申请上述实施例提供了一种任务的自动化测试系统,在安全检测设备1304获取到需要进行安全性检测的待检测任务的安装包之后,通过获取测试机群中满足检测条件的测试机,并得到满足监测条件的测试机上未被占用的模拟器,使得在未被占用的模拟器上安装该待检测任务的安装包,并在启动该待检测任务的应用程序后,将安全测试数据发送至模拟器中运行该应用程序,从而实现通过监控待检测任务的应用程序接收安全测试数据之后的输出结果,来获取待检测任务的安全测试结果,实现了任务的自动化测试的方案。此处需要说明的是,本申请上述实施例所提供的安全检测设备1304可以在安装了Android操作系统的移动终端组成的安全检测架构上运行,实施过程中,在上述实施例中的测试机可以是安装了Android操作系统之后的终端设备,以在本申请以安卓Android操作系统为例,上述实施例实现了任务的自动化测试的过程,其中,在安全检测架构上实现了自动化的安全测试过程,在获取到满足检测条件的智能手机A后,将qq音乐播放器的应用程序的安装包安装在智能手机A中模拟器ID为5558的模拟器上,并通过在该模拟器上安装qq音乐播放器的应用程序,在该模拟器上对qq音乐播放器的应用程序进行安全测试,最后通过检测该qq音乐播放器的应用程序的运行情况,获取安全测试结果。此处需要说明的是,本申请上述实施例三中涉及到可选的、优选的实施方案可以与实施例一提供的方案以及应用场景实施过程相同,但不限于实施例一所提供的方案。实施例4根据本发明实施例,还提供了另外一种用于实施上述方法实施例的系统实施例。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。图15是根据本发明实施例四的任务的自动测试系统的系统结构示意图。如图15所示,该系统可以包括:任务调度服务器1402、测试机群1404和安全检测设备1406,其中,任务调度服务器1402,用于保存任务数据库,其中,任务数据库用于保存待检测任务的应用信息和安装包;测试机群1404,包括至少一个测试机,测试机上安装至少一个模拟器;安全检测设备1406,与任务调度服务器1402以及测试机群中1404的至少一个测试机建立通信关系,用于从任务调度服务器中获取任务数据库中待检测任务的应用信息,并利用应用信息获取待检测任务的安装包,并在获取测试机群中满足检测条件的测试机,得到满足检测条件的测试机上未被占用的模拟器之后,将待检测任务的安装包发送至未被占用的模拟器,并获取未被占用的模拟器安装该安装包而生成的应用程序,在待检测任务的应用程序启动之后,发送安全测试数据至模拟器中运行的应用程序,监控待检测任务的应用程序接收到安全测试数据之后的输出结果,获取待检测任务的安全测试结果。综上所述,结合图15可知,任务的自动测试方法的系统中任务调度服务器1402可以为一台服务器或多台服务器组成的服务器群组,通过在测试机群1404中选取满足检测条件的测试机,并从该测试机中得到至少一个未被占用的模拟器,最后安全检测设备1406从任务调度服务器1402中将待检测的应用程序的安装包发送至上述模拟器中,并通过在模拟器中运行安全测试数据对待检测的应用程序进行安全检测。本申请上述实施例提供了一种任务的自动化测试系统,在安全检测设备1406获取到需要进行安全性检测的待检测任务的安装包之后,通过获取测试机群中满足检测条件的测试机,并得到满足监测条件的测试机上未被占用的模拟器,使得在未被占用的模拟器上安装该待检测任务的安装包,并在启动该待检测任务的应用程序后,将安全测试数据发送至模拟器中运行该应用程序,从而实现通过监控待检测任务的应用程序接收安全测试数据之后的输出结果,来获取待检测任务的安全测试结果,实现了任务的自动化测试的方案。此处需要说明的是,本申请上述实施例所提供的安全检测设备1304可以在安装了Android操作系统的移动终端组成的安全检测架构上运行,实施过程中,在上述实施例中的测试机可以是安装了Android操作系统之后的终端设备,以在本申请以安卓Android操作系统为例,上述实施例实现了任务的自动化测试的过程,其中,在安全检测架构上实现了自动化的安全测试过程,在获取到满足检测条件的智能手机A后,将qq音乐播放器的应用程序的安装包安装在智能手机A中模拟器ID为5558的模拟器上,并通过在该模拟器上安装qq音乐播放器的应用程序,在该模拟器上对qq音乐播放器的应用程序进行安全测试,最后通过检测该qq音乐播放器的应用程序的运行情况,获取安全测试结果。此处需要说明的是,本申请上述实施例四中涉及到可选的、优选的实施方案可以与实施例一提供的方案以及应用场景实施过程相同,但不限于实施例一所提供的方案。实施例5本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一任务的自动化检测方法所执行的程序代码。可选地,在本实施例中,上述存储介质可以位于计算机网络中的多个网络设备中的至少一个网络设备。可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:S1,获取任务数据库中待检测任务的应用信息,并利用应用信息获取待检测任务的安装包。S3,获取测试机群中满足检测条件的测试机,并得到满足检测条件的测试机上未被占用的模拟器。S5,将待检测任务的安装包发送至满足检测条件的测试机上未被占用的模拟器,其中,未被占用的模拟器安装接收到的待检测任务的安装包,生成待检测任务的应用程序。S7,在待检测任务的应用程序启动之后,发送安全测试数据至模拟器中运行的应用程序。S9,监控待检测任务的应用程序接收到安全测试数据之后的输出结果,获取待检测任务的安全测试结果。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:扫描任务数据库中任意一个检测任务的检测标签,其中,检测标签用于表征检测任务是否被检测过;读取任务数据库中未被检测过的检测任务;标记任务数据库中未被检测过的检测任务为待检测任务;记录待检测任务的应用信息,其中,待检测任务的应用信息包括如下任意一个或多个信息:待检测任务对应的应用程序的名称、待检测任务的安装包的存储路径和待检测任务的版本信息。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:读取待检测任务的安装包的存储路径;按照待检测任务的安装包的存储路径访问对应的文件系统位置,获取待检测任务的安装包,并设置待检测任务的检测标签修改为已经被检测过的检测任务。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:依次检测测试机群中的测试机是否满足检测条件,检测条件至少包括如下任意一个或多个条件:空闲度最高、硬件配置最高、资源占用率最低和指定测试机;获取测试机群中满足检测条件的测试机;检测满足检测条件的测试机上的任意一个模拟器的占用情况,得到未被占用的一个或多个模拟器。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:依次检测满足检测条件的测试机上的任意一个模拟器的占用标识,确定未被占用的一个或多个模拟器,其中,占用标识用于表征模拟器是否被占用;或者,发送占用检测命令至任意一个模拟器,通过判断模拟器是否返回占用检测命令对应的占用数据,确定未被占用的一个或多个模拟器,其中,返回占用数据的模拟器为未被占用的模拟器。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:静态检查待检测任务的应用程序的任意一个注册导出接口,其中,注册导出接口用于表征待检测任务的安装包安装之后,在内存中注册生成的用于输出应用程序的运行结果的端口;根据任意一个注册导出接口的特征信息,确定任意一个注册导出接口对应的安全测试数据,其中,安全测试数据为非法数据或非法信息。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:读取待检测任务的应用程序运行安全测试数据的过程中,对应安全测试数据的注册导出接口的输出结果,输出结果包括:输出日志和/或运行内容;将输出结果与安全漏洞数据库进行匹配,在匹配成功的情况下,确定待检测任务存在安全漏洞,并对应的注册导出接口。可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在检测所有注册导出接口之后,汇总发生了安全漏洞时对应的任意一个或多个注册导出接口;输出并显示待检测任务存在的安全漏洞。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-OnlyMemory,ROM)、随机存取器(RandomAccessMemory,RAM)、磁盘或光盘等。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1