图像测试方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种图像测试方法、装置、计算机设备和存储介质。
背景技术
随着人工智能的迅速发展,指纹解锁已经被越来越广泛地应用于人们的工作和生活中,例如智能锁,智能手机等具有生物识别功能的设备上。
以智能手机为例,通常为了使得智能手机的指纹解锁更为顺利,在出厂设计过程中,需要对该功能执行大量图像的跑图操作,以确保后期正常使用。通常执行的跑图操作需要将待测试的大量指纹图像逐一执行解锁测试流程,然后记录解锁的结果作为测试结果。
然而,传统的图像测试,执行效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够高效的图像测试方法、装置、计算机设备和存储介质。
一种图像测试方法,所述方法包括:
获取至少一个基准测试图集;其中,每个所述基准测试图集包括多个任务图集,每个任务图集中包括多个底库指纹图和/或多个解锁指纹图;
获取每个所述任务图集的任务大小;其中,所述任务大小用于表征任务图集中底库指纹图和解锁指纹图的数量总和;
根据所述任务图集的数量和允许运行的最大进程数,运行目标数量的目标进程;
根据每个所述任务图集的任务大小,按照预设的分配策略将每个所述任务图集作为一个待测任务分配至相应的目标进程并执行跑图操作,得到测试记录;其中,所述跑图操作包括针对多个底库指纹图的录入操作和/或针对多个解锁指纹图的解锁操作。
在其中一个实施例中,所述根据所述任务图集的数量和允许运行的最大进程数,运行目标数量的目标进程,包括:
若所述任务图集的数量大于或等于所述最大进程数,则将所述最大进程数作为所述目标数量,运行所述目标数量的目标进程;
若所述任务图集的数量小于或等于所述最大进程数,则将所述任务图集的数量作为所述目标数量,运行所述目标数量的目标进程。
在其中一个实施例中,所述根据每个所述任务图集的任务大小,按照预设的分配策略将每个所述任务图集作为一个待测任务分配至相应的目标进程并执行跑图操作,包括:
初始化所述目标进程中的任务图集为空;
根据每个所述任务图集的任务大小和所述目标数量,确定每个目标进程的平均任务量;
将所述任务图集按照对应的任务大小进行排列,得到待测图集列表;
将所述任务图集作为待测任务,根据每个所述待测任务的任务大小和平均任务量,按照所述待测图集列表的顺序逐一分配,得到每个所述目标进程需要运行的目标待测任务;
运行各个所述目标进程,对所述目标待测任务依次执行所述跑图操作。
在其中一个实施例中,所述将所述任务图集作为待测任务,根据每个所述待测任务的任务大小和平均任务量,按照所述待测图集列表的顺序逐一分配,得到每个所述目标进程需要运行的目标待测任务,包括:
按照所述待测图集列表的顺序依次获取一个待测任务作为当前的待测任务,并依次获取一个目标进程作为当前的目标进程;
针对当前的待测任务判断当前的目标进程是否为空;
若是,则将当前的待测任务分配至当前的目标进程,作为当前的目标进程的一个目标待测任务;
若否,则在所述目标进程中已有待测任务和当前的待测任务的任务大小总和小于所述平均任务量时,则将当前的待测任务分配至当前的目标进程的队列中,作为当前的目标进程的一个目标待测任务;以及在所述任务大小总和大于或等于所述平均任务量时,则将下一目标进程作为新的当前的目标进程,并返回执行所述针对当前的待测任务判断当前的目标进程是否为空的步骤。
在其中一个实施例中,所述方法还包括:
若每个所述目标进程中已有待测任务和当前的待测任务的任务大小总和均大于或等于所述平均任务量,则将当前的待测任务分配至最小的任务大小总和对应的目标进程。
在其中一个实施例中,所述跑图操作包括:
对所述待测任务中节点名称包含底库标识的子节点图集执行底库指纹图的录入操作;
对所述待测任务中的节点名称不包含底库标识的子节点图集执行解锁指纹图的解锁操作。
在其中一个实施例中,所述基准测试图集包括:FRR测试图集、FAR测试图集和交叉测试图集中的至少一个。
在其中一个实施例中,所述基准测试图集的结构包括:第一级基准节点、第二级基准节点、第二级任务节点和第三级任务节点;其中,所述第二级基准节点包括至少一个校准底纹基准图,所述第三级任务节点为所述第二级任务节点下一级的节点,所述第三级任务节点下包括底库节点和解锁节点。
一种图像测试装置,所述装置包括:
获取模块,用于获取至少一个基准测试图集和每个任务图集的任务大小;其中,每个所述基准测试图集包括多个所述任务图集,每个任务图集中包括多个底库指纹图和/或多个解锁指纹图,所述任务大小用于表征任务图集中底库指纹图和解锁指纹图的数量总和;
确定模块,用于根据所述任务图集的数量和允许运行的最大进程数,运行目标数量的目标进程;
处理模块,用于根据每个所述任务图集的任务大小,按照预设的分配策略将每个所述任务图集作为一个待测任务分配至相应的目标进程并执行跑图操作,得到测试记录;其中,所述跑图操作包括针对多个底库指纹图的录入操作和/或针对多个解锁指纹图的解锁操作。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取至少一个基准测试图集;其中,每个所述基准测试图集包括多个任务图集,每个任务图集中包括多个底库指纹图和/或多个解锁指纹图;
获取每个所述任务图集的任务大小;其中,所述任务大小用于表征任务图集中底库指纹图和解锁指纹图的数量总和;
根据所述任务图集的数量和允许运行的最大进程数,运行目标数量的目标进程;
根据每个所述任务图集的任务大小,按照预设的分配策略将每个所述任务图集作为一个待测任务分配至相应的目标进程并执行跑图操作,得到测试记录;其中,所述跑图操作包括针对多个底库指纹图的录入操作和/或针对多个解锁指纹图的解锁操作。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取至少一个基准测试图集;其中,每个所述基准测试图集包括多个任务图集,每个任务图集中包括多个底库指纹图和/或多个解锁指纹图;
获取每个所述任务图集的任务大小;其中,所述任务大小用于表征任务图集中底库指纹图和解锁指纹图的数量总和;
根据所述任务图集的数量和允许运行的最大进程数,运行目标数量的目标进程;
根据每个所述任务图集的任务大小,按照预设的分配策略将每个所述任务图集作为一个待测任务分配至相应的目标进程并执行跑图操作,得到测试记录;其中,所述跑图操作包括针对多个底库指纹图的录入操作和/或针对多个解锁指纹图的解锁操作。
上述图像测试方法、装置、计算机设备和存储介质,通过计算机设备获取至少一个基准测试图集,并获取每个任务图集的任务大小,然后根据任务图集的数量和允许运行的最大进程数,运行目标数量的目标进程,根据每个任务图集的任务大小,按照预设的分配策略将每个任务图集作为一个待测任务分配至相应的目标进程并执行跑图操作,得到测试记录。本实施例所提供的方法,相比传统的逐一进行跑图的方式,由于每个任务图集包括多个底库指纹图和/或多个解锁指纹图,通过根据每个任务图集的任务大小,将每个任务图集作为一个测试任务按照预设的分配策略分配至目标数量个目标进程中,实现了在计算机设备允许的情况下,多进程并行处理多个待测任务,能够使得算法的迭代效率极大的提高,因此极大地提高了图像测试的效率。
附图说明
图1为一个实施例中计算机设备的内部结构图;
图2为一个实施例中图像测试方法的流程示意图;
图3为一个实施例中图像测试方法的流程示意图;
图4为另一个实施例中待测任务分配的示意图;
图5为一个实施例中底库指纹图的录入流程和解锁流程的示意图;
图6为一个实施例中图像测试装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的图像测试方法,可以应用于如图1所示的计算机设备,该计算机设备可以是终端,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种图像测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
需要说明的是,下述方法实施例的执行主体可以是图像测试装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为上述计算机设备的部分或者全部。下述方法实施例以执行主体为计算机设备为例进行说明。
图2为一个实施例提供的图像测试方法的流程示意图。本实施例涉及的是的具体过程。如图2所示,包括:
S11、获取至少一个基准测试图集;其中,每个所述基准测试图集包括多个任务图集,每个任务图集中包括多个底库指纹图和/或多个解锁指纹图。
具体的,计算机设备获取一个或多个基准测试图集,可选地,可以是从专用的服务器,例如存储benchmark的服务器上,下载上述基准测试图集,也可以是从计算机设备本地的存储器上读取需要进行解锁测试的基准测试图集,对此本实施例不做限定。需要说明的是,每个基准测试图集中包括多个任务图集,每个任务图集可以生成一个需要测试的待测任务。其中,每个任务图集中包括多个底库指纹图,还可以包括多个解锁指纹图,可选地,每个任务图集中的指纹图可以是层级化的结构设置的,例如树状结构存储,即将多个底库指纹图和多个解锁指纹图分类层级化保存在不同的文件夹,利于底库指纹图和解锁指纹图的存储、调用等,这种层级化结构化的设置方式,实现了任务的灵活组织,进一步提高了指纹图的处理效率。例如任务图集可以分为两个文件夹设置,一个底库文件夹和一个解锁文件夹,底库文件夹中存储多个底库指纹图,解锁文件夹中存储多个解锁指纹图。
S12、获取每个所述任务图集的任务大小。其中,所述任务大小用于表征任务图集中底库指纹图和解锁指纹图的数量总和。
具体的,计算机设备可以统计每个任务图集中的图像的数量,并根据单个图像的大小和图像的数量得到每个任务图集的任务大小。上述任务大小用于表征任务图集中底库指纹图的数量和解锁指纹图的数量的和。
S13、根据所述任务图集的数量和允许运行的最大进程数,运行目标数量的目标进程。
具体的,计算机设备可以获取设备当前所允许运行的最大进程数,该最大进程数可以是根据设备的运算处理能力确定,也可以是设备对当前的任务所能够分配的处理资源的多少确定。计算机设备可以将一个任务图集的处理操作当作一个待测任务,根据任务图集的数量结合最大进程数,在最大进程数的范围内,运行确定得到需要运行的目标进程的目标数量,例如最大进程数为X,则可以确定目标进程的目标数量为小于或等于X的任意数量。
S14、根据每个所述任务图集的任务大小,按照预设的分配策略将每个所述任务图集作为一个待测任务分配至相应的目标进程并执行跑图操作,得到测试记录;其中,所述跑图操作包括针对多个底库指纹图的录入操作和/或针对多个解锁指纹图的解锁操作。
具体的,计算机设备可以根据每个任务图集的任务大小,将每个任务图集作为一个待测任务,按照预设的分配策略将多个待测任务分配至相应的目标进程,并执行跑图操作。可选地,上述分配策略可以是根据每个任务图集的任务大小将多个任务图集分为多个任务组,不同任务组中的任务大小总和之间的差值最小;可选地,还可以是将不同的任务图集按照任务大小进行大小搭配的分组,例如最大的任务图集和最小的任务图集作为一组,次大的任务图集和次小的任务图集作为一组;当然,计算机设备还可以将上述任务图集采用其他的方式按照任务大小进行分配,只要是能够将任务图集按照任务大小尽量分配的均匀即可,得到与目标数量一致的多个任务组,然后将每个任务组分配至一个目标进程来执行跑图操作,并得到相应的测试记录。其中,跑图操作可以包括计算机设备自动连续执行的针对多个底库指纹图的录入操作,还可以包括连续执行的多个解锁指纹图的解锁操作,通过计算机设备的自动跑图操作,实现了指纹图像的自动测试。
本实施例中,计算机设备获取至少一个基准测试图集,并获取每个任务图集的任务大小,然后根据任务图集的数量和允许运行的最大进程数,运行目标数量的目标进程,根据每个任务图集的任务大小,按照预设的分配策略将每个任务图集作为一个待测任务分配至对应的目标进程并执行跑图操作,得到测试记录。本实施例所提供的方法,相比传统的逐一进行跑图的方式,由于每个任务图集中包括多个底库指纹图和/或多个解锁指纹图,通过按照每个任务图集的任务大小,将每个任务图集作为一个测试任务按照预设的分配策略分配至目标数量个目标进程中,实现了在计算机设备允许的情况下,多进程并行处理多个待测任务,能够使得算法的迭代效率极大的提高,因此极大的提高了图像测试的效率。
可选地,在上述实施例的基础上,步骤S13的一种可能的实现方式包括:、所述任务图集的数量大于或等于所述最大进程数,则将所述最大进程数作为所述目标数量,运行所述目标数量的目标进程;若所述任务图集的数量小于或等于所述最大进程数,则将所述任务图集的数量作为所述目标数量,运行所述目标数量的目标进程。采用该方式,计算机设备能够最大程度的利用允许调用的资源,最大数量地启动目标进程,因此能够达到最大的资源利用率,最大程度的保证图像测试的效率。
可选地,在上述各个实施例的基础上,上述步骤S14的一种可能实现方式可以如图3所示,包括:
S141、初始化所述目标进程中的任务图集为空。
S142、根据每个所述任务图集的任务大小和所述目标数量,确定每个目标进程的平均任务量。
具体的,计算机设备首先执行初始化,将所运行的目标进程中的任务量设置为零,然后根据每个任务图集的任务大小和目标数量,确定出每个目标进程的平均任务量。例如,当任务大小的和为15900,目标数量为4,则平均任务量为15900/4=3975。
S143、将所述任务图集按照对应的任务大小排列,得到待测图集列表。
S144、将所述任务图集作为待测任务,根据每个所述待测任务的任务大小和平均任务量,按照所述待测图集列表的顺序逐一分配,得到每个所述目标进程需要运行的目标待测任务。
具体的,计算机设备按照每个任务图集的任务大小,得到待测图集列表。可选地,可以是将任务图集按照从大到小的顺序排列,便于先处理最大的任务图集,后续再分配小的任务图集,便于充分利用每个目标进程的处理能力。可选地,当然也可以从小到大排列,只要是能够体现任务图集大小排序关系即可。然后,计算机设备将每个任务图集作为一个待测任务,按照待测图集列表的顺序逐一对每个任务图集进行分配,可以是根据每个待测图集的任务大小结合平均任务量作为参考,使得每个目标进程所分配的任务量和平均任务量的差异在一定的范围内,从而得到每个目标进程需要运行的目标待测任务。
可选地,本步骤S144的一种可能的实现方式可以包括:计算机设备按照所述待测图集列表的顺序依次获取一个待测任务作为当前的待测任务,并依次获取一个目标进程作为当前的目标进程;然后针对当前的待测任务判断当前的目标进程是否为空。如果计算机设备确定当前的目标进程为空,则将当前的待测任务分配至当前的目标进程的队列中,作为当前的目标进程的一个目标待测任务,此时该待测任务为当前的目标进程所分配到的第一个目标待测任务。如果当前的目标进程不为空,即当前的目标进程已经存在分配好的待测任务,则计算机设备计算已经分配好的待测任务加上当前需要进行分配的待测任务,二者的任务大小总和是否小于平均任务量,如果任务大小总和小于平均任务量时,则确定当前的进程能够合理处理当前的待测任务,因此将当前的待测任务分配至当前的目标进程的队列中,作为当前的目标进程的一个目标待测任务。然后按照待测图集列表对下一待测任务针对下一目标进程继续执行上述操作。即如果下一目标进程为空,则计算机设备将下一待测任务分配至下一目标进程,并将下一目标进程作为新的当前进程,并继续执行判断新的当前进程是否为空的步骤。如果计算机设备计算已经分配好的待测任务加上当前需要进行分配的待测任务,二者的任务大小总和大于或者等于平均任务量时,可以将下一目标进程作为新的当前进程,并将新的当前的待测任务和下一目标进程继续执行上述针对当前的待测任务判断当前的目标进程是否为空的判断,重复迭代执行上述操作,直至将所有的待测任务分配完毕为止。
可选地,如果每个目标进程中已有待测任务和当前的待测任务的任务大小总和均大于或等于平均任务量,则将当前的待测任务分配至最小的任务大小总和对应的目标进程,从而实现了最小任务量差异的分配,因此最大程度的合理分配了资源,使得资源利用率最大化的同时,最大限度的缩短了处理时间,最大程度的提高了图像处理的效率。
可选地,关于待测任务分配的结果可以参见图4所示,
本实施例所提供的分配策略,通过在目标进程为空的时候将待测任务直接分配,在目标进程不为空的时候,根据预算得到的需要分配的待测任务和已分配的待测任务的任务大小总和与平均任务量之间的大小关系,将待测图集列表中的待测任务逐一实现合理分配,从而能够实现每个目标进程所运行的任务量不会过大,因此实现了合理的资源配置,提高了资源利用率。
S145、运行各个所述目标进程,对所述目标待测任务依次执行所述跑图操作。
具体的,计算机设备运行各目标进程,对各自分配到的目标待测任务依次执行跑图操作。
本实施例中,计算机设备通过初始化目标进程中的任务集为空,并根据每个任务图集的任务大小和目标数量,确定每个目标进程的平均任务量,然后将任务图集按照对应的任务大小进行排列,得到待测图集列表,并将任务图集作为待测任务,根据每个待测任务的任务大小和平均任务量,按照待测图集列表的顺序逐一分配,得到每个目标进程需要运行的目标待测任务运行各个目标进程,对目标待测任务依次执行跑图操作。本实施例所提供的方法,通过根据每个待测任务的任务大小和平均任务量,按照待测图集列表的顺序逐一分配,得到每个目标进程需要运行的目标待测任务运行各个目标进程,从而实现了基于每个待测任务的任务大小和平均任务量来进行合理地任务分配,使得实现了合理的资源配置,提高了资源利用率,进而提高了图像测试的效率。
可选地,在上述各个实施例的基础上,上述跑图操作可以包括:对所述待测任务中节点名称包含底库标识的子节点图集执行底库指纹图的录入操作;对所述待测任务中的节点名称不包含底库标识的子节点图集执行解锁指纹图的解锁操作。具体的,如果待测任务中的待测任务的名称存在底库标识,例如待测文件夹的名称包括“diku”这样的字符,则计算机设备认为该子节点图集下,可以是待测文件夹下存储的是底库指纹图,需要执行底库录入,因此对待测任务中的底库指纹图执行底库指纹图的录入操作;如果待测任务中的待测任务的名称不存在底库标识,可能是存在“jiesuo”这样的字符,则计算机设备认为该子节点图集存储的是解锁指纹图,需要执行解锁测试,因此对待测文件夹中的解锁指纹图执行解锁指纹图的解锁操作。本实施例中,通过对上述待测任务的名称所携带的字符进行辨识,能够准确地对底库指纹图执行底库录入的操作,以及对非底库指纹图的解锁指纹图准确地执行解锁流程,实现了自动辨识所需要的操作,进一步提高了图像测试的自动化程度和准确度。可选地,上述底库指纹图的录入操作和解锁指纹图的解锁操作可以参见图5所示的流程,此处不再赘述。
可选地,在上述跑图操作之前,还可以包括:计算机设备将所述待测任务中的待测节点按照字母表的顺序依次排列,生成有序子任务列表;按照所述有序子任务列表中的顺序,依次对所述待测节点执行所述跑图操作。计算机设备通过将待测任务中的待测节点按照字母表的顺序依次排列,生成有序子任务列表,并按照有序子任务列表中的顺序,依次对待测节点执行跑图操作,使得任务能够有序执行,避免了无序操作可能导致的遗漏或失误等,提高了图像处理的效率。
可选地,上述基准测试图集包括:FRR测试图集、FAR测试图集和交叉测试图集中的至少一个。其中,FRR测试图集用来做FRR测试,FRR测试即录入底库后使用相同指头图像进行规定数量的解锁验证,最后计算整个过程中未通过次数和总比对次数的比率,即为FRR率。如下为一个FRR基本测试用例层次组织结构示意:
FAR测试图集用来做FAR测试,FRR测试录入底库后使用其他手指(非底库录入的手指图像)图像进行规定数量解锁尝试,最后计算整个过程中通过次数和总比对次数比率即为FAR率。如下为一个FAR基本测试用例的示意:
交叉测试图集录入完底库进行一定数量的FRR测试,然后进行FAR测试。如下为一个交叉测试图集的测试用例的示意:
通过上述FRR测试图集、FAR测试图集和交叉测试图集的验证流程,能够分别针对FRR和FAR进行测试,使得测试的指标具有针对性。当FRR测试图集、FAR测试图集和交叉测试图集全部进行测试的时候,能够更为全面的进行测试,使得测试结果能够更为全面的反应程序的指纹识别能力,测试结果更为准确。
可选地,关于手指的定义可以参见如下标识:
L1:左手拇指L2:左手食指L3:左手中指L4:左手无名指L5:左手小指
R1:右手拇指R2:右手食指R3:右手中指R4:右手无名指R5:右手小指
可选地,不同的场景可以包括:normal,cold,sunlight,…等等。
可选的,上述基准测试图集的结构包括:第一级基准节点(Benchmark节点)、第二级基准节点、第二级任务节点和第三级任务节点;其中,所述第二级基准节点包括至少一个校准底纹基准图。其中,校准底纹基准图是在校准指纹sensor 时使用重色模具拍摄的底纹base图,能够用来对其他待测图像进行去底纹的操作,由于屏下指纹每次采集到的原始图(RAW图)和当时的屏上油脂固定纹路等物理状态相关,为了取得实际较好的指纹信号必须要对每次采集到的指纹图进行去底纹处理。所述第三级任务节点为所述第二级任务节点下一级的节点,所述第三级任务节点下包括底库节点和解锁节点。需要说明的是,一个基本的Benchmark测试集是层级关系组织的树状结构,可以用文件夹形式表示,也可以用类似json,xml等结构化文件格式表示。可选地,第一级基准节点为测试 benchmark名称,上述结构化的图片组织关系可以按照文件夹的形式进行存储,这时,底库节点则为一个底库指纹图的文件夹,下面存储多个底库指纹图,解锁节点则为解锁指纹图的文件夹,下面存储多个解锁指纹图。当上述结构化的图片组织关系的表现形式为json或者xml的时候,底库指纹图和解锁指纹图可以是对应的图片的存储路径,以便结构化组织和调用。详细可以参见上述各个基准测试图集的测试用例的数据结构。本实施例中,通过上述基准测试图集的结构化的组织方式,能够使得测试任务被灵活进行组织,因此合理地使用多进程并行处理多个待测任务,能够使得算法的迭代效率极大的提高,因此极大的提高了图像测试的效率。
可选地,所述第一级基准节点的命名格式为:Bmk_终端标识_图集序号;
所述第二级任务节点的命名格式为:测试类型_测试任务_任务序号;
所述第三级任务节点的命名格式为:采集序号_底库_人名标识_手指_场景,或为:采集序号_解锁_人名标识_手指_场景[测试类型];
所述底库节点下的底库指纹图的命名格式为:<时间>_<采集序号>_<diku>_<场景>_<得分信息>;
所述解锁节点下的解锁指纹图的命名格式为:<时间>_<采集序号>_<diku|jiesuo>_<场景>_<得分信息>。
可选地,结构化的节点结构如下:
可选地,上述三层结构只是一种示例,还可以根据需要进行更多级节点的结构化,同时,多个benchmark集合一起可以构成更大benchmark集,使得测试样本更丰富,测试的结果更准确。
上述各级测试节点和测试节点的命名格式能够和结构化的任务组织形式匹配,因此进一步提高了测试任务组织的灵活性,极大地提高了图像测试的效率。
可选地,当所有启动的目标进程运行完成之后,对每个待测任务运行输出的结果进行汇总统计,得到测试结果,还可以将测试结果以报表的形式生成,并将测试结果上传到服务器端进行展示,使得测试结果图表化,便于查阅。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种图像测试装置,包括:
获取模块100,用于获取至少一个基准测试图集;其中,每个所述基准测试图集包括多个任务图集,每个任务图集中包括多个底库指纹图和/或多个解锁指纹图,以及获取每个所述任务图集的任务大小;其中,所述任务大小用于表征任务图集中底库指纹图和解锁指纹图的数量总和;
确定模块200,用于根据所述任务图集的数量和允许运行的最大进程数,运行目标数量的目标进程;
处理模块300,用于根据每个所述任务图集的任务大小,按照预设的分配策略将每个所述任务图集作为一个待测任务分配至相应的目标进程并执行跑图操作,得到测试记录;其中,所述跑图操作包括针对多个底库指纹图的录入操作和/或针对多个解锁指纹图的解锁操作。
在一个实施例中,确定模块200,具体用于当所述任务图集的数量大于或等于所述最大进程数时,则将所述最大进程数作为所述目标数量,运行所述目标数量的目标进程;当所述任务图集的数量小于或等于所述最大进程数时,则将所述任务图集的数量作为所述目标数量,运行所述目标数量的目标进程。
在一个实施例中,处理模块300,具体用于初始化所述目标进程中的任务图集为空;根据每个所述任务图集的任务大小和所述目标数量,确定每个目标进程的平均任务量;将所述任务图集按照对应的任务大小进行排列,得到待测图集列表;将所述任务图集作为待测任务,根据每个所述待测任务的任务大小和平均任务量,按照所述待测图集列表的顺序逐一分配,得到每个所述目标进程需要运行的目标待测任务;运行各个所述目标进程,对所述目标待测任务依次执行所述跑图操作。
在一个实施例中,处理模块300,具体用于按照所述待测图集列表的顺序依次获取一个待测任务作为当前的待测任务,并依次获取一个目标进程作为当前的目标进程;针对当前的待测任务判断当前的目标进程是否为空;若是,则将当前的待测任务分配至当前的目标进程,作为当前的目标进程的一个目标待测任务;若否,则在所述目标进程中已有待测任务和当前的待测任务的任务大小总和小于所述平均任务量时,则将当前的待测任务分配至当前的目标进程的队列中,作为当前的目标进程的一个目标待测任务;以及在所述任务大小总和大于或等于所述平均任务量时,则将下一目标进程作为新的当前的目标进程,并返回执行所述针对当前的待测任务判断当前的目标进程是否为空的步骤。
在一个实施例中,处理模块300,具体用于若每个所述目标进程中已有待测任务和当前的待测任务的任务大小总和均大于或等于所述平均任务量,则将当前的待测任务分配至最小的任务大小总和对应的目标进程。
在一个实施例中,所述跑图操作包括:对所述待测任务中节点名称包含底库标识的子节点图集执行底库指纹图的录入操作;对所述待测任务中的节点名称不包含底库标识的子节点图集执行解锁指纹图的解锁操作。
在一个实施例中,所述基准测试图集包括:FRR测试图集、FAR测试图集和交叉测试图集中的至少一个。
在一个实施例中,所述基准测试图集的结构包括:第一级基准节点、第二级基准节点、第二级任务节点和第三级任务节点;其中,所述第二级基准节点包括至少一个校准底纹基准图,所述第三级任务节点为所述第二级任务节点下一级的节点,所述第三级任务节点下包括底库节点和解锁节点。
关于图像测试装置的具体限定可以参见上文中对于图像测试方法的限定,在此不再赘述。上述图像测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基准测试图集。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像测试方法。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取至少一个基准测试图集;其中,每个所述基准测试图集包括多个任务图集,每个任务图集中包括多个底库指纹图和/或多个解锁指纹图;
获取每个所述任务图集的任务大小;其中,所述任务大小用于表征任务图集中底库指纹图和解锁指纹图的数量总和;
根据所述任务图集的数量和允许运行的最大进程数,运行目标数量的目标进程;
根据每个所述任务图集的任务大小,按照预设的分配策略将每个所述任务图集作为一个待测任务分配至相应的目标进程并执行跑图操作,得到测试记录;其中,所述跑图操作包括针对多个底库指纹图的录入操作和/或针对多个解锁指纹图的解锁操作。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若所述任务图集的数量大于或等于所述最大进程数,则将所述最大进程数作为所述目标数量,运行所述目标数量的目标进程;
若所述任务图集的数量小于或等于所述最大进程数,则将所述任务图集的数量作为所述目标数量,运行所述目标数量的目标进程。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
初始化所述目标进程中的任务图集为空;
根据每个所述任务图集的任务大小和所述目标数量,确定每个目标进程的平均任务量;
将所述任务图集按照对应的任务大小进行排列,得到待测图集列表;
将所述任务图集作为待测任务,根据每个所述待测任务的任务大小和平均任务量,按照所述待测图集列表的顺序逐一分配,得到每个所述目标进程需要运行的目标待测任务;
运行各个所述目标进程,对所述目标待测任务依次执行所述跑图操作。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
按照所述待测图集列表的顺序依次获取一个待测任务作为当前的待测任务,并依次获取一个目标进程作为当前的目标进程;
针对当前的待测任务判断当前的目标进程是否为空;
若是,则将当前的待测任务分配至当前的目标进程,作为当前的目标进程的一个目标待测任务;
若否,则在所述目标进程中已有待测任务和当前的待测任务的任务大小总和小于所述平均任务量时,则将当前的待测任务分配至当前的目标进程的队列中,作为当前的目标进程的一个目标待测任务;以及在所述任务大小总和大于或等于所述平均任务量时,则将下一目标进程作为新的当前的目标进程,并返回执行所述针对当前的待测任务判断当前的目标进程是否为空的步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若每个所述目标进程中已有待测任务和当前的待测任务的任务大小总和均大于或等于所述平均任务量,则将当前的待测任务分配至最小的任务大小总和对应的目标进程。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对所述待测任务中节点名称包含底库标识的子节点图集执行底库指纹图的录入操作;
对所述待测任务中的节点名称不包含底库标识的子节点图集执行解锁指纹图的解锁操作。
在一个实施例中,所述基准测试图集包括:FRR测试图集、FAR测试图集和交叉测试图集中的至少一个。
在一个实施例中,所述基准测试图集的结构包括:第一级基准节点、第二级基准节点、第二级任务节点和第三级任务节点;其中,所述第二级基准节点包括至少一个校准底纹基准图,所述第三级任务节点为所述第二级任务节点下一级的节点,所述第三级任务节点下包括底库节点和解锁节点。
应当清楚的是,本申请实施例中处理器执行计算机程序的过程,与上述方法中各个步骤的执行过程一致,具体可参见上文中的描述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取至少一个基准测试图集;其中,每个所述基准测试图集包括多个任务图集,每个任务图集中包括多个底库指纹图和/或多个解锁指纹图;
获取每个所述任务图集的任务大小;其中,所述任务大小用于表征任务图集中底库指纹图和解锁指纹图的数量总和;
根据所述任务图集的数量和允许运行的最大进程数,运行目标数量的目标进程;
根据每个所述任务图集的任务大小,按照预设的分配策略将每个所述任务图集作为一个待测任务分配至相应的目标进程并执行跑图操作,得到测试记录;其中,所述跑图操作包括针对多个底库指纹图的录入操作和/或针对多个解锁指纹图的解锁操作。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若所述任务图集的数量大于或等于所述最大进程数,则将所述最大进程数作为所述目标数量,运行所述目标数量的目标进程;
若所述任务图集的数量小于或等于所述最大进程数,则将所述任务图集的数量作为所述目标数量,运行所述目标数量的目标进程。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
初始化所述目标进程中的任务图集为空;
根据每个所述任务图集的任务大小和所述目标数量,确定每个目标进程的平均任务量;
将所述任务图集按照对应的任务大小进行排列,得到待测图集列表;
将所述任务图集作为待测任务,根据每个所述待测任务的任务大小和平均任务量,按照所述待测图集列表的顺序逐一分配,得到每个所述目标进程需要运行的目标待测任务;
运行各个所述目标进程,对所述目标待测任务依次执行所述跑图操作。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
按照所述待测图集列表的顺序依次获取一个待测任务作为当前的待测任务,并依次获取一个目标进程作为当前的目标进程;
针对当前的待测任务判断当前的目标进程是否为空;
若是,则将当前的待测任务分配至当前的目标进程,作为当前的目标进程的一个目标待测任务;
若否,则在所述目标进程中已有待测任务和当前的待测任务的任务大小总和小于所述平均任务量时,则将当前的待测任务分配至当前的目标进程的队列中,作为当前的目标进程的一个目标待测任务;以及在所述任务大小总和大于或等于所述平均任务量时,则将下一目标进程作为新的当前的目标进程,并返回执行所述针对当前的待测任务判断当前的目标进程是否为空的步骤。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若每个所述目标进程中已有待测任务和当前的待测任务的任务大小总和均大于或等于所述平均任务量,则将当前的待测任务分配至最小的任务大小总和对应的目标进程。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对所述待测任务中节点名称包含底库标识的子节点图集执行底库指纹图的录入操作;
对所述待测任务中的节点名称不包含底库标识的子节点图集执行解锁指纹图的解锁操作。
在一个实施例中,所述基准测试图集包括:FRR测试图集、FAR测试图集和交叉测试图集中的至少一个。
在一个实施例中,所述基准测试图集的结构包括:第一级基准节点、第二级基准节点、第二级任务节点和第三级任务节点;其中,所述第二级基准节点包括至少一个校准底纹基准图,所述第三级任务节点为所述第二级任务节点下一级的节点,所述第三级任务节点下包括底库节点和解锁节点。
应当清楚的是,本申请实施例中计算机程序被处理器执行的过程,与上述方法中各个步骤的执行过程一致,具体可参见上文中的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory, SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。