CN104899146A - 基于图像匹配技术的软件稳定性测试方法和装置 - Google Patents
基于图像匹配技术的软件稳定性测试方法和装置 Download PDFInfo
- Publication number
- CN104899146A CN104899146A CN201510345814.3A CN201510345814A CN104899146A CN 104899146 A CN104899146 A CN 104899146A CN 201510345814 A CN201510345814 A CN 201510345814A CN 104899146 A CN104899146 A CN 104899146A
- Authority
- CN
- China
- Prior art keywords
- interface
- operation interface
- sectional drawing
- software
- image
- 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
Links
Abstract
本申请公开了一种基于图像匹配技术的软件稳定性测试方法和装置。其中,基于图像匹配技术的软件稳定性测试方法包括:获取软件的操作界面截图;在数据库中查找与软件的操作界面截图形状匹配的至少一个第一界面,其中,数据库关联存储有第一界面的图像及其控件区域信息;在第一界面中查找与软件的操作界面相似的第二界面;以及若存在第二界面,则在软件的操作界面上与第二界面的控件区域相对应的区域进行随机点击。按照本申请的方案,能够提高每次点击操作中有效点击的比例,测试效率高。
Description
技术领域
本公开一般涉及计算机领域,具体涉及计算机软件测试领域,尤其涉及一种基于图像匹配技术的软件稳定性测试方法和装置。
背景技术
软件产品在经过功能测试后,仍然会剩下一些功能逻辑没有覆盖到、资源占用的问题没有发现。这时,需要通过随机的、全方位的去触发软件功能,测试软件是否有资源泄漏、崩溃等问题发生。
在现有的软件稳定性测试方案中,通过随机的在软件界面上枚举出一个坐标,触发点击操作,依次循环,测试软件稳定性。
然而,由于软件界面存在无效功能区域,因而采用现有的软件稳定性测试方案随机对软件界面进行任意点击时,若点击位置处于软件界面的无效功能区域中时,该点击不会触发任何的软件操作,因而该点击无效。
鉴于这种情况,现有的软件稳定性测试方案有效点击次数低、崩溃回溯难、触发崩溃时间长,进而导致稳定性测试时间长,稳定性测试效率低。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种基于图像匹配技术的软件稳定性测试方法和装置,其能够准确获得软件界面中控件的位置,提高每次点击操作中有效点击的比例,测试效率高。
第一方面,本申请实施例提供了一种基于图像匹配技术的软件稳定性测试方法,包括:获取软件的操作界面截图;在数据库中查找与软件的操作界面截图形状匹配的至少一个第一界面,其中,数据库关联存储有第一界面的图像及其控件区域信息;在第一界面中查找与软件的操作界面相似的第二界面;以及若存在第二界面,则在软件的操作界面上与第二界面的控件区域相对应的区域进行随机点击。
第二方面,本申请实施例还提供了一种基于图像匹配技术的软件稳定性测试装置,包括:获取模块,配置用于获取软件的操作界面截图;第一查找模块,配置用于在数据库中查找与软件的操作界面截图形状匹配的至少一个第一界面,其中,数据库关联存储有第一界面的图像及其控件区域信息;第二查找模块,配置用于在第一界面中查找与软件的操作界面相似的第二界面;以及点击模块,配置用于若存在第二界面,则在软件的操作界面上与第二界面的控件区域相对应的区域进行随机点击。
本申请实施例提供的的方案,通过图像匹配算法来定位软件界面中的控件区域,使每次稳定性测试中软件界面点击操作都是有效点击。减少了软件界面的点击次数,进而节省了软件稳定性测试的时间,并提高了软件稳定性测试的效率。
在本申请的一些实现方式中,无论鼠标位置处于控件区域时,鼠标指针状态是否发生改变,均能够定位出软件界面中全部的控件区域。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了根据本申请一个实施例的基于图像匹配技术的软件稳定性测试方法的示意性流程图;
图2示出了根据本申请一个实施例的在第一界面中查找与软件的操作界面相似的第二界面的示意性流程图;
图3示出了根据本申请另一个实施例的在第一界面中查找与软件的操作界面相似的第二界面的示意性流程图;
图4示出了根据本申请一个实施例的扫描软件的操作界面并获取软件的操作界面上所有控件区域的示意性流程图;
图5示出了根据本申请一个实施例的基于图像匹配技术的软件稳定性测试装置的示意性结构图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为解决现有的软件稳定性测试方案中有效点击率低的问题,已有一些新的解决方案。在这些新的解决方案中,通过移动鼠标并采集鼠标指针状态,并通过鼠标指针状态的变化来判断当前鼠标位置是否处于软件界面的控件区域。
然而,在一部分软件的界面中,即便鼠标位置处于控件区域内时,其指针状态也不发生改变。因而如上所述的软件稳定性测试方案不能够获得这些软件界面中的控件区域,进而也无法得到提高有效点击率的技术效果。
本申请实施例的基于图像匹配技术的软件稳定性测试方案,旨在通过图像匹配技术,来获得软件界面的控件区域,从而解决以上的一个或多个技术问题。
参见图1所示,为根据本申请一个实施例的基于图像匹配技术的软件稳定性测试方法100的示意性流程图。
具体而言,在步骤110中,获取软件的操作界面截图。
在一些实现方式中,软件可以运行在视窗(Windows)操作系统中。此时,例如,可以通过Windows句柄来获取该软件的操作界面截图。
接着,在步骤120中,在数据库DB1中查找与软件的操作界面截图形状匹配的至少一个第一界面,其中,数据库关联存储有第一界面的图像及其控件区域信息。
在这里,“形状匹配”例如可以指第一界面的形状和尺寸均与软件的操作界面截图相同。
此外,“关联存储”例如可以理解为在存储第一界面和该第一界面上的控件区域信息时,将该第一界面和该第一界面上的控件区域信息建立某种对应关系。在一些实现方式中,例如,可以将第一界面及其上的控件区域信息存储于数据库DB1中同一个数据表的不同字段中,以在第一界面及其上的控件区域信息之间建立对应关系。在一些实现方式中,控件区域信息例如可以包括控件相对于该第一界面的某一固定点的起始坐标和终止坐标(例如,当控件形状为矩形时);或者,在另一些实现方式中,控件区域信息还可以包括该控件的圆心处坐标以及半径(例如,当控件形状为圆形时)。控件区域信息还可以包括该控件的图像信息。
接着,在步骤130中,在第一界面中查找与软件的操作界面相似的第二界面。
在一些实现方式中,例如可以通过定量的方式来判断第一界面与软件的操作界面是否相似。例如,将第一界面与软件的操作界面相似度超过某一预定阈值的第一界面作为第二界面。
接着,在步骤140中,判断是否存在第二界面。若存在第二界面,则在步骤150中,在软件的操作界面上与第二界面的控件区域相对应的区域进行随机点击。
若存在第二界面,则说明数据库中已有了与软件的操作界面非常接近的界面,甚至在某些情况中,若将判断第一界面与软件的操作界面相似度的阈值设定为100%时,此时,若存在第二界面,则该第二界面可认为与软件的操作界面完全相同。因而,在这些实现方式中,由于数据库DB1中存储了第二界面中的控件区域信息,当鼠标在与这些控件区域信息相应的软件操作界面的区域进行点击时,这些点击可认为是有效点击,从而使得软件稳定性测试的效率得以提高。
在一些实现方式中,步骤130的在第一界面中查找与软件的操作界面相似的第二界面可以采用如图2所示的示意性流程图200来实现。
如图2所示,在步骤210中,获取第一界面中的控件区域信息。
在一些实现方式中,例如可以通过访问数据库DB1,来获取第一界面中的控件区域信息。
接着,在步骤220中,在第一界面中的控件区域和软件的操作界面截图中与第一界面中的控件区域对应的区域进行同色遮盖。例如,对第一界面中的每个控件区域和软件的操作界面中相应的区域采用相同颜色进行遮盖。各不同控件区域之间所采用的颜色可以相同也可以不同。
接着,在步骤230中,计算同色遮盖后的第一界面和软件的操作界面截图的相似度。
例如,在一些实现方式中,可以先计算同色遮盖后的第一界面和软件的操作界面截图的某些特征值,这些特征值例如可以包括但不限于哈希(hash)值或者尺度不变((Scale-invariant feature transform,SIFT)特征向量中的至少一者。
或者,在另一些实现方式中,可以采用如步骤231的方式,通过灰度直方图计算同色遮盖后的第一界面和软件的操作界面截图的相似度。
具体而言,先将同色遮盖后的第一界面和软件的操作界面截图转化成灰度图,然后获得二者的灰度直方图数据。灰度直方图例如可以是用0~255的数值表示图像中每个点的灰度值。获得这组数据后,依照如下公式进行直方图相似度的定量度量:
其中G、S分别为同色遮盖后的第一界面和软件的操作界面截图的直方图,N为G、S中采样点的数量,gi、si分别为G、S中各采样点的灰度值。
接着,在步骤240中,找出各第一界面中,与软件的操作界面截图相似度Sim(G,S)最高且大于预先设定的第一阈值的界面。
接着,在步骤250中,若满足该条件的界面存在,则将该界面作为第二界面,否则,在步骤260中,第二界面不存在。
在另一些实现方式中,步骤130的在第一界面中查找与软件的操作界面相似的第二界面还可以采用如图3所示的示意性流程图300来实现。
如图3所示,在步骤310中,将第一界面中,与软件的操作界面截图相似度最高的第一界面作为第三界面。
在这里,可以采用在步骤230或231中描述的方法来计算第一界面与软件的操作界面截图的相似度。
接着,在步骤320中,截取第三界面的每个控件区域的图像作为第一图像。
在一些实现方式中,由于数据库DB1中存储有第三界面的图像和其控件区域信息。可以通过控件区域信息在第三界面的图像上的相应位置进行截取,从而获得第三界面中每个控件区域的图像,并将每一个控件区域的图像作为一个第一图像。因而,在这些实现方式中,第一图像的数量与第三界面中的控件数量相等。
接着,在步骤330中,在软件的操作界面截图中截取与第三界面的每个控件区域对应区域的图像作为第二图像。例如,在一些实现方式中,可以利用存储在数据库的控件区域信息来在软件的操作界面截图的对应区域进行图像截取。
接着,在步骤340中,计算每个第一图像和对应的第二图像的相似度。在一些实现方式中,例如,可以采用在步骤230中描述的方法来计算每个第一图像和对应的第二图像的相似度,或者,也可以采用与步骤231中描述的方法,即通过第一图像和对应的第二图像的灰度直方图,来计算每个第一图像和对应的第二图像的相似度。
接着,在步骤350中,统计第一图像和对应的第二图像的相似度大于第二阈值的第一图像的比例。并在步骤360中判断该比例是否大于预定比例。
接着,在步骤380中,若比例小于预定比例,则第二界面不存在。
相应地,在步骤390中,若比例超过预定比例,则将第三界面作为第二界面。
通过如上的步骤310~390,可以确定是否存在第二界面,若存在,则可如步骤140所述,在软件的操作界面上与第二界面的控件区域相对应的区域进行随机点击。
然而,对于某些类型的控件,例如复选框(checkbox)类型的控件,其在选中或者非选中状态下,呈现不同的图像。在一些实现方式中,可以将这些控件在不同状态下的图像存储至数据库DB1中。
具体而言,在步骤390A中,随机点击第三界面上的控件形成第四界面。例如,若点击的控件为checkbox控件,那么点击该控件前和点击该控件后,该控件呈现不同的图像。
在一些实现方式中,点击某些控件可能会弹出一个新的操作界面。为了判断点击该控件后是仅改变该控件的状态还是弹出新的操作界面,例如可以基于第四界面与第三界面形状匹配,截取第四界面的每个控件区域的图像作为第三图像。也即是说,若第三界面和第四界面形状匹配(例如,第三界面和第四界面的形状和尺寸均相同),则截取第四界面的每个控件区域的图像作为第三图像。
接着,在步骤390B中,截取第四界面的每个控件区域的图像作为第三图像。并在步骤390C中,在软件的操作界面截图中截取与第四界面的每个控件区域对应区域的图像作为第四图像。
接着,在步骤390D中,计算每个第三图像和对应的第四图像的相似度。例如,可以采用与步骤230或步骤231中类似的方法来计算每个第三图像和对应的第四图像的相似度。
接着,在步骤390E中,判断每个第三图像和对应的第四图像的相似度是否小于第三阈值。若相似度小于第三阈值,则在步骤390F中,将与第四图像对应的控件区域信息与软件的操作界面截图关联存储至数据库中。
通过以上的步骤390A~390E,可以将第三界面中,同一控件的不同状态时的控件区域信息与软件操作界面截图进行关联存储。
返回图1,本实施例的方法还可以包括如下的步骤。
具体而言,若不存在第二界面,则在步骤160中,扫描软件的操作界面并获取软件的操作界面上所有控件的控件区域信息。
接着,在步骤170中,在软件的操作界面上的控件区域进行随机点击,并在步骤180中,将软件的操作界面截图与所有控件的控件区域信息关联存储至数据库中。
在一些实现方式中,步骤160的扫描软件的操作界面并获取软件的操作界面上所有控件的控件区域信息可以采用如图4所示的示意性流程图400来实现。
如图4所示,在步骤410中,获取软件操作界面的初始截图,其中,初始截图上不包括鼠标图像。
如在步骤110中描述的,在一些实现方式中,软件可以运行在Windows操作系统中。此时,例如可以通过Windows句柄来获取该软件操作界面的初始截图。而采用该方法获取到的软件操作界面的初始截图中,不包括鼠标图像。
接着,在步骤420中,在软件的操作界面上以一预定步长移动鼠标,其中鼠标的移动范围覆盖整个软件的操作界面。
例如,在一些实现方式中,可以以软件的操作界面某一端点作为原点,建立笛卡尔坐标系,以预定步长增加鼠标位置的横坐标和/或纵坐标,直到遍历完软件的操作界面的整个范围。
接着,在步骤430中,存储与当前鼠标位置对应的当前操作界面截图,其中,当前操作界面截图上不包括鼠标图像。
例如,可以采用与步骤410中获取软件操作界面的初始截图类似的方式来获取不包括鼠标图像的当前操作界面截图。
接着,在步骤440中比较初始截图与当前操作界面截图。若初始截图与当前操作界面截图不同,则在步骤450中,判断当前鼠标位置为软件的操作界面的控件区域。
若初始截图与当前操作界面截图相同,则在步骤460中,将当前操作界面截图作为历史操作界面截图。并在步骤470中以预定步长移动鼠标,获取新的当前操作界面截图。
接着,在步骤480中,比较历史操作界面截图与新的当前操作界面截图。
若历史操作界面截图与新的当前操作界面截图相同,则返回步骤420,继续以预定步长移动鼠标。相反,若历史操作界面截图与新的当前操作界面截图不同,则在步骤450中,当前鼠标位置为软件的操作界面的控件区域。
通过如上所述的步骤410~步骤480,可以通过移动鼠标来遍历软件的操作界面,从而获取软件的操作界面上所有控件的控件区域信息。
参见图5所示,为根据本申请一个实施例的基于图像匹配技术的软件稳定性测试装置500的示意性结构图。
如图5所示,本实施例的一种基于图像匹配技术的软件稳定性测试装置500可包括获取模块510、第一查找模块520、第二查找模块530和点击模块540。
其中,获取模块510可配置用于获取软件的操作界面截图。
第一查找模块520可配置用于在数据库中查找与软件的操作界面截图形状匹配的至少一个第一界面,其中,数据库关联存储有第一界面的图像及其控件区域信息。
第二查找模块530可配置用于在第一界面中查找与软件的操作界面相似的第二界面。
点击模块540可配置用于若存在第二界面,则在软件的操作界面上与第二界面的控件区域相对应的区域进行随机点击。
在一些实现方式中,第二查找模块530可进一步配置用于获取第一界面中的控件区域信息;在第一界面中的控件区域和软件的操作界面截图中与第一界面中的控件区域对应的区域进行同色遮盖;计算同色遮盖后的第一界面和软件的操作界面截图的相似度;并将相似度最高且相似度大于第一阈值的第一界面作为第二界面。
在这些实现方式中,第二查找模块530还可进一步配置用于通过灰度直方图计算同色遮盖后的第一界面和软件的操作界面截图的相似度。
在一些实现方式中,第二查找模块530进一步配置用于将第一界面中,与软件的操作界面截图相似度最高的第一界面作为第三界面;截取第三界面的每个控件区域的图像作为第一图像;在软件的操作界面截图中截取与第三界面的每个控件区域对应区域的图像作为第二图像;计算每个第一图像和对应的第二图像的相似度;统计第一图像和对应的第二图像的相似度大于第二阈值的第一图像的比例;并当比例小于预定比例时,扫描软件的操作界面并获取软件的操作界面上所有控件区域,并在软件的操作界面上的控件区域进行随机点击。
在这些实现方式中,第二查找模块530还可进一步配置用于通过灰度直方图计算每个第一图像和对应的第二图像的相似度。
在这些实现方式中,第二查找模块530还可以进一步配置用于若比例超过预定比例,则将第三界面作为第二界面,并随机点击第三界面上的控件形成第四界面,例如,可以基于第四界面与第三界面形状匹配,截取第四界面的每个控件区域的图像作为第三图像;截取第四界面的每个控件区域的图像作为第三图像;在软件的操作界面截图中截取与第四界面的每个控件区域对应区域的图像作为第四图像;计算每个第三图像和对应的第四图像的相似度;并当相似度小于第三阈值时,将与第四图像对应的控件区域信息与软件的操作界面截图关联存储至数据库中。
在一些实现方式中,本实施例的基于图像匹配技术的软件稳定性测试装置500还可以包括扫描模块550和关联存储模块560。
扫描模块550可配置用于若不存在第二界面,则扫描软件的操作界面并获取软件的操作界面上所有控件区域。
关联存储模块560可配置用于将软件的操作界面截图与所有控件区域关联存储至数据库中。
在这些实现方式中,点击模块540还可进一步配置用于在软件的操作界面上的控件区域进行随机点击。
在一些实现方式中,扫描模块550还可进一步配置用于获取软件操作界面的初始截图,其中,初始截图上不包括鼠标图像;在软件的操作界面上以一预定步长移动鼠标,其中鼠标的移动范围覆盖整个软件的操作界面;存储与当前鼠标位置对应的当前操作界面截图,其中,当前操作界面截图上不包括鼠标图像;比较初始截图与当前操作界面截图;若初始截图与当前操作界面截图不同,则当前鼠标位置为软件的操作界面的控件区域。
在一些实现方式中,扫描模块550还可进一步配置用于若初始截图与当前操作界面截图相同,则将当前操作界面截图作为历史操作界面截图;以预定步长移动鼠标,获取新的当前操作界面截图;比较历史操作界面截图与新的当前操作界面截图;若历史操作界面截图与新的当前操作界面截图相同,则以预定步长移动鼠标;以及若历史操作界面截图与新的当前操作界面截图不同,则当前鼠标位置为软件的操作界面的控件区域。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、第一查找模块、第二查找模块和点击模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,获取模块还可以被描述为“用于获取软件的操作界面截图的模块”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,程序被一个或者一个以上的处理器用来执行描述于本申请的公式输入方法。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (20)
1.一种基于图像匹配技术的软件稳定性测试方法,其特征在于,包括:
获取软件的操作界面截图;
在数据库中查找与所述软件的操作界面截图形状匹配的至少一个第一界面,其中,所述数据库关联存储有所述第一界面的图像及其控件区域信息;
在所述第一界面中查找与所述软件的操作界面相似的第二界面;以及
若存在第二界面,则在所述软件的操作界面上与所述第二界面的控件区域相对应的区域进行随机点击。
2.根据权利要求1所述的方法,其特征在于,所述在所述第一界面中查找与所述软件的操作界面相似的第二界面包括:
获取所述第一界面中的控件区域信息;
在所述第一界面中的控件区域和所述软件的操作界面截图中与所述第一界面中的控件区域对应的区域进行同色遮盖;
计算同色遮盖后的所述第一界面和所述软件的操作界面截图的相似度;以及
将所述相似度最高且相似度大于第一阈值的所述第一界面作为第二界面。
3.根据权利要求2所述的方法,其特征在于,所述计算同色遮盖后的所述第一界面和所述软件的操作界面截图的相似度包括:
通过灰度直方图计算同色遮盖后的所述第一界面和所述软件的操作界面截图的相似度。
4.根据权利要求1所述的方法,其特征在于,所述在所述第一界面中查找与所述软件的操作界面相似的第二界面包括:
将所述第一界面中,与所述软件的操作界面截图相似度最高的第一界面作为第三界面;
截取所述第三界面的每个控件区域的图像作为第一图像;
在所述软件的操作界面截图中截取与所述第三界面的每个控件区域对应区域的图像作为第二图像;
计算每个所述第一图像和对应的所述第二图像的相似度;
统计所述第一图像和对应的所述第二图像的相似度大于第二阈值的所述第一图像的比例;以及
若所述比例小于预定比例,则扫描所述软件的操作界面并获取所述软件的操作界面上所有控件区域,并在所述软件的操作界面上的控件区域进行随机点击;
若所述比例超过所述预定比例,则将所述第三界面作为所述第二界面。
5.根据权利要求4所述的方法,其特征在于,所述计算每个所述第一图像和对应的所述第二图像的相似度包括:
通过灰度直方图计算每个所述第一图像和对应的所述第二图像的相似度。
6.根据权利要求4或5所述的方法,其特征在于,所述将所述第三界面作为所述第二界面包括:
随机点击所述第三界面上的控件形成第四界面;
截取所述第四界面的每个控件区域的图像作为第三图像;
在所述软件的操作界面截图中截取与所述第四界面的每个控件区域对应区域的图像作为第四图像;
计算每个所述第三图像和对应的第四图像的相似度;以及
若所述相似度小于第三阈值,则将与所述第四图像对应的控件区域信息与所述软件的操作界面截图关联存储至所述数据库中。
7.根据权利要求6所述的方法,其特征在于,所述截取所述第四界面的每个控件区域的图像作为第三图像包括:
基于所述第四界面与所述第三界面形状匹配,截取所述第四界面的每个控件区域的图像作为第三图像。
8.根据权利要求1-7任意一项所述的方法,其特征在于,还包括:
若不存在所述第二界面,则扫描所述软件的操作界面并获取所述软件的操作界面上所有控件的控件区域信息;
在所述软件的操作界面上的控件区域进行随机点击;以及
将所述软件的操作界面截图与所述所有控件的控件区域信关联存储至所述数据库中。
9.根据权利要求8所述的方法,其特征在于,所述扫描所述软件的操作界面并获取所述软件的操作界面上所有控件的控件区域信息包括:
获取所述软件操作界面的初始截图,其中,所述初始截图上不包括鼠标图像;
在所述软件的操作界面上以一预定步长移动鼠标,其中所述鼠标的移动范围覆盖整个所述软件的操作界面;
存储与当前鼠标位置对应的当前操作界面截图,其中,所述当前操作界面截图上不包括鼠标图像;
比较所述初始截图与所述当前操作界面截图;以及
若所述初始截图与所述当前操作界面截图不同,则当前鼠标位置为所述软件的操作界面的控件区域。
10.根据权利要求9所述的方法,其特征在于,所述扫描所述软件的操作界面并获取所述软件的操作界面上所有控件区域还包括:
若所述初始截图与所述当前操作界面截图相同,则将所述当前操作界面截图作为历史操作界面截图;
以预定步长移动鼠标,获取新的当前操作界面截图;
比较所述历史操作界面截图与所述新的当前操作界面截图;
若所述历史操作界面截图与所述新的当前操作界面截图相同,则以预定步长移动鼠标;以及
若所述历史操作界面截图与所述新的当前操作界面截图不同,则当前鼠标位置为所述软件的操作界面的控件区域。
11.一种基于图像匹配技术的软件稳定性测试装置,其特征在于,包括:
获取模块,配置用于获取软件的操作界面截图;
第一查找模块,配置用于在数据库中查找与所述软件的操作界面截图形状匹配的至少一个第一界面,其中,所述数据库关联存储有所述第一界面的图像及其控件区域信息;
第二查找模块,配置用于在所述第一界面中查找与所述软件的操作界面相似的第二界面;以及
点击模块,配置用于若存在第二界面,则在所述软件的操作界面上与所述第二界面的控件区域相对应的区域进行随机点击。
12.根据权利要求11所述的装置,其特征在于,所述第二查找模块进一步配置用于:
获取所述第一界面中的控件区域信息;
在所述第一界面中的控件区域和所述软件的操作界面截图中与所述第一界面中的控件区域对应的区域进行同色遮盖;
计算同色遮盖后的所述第一界面和所述软件的操作界面截图的相似度;以及
将所述相似度最高且相似度大于第一阈值的所述第一界面作为第二界面。
13.根据权利要求12所述的装置,其特征在于,所述第二查找模块进一步配置用于:
通过灰度直方图计算同色遮盖后的所述第一界面和所述软件的操作界面截图的相似度。
14.根据权利要求11所述的装置,其特征在于,所述第二查找模块进一步配置用于:
将所述第一界面中,与所述软件的操作界面截图相似度最高的第一界面作为第三界面;
截取所述第三界面的每个控件区域的图像作为第一图像;
在所述软件的操作界面截图中截取与所述第三界面的每个控件区域对应区域的图像作为第二图像;
计算每个所述第一图像和对应的所述第二图像的相似度;
统计所述第一图像和对应的所述第二图像的相似度大于第二阈值的所述第一图像的比例;
若所述比例小于预定比例,则扫描所述软件的操作界面并获取所述软件的操作界面上所有控件区域,并在所述软件的操作界面上的控件区域进行随机点击;以及
若所述比例超过所述预定比例,则将所述第三界面作为所述第二界面。
15.根据权利要求14所述的装置,其特征在于,所述第二查找模块进一步配置用于:
通过灰度直方图计算每个所述第一图像和对应的所述第二图像的相似度。
16.根据权利要求14或15所述的装置,其特征在于,所述所述第二查找模块进一步配置用于,当所述比例超过所述预定比例时:
随机点击所述第三界面上的控件形成第四界面;
截取所述第四界面的每个控件区域的图像作为第三图像;
在所述软件的操作界面截图中截取与所述第四界面的每个控件区域对应区域的图像作为第四图像;
计算每个所述第三图像和对应的第四图像的相似度;以及
若所述相似度小于第三阈值,则将与所述第四图像对应的控件区域信息与所述软件的操作界面截图关联存储至所述数据库中。
17.根据权利要求16所述的装置,其特征在于所述第二查找模块进一步配置用于:
基于所述第四界面与所述第三界面形状匹配,截取所述第四界面的每个控件区域的图像作为第三图像。
18.根据权利要求11-17任意一项所述的装置,其特征在于,所述装置还包括:
扫描模块,配置用于若不存在所述第二界面,则扫描所述软件的操作界面并获取所述软件的操作界面上所有控件的控件区域信息;以及
关联存储模块,配置用于将所述软件的操作界面截图与所述所有控件的控件区域信息关联存储至所述数据库中;
其中,所述点击模块进一步配置用于在所述软件的操作界面上的控件区域进行随机点击。
19.根据权利要求18所述的装置,其特征在于,所述扫描模块进一步配置用于:
获取所述软件操作界面的初始截图,其中,所述初始截图上不包括鼠标图像;
在所述软件的操作界面上以一预定步长移动鼠标,其中所述鼠标的移动范围覆盖整个所述软件的操作界面;
存储与当前鼠标位置对应的当前操作界面截图,其中,所述当前操作界面截图上不包括鼠标图像;
比较所述初始截图与所述当前操作界面截图;以及
若所述初始截图与所述当前操作界面截图不同,则当前鼠标位置为所述软件的操作界面的控件区域。
20.根据权利要求19所述的装置,其特征在于,所述扫描进一步配置用于:
若所述初始截图与所述当前操作界面截图相同,则将所述当前操作界面截图作为历史操作界面截图;
以预定步长移动鼠标,获取新的当前操作界面截图;
比较所述历史操作界面截图与所述新的当前操作界面截图;
若所述历史操作界面截图与所述新的当前操作界面截图相同,则以预定步长移动鼠标;以及
若所述历史操作界面截图与所述新的当前操作界面截图不同,则当前鼠标位置为所述软件的操作界面的控件区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510345814.3A CN104899146B (zh) | 2015-06-19 | 2015-06-19 | 基于图像匹配技术的软件稳定性测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510345814.3A CN104899146B (zh) | 2015-06-19 | 2015-06-19 | 基于图像匹配技术的软件稳定性测试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104899146A true CN104899146A (zh) | 2015-09-09 |
CN104899146B CN104899146B (zh) | 2018-04-24 |
Family
ID=54031821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510345814.3A Active CN104899146B (zh) | 2015-06-19 | 2015-06-19 | 基于图像匹配技术的软件稳定性测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104899146B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701766A (zh) * | 2016-02-24 | 2016-06-22 | 网易(杭州)网络有限公司 | 图形匹配方法和装置 |
CN106383765A (zh) * | 2016-08-31 | 2017-02-08 | 北京百分点信息科技有限公司 | 一种数据监控方法及装置 |
CN107977306A (zh) * | 2016-10-25 | 2018-05-01 | 百度在线网络技术(北京)有限公司 | 用于测试安卓应用稳定性的方法和装置 |
CN109086203A (zh) * | 2018-07-20 | 2018-12-25 | 百度在线网络技术(北京)有限公司 | 页面的检测方法和装置 |
CN109189290A (zh) * | 2018-10-18 | 2019-01-11 | 广州酷狗计算机科技有限公司 | 点击区域识别方法、装置和计算机可读存储介质 |
CN109445893A (zh) * | 2018-10-24 | 2019-03-08 | 北京赢销通软件技术有限公司 | 一种确定操作界面帧的唯一性标识的方法及装置 |
CN110162454A (zh) * | 2018-11-30 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 游戏运行方法和装置、存储介质及电子装置 |
CN110532049A (zh) * | 2019-07-23 | 2019-12-03 | 深圳市敏特达电子有限公司 | 用于车间的智能化软件启动方法、装置及存储介质 |
CN110543342A (zh) * | 2018-09-20 | 2019-12-06 | 北京北方华创微电子装备有限公司 | Ocx组件响应界面交互方法及装置 |
CN111124902A (zh) * | 2019-12-12 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 对象操作方法和装置、计算机可读的存储介质及电子装置 |
CN112231033A (zh) * | 2019-12-23 | 2021-01-15 | 北京来也网络科技有限公司 | 结合rpa与ai的软件界面元素的匹配方法及装置 |
CN112231032A (zh) * | 2019-12-10 | 2021-01-15 | 北京来也网络科技有限公司 | 结合rpa与ai的软件界面元素的访问方法及装置 |
CN112733862A (zh) * | 2021-01-05 | 2021-04-30 | 卓望数码技术(深圳)有限公司 | 终端图像自动匹配方法、系统及存储介质 |
CN113836028A (zh) * | 2021-09-28 | 2021-12-24 | 奇安信科技集团股份有限公司 | 软件界面的测试建模方法及装置、电子设备、存储介质 |
CN115048309A (zh) * | 2022-06-27 | 2022-09-13 | 广州掌动智能科技有限公司 | 无侵入app软件性能测试方法和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006132564A1 (en) * | 2005-06-10 | 2006-12-14 | Intel Corporation | A cognitive control framework for automatic control of application programs exposing a graphical user interface |
CN101866352A (zh) * | 2010-05-28 | 2010-10-20 | 广东工业大学 | 一种基于图像内容分析的外观设计专利检索方法 |
CN101964062A (zh) * | 2010-09-14 | 2011-02-02 | 北京神州泰岳软件股份有限公司 | 基于用户界面的图像搜索方法 |
WO2011073759A1 (en) * | 2009-12-01 | 2011-06-23 | Cinnober Financial Technology Ab | Methods and systems for automatic testing of a graphical user interface |
CN102830958A (zh) * | 2011-06-16 | 2012-12-19 | 奇智软件(北京)有限公司 | 一种获取界面控件信息的方法及系统 |
CN103136094A (zh) * | 2011-11-25 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 一种页面测试方法及装置 |
CN103823758A (zh) * | 2014-03-13 | 2014-05-28 | 北京金山网络科技有限公司 | 一种浏览器测试方法及装置 |
CN104516812A (zh) * | 2013-09-27 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种软件测试方法和装置 |
-
2015
- 2015-06-19 CN CN201510345814.3A patent/CN104899146B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006132564A1 (en) * | 2005-06-10 | 2006-12-14 | Intel Corporation | A cognitive control framework for automatic control of application programs exposing a graphical user interface |
WO2011073759A1 (en) * | 2009-12-01 | 2011-06-23 | Cinnober Financial Technology Ab | Methods and systems for automatic testing of a graphical user interface |
CN101866352A (zh) * | 2010-05-28 | 2010-10-20 | 广东工业大学 | 一种基于图像内容分析的外观设计专利检索方法 |
CN101964062A (zh) * | 2010-09-14 | 2011-02-02 | 北京神州泰岳软件股份有限公司 | 基于用户界面的图像搜索方法 |
CN102830958A (zh) * | 2011-06-16 | 2012-12-19 | 奇智软件(北京)有限公司 | 一种获取界面控件信息的方法及系统 |
CN103136094A (zh) * | 2011-11-25 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 一种页面测试方法及装置 |
CN104516812A (zh) * | 2013-09-27 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种软件测试方法和装置 |
CN103823758A (zh) * | 2014-03-13 | 2014-05-28 | 北京金山网络科技有限公司 | 一种浏览器测试方法及装置 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701766B (zh) * | 2016-02-24 | 2019-03-19 | 网易(杭州)网络有限公司 | 图像匹配方法和装置 |
CN105701766A (zh) * | 2016-02-24 | 2016-06-22 | 网易(杭州)网络有限公司 | 图形匹配方法和装置 |
CN106383765A (zh) * | 2016-08-31 | 2017-02-08 | 北京百分点信息科技有限公司 | 一种数据监控方法及装置 |
CN107977306A (zh) * | 2016-10-25 | 2018-05-01 | 百度在线网络技术(北京)有限公司 | 用于测试安卓应用稳定性的方法和装置 |
CN109086203A (zh) * | 2018-07-20 | 2018-12-25 | 百度在线网络技术(北京)有限公司 | 页面的检测方法和装置 |
CN110543342A (zh) * | 2018-09-20 | 2019-12-06 | 北京北方华创微电子装备有限公司 | Ocx组件响应界面交互方法及装置 |
CN110543342B (zh) * | 2018-09-20 | 2022-12-09 | 北京北方华创微电子装备有限公司 | Ocx组件响应界面交互方法及装置 |
CN109189290A (zh) * | 2018-10-18 | 2019-01-11 | 广州酷狗计算机科技有限公司 | 点击区域识别方法、装置和计算机可读存储介质 |
CN109445893A (zh) * | 2018-10-24 | 2019-03-08 | 北京赢销通软件技术有限公司 | 一种确定操作界面帧的唯一性标识的方法及装置 |
CN110162454B (zh) * | 2018-11-30 | 2022-02-08 | 腾讯科技(深圳)有限公司 | 游戏运行方法和装置、存储介质及电子装置 |
CN110162454A (zh) * | 2018-11-30 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 游戏运行方法和装置、存储介质及电子装置 |
CN110532049A (zh) * | 2019-07-23 | 2019-12-03 | 深圳市敏特达电子有限公司 | 用于车间的智能化软件启动方法、装置及存储介质 |
CN110532049B (zh) * | 2019-07-23 | 2022-05-10 | 深圳市敏特达电子有限公司 | 用于车间的智能化软件启动方法、装置及存储介质 |
CN112231032A (zh) * | 2019-12-10 | 2021-01-15 | 北京来也网络科技有限公司 | 结合rpa与ai的软件界面元素的访问方法及装置 |
CN111124902A (zh) * | 2019-12-12 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 对象操作方法和装置、计算机可读的存储介质及电子装置 |
CN112231033A (zh) * | 2019-12-23 | 2021-01-15 | 北京来也网络科技有限公司 | 结合rpa与ai的软件界面元素的匹配方法及装置 |
CN112733862A (zh) * | 2021-01-05 | 2021-04-30 | 卓望数码技术(深圳)有限公司 | 终端图像自动匹配方法、系统及存储介质 |
CN113836028A (zh) * | 2021-09-28 | 2021-12-24 | 奇安信科技集团股份有限公司 | 软件界面的测试建模方法及装置、电子设备、存储介质 |
CN115048309A (zh) * | 2022-06-27 | 2022-09-13 | 广州掌动智能科技有限公司 | 无侵入app软件性能测试方法和系统 |
CN115048309B (zh) * | 2022-06-27 | 2023-03-07 | 广州掌动智能科技有限公司 | 无侵入app软件性能测试方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104899146B (zh) | 2018-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104899146A (zh) | 基于图像匹配技术的软件稳定性测试方法和装置 | |
US10769487B2 (en) | Method and device for extracting information from pie chart | |
WO2016062159A1 (zh) | 图像匹配方法及手机应用测试平台 | |
Ali et al. | Data quality assurance for volunteered geographic information | |
US9953437B1 (en) | Method and device for constructing a table including information on a pooling type and testing method and testing device using the same | |
JP2017151970A (ja) | サービスリクエストを処理するための方法及び装置 | |
JP6798854B2 (ja) | 目的物個数推定装置、目的物個数推定方法及びプログラム | |
US9626761B2 (en) | Sampling method and image processing apparatus of CS-RANSAC for estimating homography | |
CN111666924B (zh) | 一种平面几何自动解题方法及系统 | |
CN108288020A (zh) | 基于上下文信息的视频遮挡检测系统及方法 | |
CN104809751A (zh) | 生成事件组演化图的方法和装置 | |
Traun et al. | Complexity reduction in choropleth map animations by autocorrelation weighted generalization of time-series data | |
Mosley et al. | Image-based sorghum head counting when you only look once | |
CN112215271B (zh) | 一种基于多头注意力机制的抗遮挡目标检测方法及设备 | |
Robinson et al. | Temporal cluster matching for change detection of structures from satellite imagery | |
Yildirim et al. | Evaluating salient object detection in natural images with multiple objects having multi‐level saliency | |
De Bock et al. | Fast and memory efficient 2-D connected components using linked lists of line segments | |
CN110688439A (zh) | 一种基于区域地理编码自动识别企业信息和分析的方法 | |
CN115372877B (zh) | 基于无人机的变电站的避雷器泄露电流表计巡检方法 | |
Sutton et al. | Range-wide habitat use and Key Biodiversity Area coverage for a lowland tropical forest raptor across an increasingly deforested landscape | |
US10275109B2 (en) | Traversing between nodes | |
CN114511862A (zh) | 表格识别方法、装置及电子设备 | |
CN106528412A (zh) | 一种安卓应用的相关手势投放测试框架 | |
Kakillioglu et al. | A performance metric for the evaluation of thermal anomaly identification with ill-defined ground truth | |
CN113487594B (zh) | 一种基于深度学习的亚像素角点检测方法、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190822 Address after: 100085 Beijing, Haidian District, No. ten on the ground floor, No. 10 Baidu building, layer 2 Patentee after: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. Address before: 100091 C, block, building No. 4, Zhongguancun Software Park, No. 8, West flourishing West Road, Beijing, China 1-03 Patentee before: Pacify a Heng Tong (Beijing) Science and Technology Ltd. |