基于图像匹配技术的软件稳定性测试方法和装置的制造方法

xiaoxiao2020-10-23  16

基于图像匹配技术的软件稳定性测试方法和装置的制造方法
【技术领域】
[0001] 本公开一般涉及计算机领域,具体涉及计算机软件测试领域,尤其涉及一种基于 图像匹配技术的软件稳定性测试方法和装置。
【背景技术】
[0002] 软件产品在经过功能测试后,仍然会剩下一些功能逻辑没有覆盖到、资源占用的 问题没有发现。这时,需要通过随机的、全方位的去触发软件功能,测试软件是否有资源泄 漏、崩溃等问题发生。
[0003] 在现有的软件稳定性测试方案中,通过随机的在软件界面上枚举出一个坐标,触 发点击操作,依次循环,测试软件稳定性。
[0004] 然而,由于软件界面存在无效功能区域,因而采用现有的软件稳定性测试方案随 机对软件界面进行任意点击时,若点击位置处于软件界面的无效功能区域中时,该点击不 会触发任何的软件操作,因而该点击无效。
[0005] 鉴于这种情况,现有的软件稳定性测试方案有效点击次数低、崩溃回溯难、触发崩 溃时间长,进而导致稳定性测试时间长,稳定性测试效率低。

【发明内容】

[0006] 鉴于现有技术中的上述缺陷或不足,期望提供一种基于图像匹配技术的软件稳定 性测试方法和装置,其能够准确获得软件界面中控件的位置,提高每次点击操作中有效点 击的比例,测试效率高。
[0007] 第一方面,本申请实施例提供了一种基于图像匹配技术的软件稳定性测试方法, 包括:获取软件的操作界面截图;在数据库中查找与软件的操作界面截图形状匹配的至少 一个第一界面,其中,数据库关联存储有第一界面的图像及其控件区域信息;在第一界面中 查找与软件的操作界面相似的第二界面;以及若存在第二界面,则在软件的操作界面上与 第二界面的控件区域相对应的区域进行随机点击。
[0008] 第二方面,本申请实施例还提供了一种基于图像匹配技术的软件稳定性测试装 置,包括:获取模块,配置用于获取软件的操作界面截图;第一查找模块,配置用于在数据 库中查找与软件的操作界面截图形状匹配的至少一个第一界面,其中,数据库关联存储有 第一界面的图像及其控件区域信息;第二查找模块,配置用于在第一界面中查找与软件的 操作界面相似的第二界面;以及点击模块,配置用于若存在第二界面,则在软件的操作界面 上与第二界面的控件区域相对应的区域进行随机点击。
[0009] 本申请实施例提供的的方案,通过图像匹配算法来定位软件界面中的控件区域, 使每次稳定性测试中软件界面点击操作都是有效点击。减少了软件界面的点击次数,进而 节省了软件稳定性测试的时间,并提高了软件稳定性测试的效率。
[0010] 在本申请的一些实现方式中,无论鼠标位置处于控件区域时,鼠标指针状态是否 发生改变,均能够定位出软件界面中全部的控件区域。
【附图说明】
[0011] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它 特征、目的和优点将会变得更明显:
[0012] 图1示出了根据本申请一个实施例的基于图像匹配技术的软件稳定性测试方法 的示意性流程图;
[0013] 图2示出了根据本申请一个实施例的在第一界面中查找与软件的操作界面相似 的第二界面的示意性流程图;
[0014]图3示出了根据本申请另一个实施例的在第一界面中查找与软件的操作界面相 似的第二界面的示意性流程图;
[0015]图4示出了根据本申请一个实施例的扫描软件的操作界面并获取软件的操作界 面上所有控件区域的示意性流程图;
[0016]图5示出了根据本申请一个实施例的基于图像匹配技术的软件稳定性测试装置 的示意性结构图。
【具体实施方式】
[0017] 下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描 述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了 便于描述,附图中仅示出了与发明相关的部分。
[0018] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本申请。
[0019] 为解决现有的软件稳定性测试方案中有效点击率低的问题,已有一些新的解决方 案。在这些新的解决方案中,通过移动鼠标并采集鼠标指针状态,并通过鼠标指针状态的变 化来判断当前鼠标位置是否处于软件界面的控件区域。
[0020] 然而,在一部分软件的界面中,即便鼠标位置处于控件区域内时,其指针状态也不 发生改变。因而如上所述的软件稳定性测试方案不能够获得这些软件界面中的控件区域, 进而也无法得到提高有效点击率的技术效果。
[0021] 本申请实施例的基于图像匹配技术的软件稳定性测试方案,旨在通过图像匹配技 术,来获得软件界面的控件区域,从而解决以上的一个或多个技术问题。
[0022] 参见图1所示,为根据本申请一个实施例的基于图像匹配技术的软件稳定性测试 方法100的示意性流程图。
[0023] 具体而言,在步骤110中,获取软件的操作界面截图。
[0024] 在一些实现方式中,软件可以运行在视窗(Windows)操作系统中。此时,例如,可 以通过Windows句柄来获取该软件的操作界面截图。
[0025] 接着,在步骤120中,在数据库DB1中查找与软件的操作界面截图形状匹配的至少 一个第一界面,其中,数据库关联存储有第一界面的图像及其控件区域信息。
[0026] 在这里,"形状匹配"例如可以指第一界面的形状和尺寸均与软件的操作界面截图 相同。
[0027] 此外,"关联存储"例如可以理解为在存储第一界面和该第一界面上的控件区域信 息时,将该第一界面和该第一界面上的控件区域信息建立某种对应关系。在一些实现方式 中,例如,可以将第一界面及其上的控件区域信息存储于数据库DB1中同一个数据表的不 同字段中,以在第一界面及其上的控件区域信息之间建立对应关系。在一些实现方式中, 控件区域信息例如可以包括控件相对于该第一界面的某一固定点的起始坐标和终止坐标 (例如,当控件形状为矩形时);或者,在另一些实现方式中,控件区域信息还可以包括该控 件的圆心处坐标以及半径(例如,当控件形状为圆形时)。控件区域信息还可以包括该控件 的图像信息。
[0028] 接着,在步骤130中,在第一界面中查找与软件的操作界面相似的第二界面。
[0029] 在一些实现方式中,例如可以通过定量的方式来判断第一界面与软件的操作界面 是否相似。例如,将第一界面与软件的操作界面相似度超过某一预定阈值的第一界面作为 第二界面。
[0030] 接着,在步骤140中,判断是否存在第二界面。若存在第二界面,则在步骤150中, 在软件的操作界面上与第二界面的控件区域相对应的区域进行随机点击。
[0031] 若存在第二界面,则说明数据库中已有了与软件的操作界面非常接近的界面,甚 至在某些情况中,若将判断第一界面与软件的操作界面相似度的阈值设定为100%时,此 时,若存在第二界面,则该第二界面可认为与软件的操作界面完全相同。因而,在这些实现 方式中,由于数据库DB1中存储了第二界面中的控件区域信息,当鼠标在与这些控件区域 信息相应的软件操作界面的区域进行点击时,这些点击可认为是有效点击,从而使得软件 稳定性测试的效率得以提高。
[0032] 在一些实现方式中,步骤130的在第一界面中查找与软件的操作界面相似的第二 界面可以采用如图2所示的示意性流程图200来实现。
[0033] 如图2所示,在步骤210中,获取第一界面中的控件区域信息。
[0034] 在一些实现方式中,例如可以通过访问数据库DB1,来获取第一界面中的控件区域 信息。
[0035] 接着,在步骤220中,在第一界面中的控件区域和软件的操作界面截图中与第一 界面中的控件区域对应的区域进行同色遮盖。例如,对第一界面中的每个控件区域和软件 的操作界面中相应的区域采用相同颜色进行遮盖。各不同控件区域之间所采用的颜色可以 相同也可以不同。
[0036] 接着,在步骤230中 ,计算同色遮盖后的第一界面和软件的操作界面截图的相似 度。
[0037] 例如,在一些实现方式中,可以先计算同色遮盖后的第一界面和软件的操作界 面截图的某些特征值,这些特征值例如可以包括但不限于哈希(hash)值或者尺度不变 ((Scale-invariantfeaturetransform,SIFT)特征向量中的至少一者。
[0038] 或者,在另一些实现方式中,可以采用如步骤231的方式,通过灰度直方图计算同 色遮盖后的第一界面和软件的操作界面截图的相似度。
[0039] 具体而言,先将同色遮盖后的第一界面和软件的操作界面截图转化成灰度图,然 后获得二者的灰度直方图数据。灰度直方图例如可以是用〇~255的数值表示图像中每个 点的灰度值。获得这组数据后,依照如下公式进行直方图相似度的定量度量:
[0041] 其中G、S分别为同色遮盖后的第一界面和软件的操作界面截图的直方图,N为G、 S中采样点的数量,gi、Si分别为G、S中各采样点的灰度值。
[0042] 接着,在步骤240中,找出各第一界面中,与软件的操作界面截图相似度Sim(G,S) 最高且大于预先设定的第一阈值的界面。
[0043] 接着,在步骤250中,若满足该条件的界面存在,则将该界面作为第二界面,否则, 在步骤260中,第二界面不存在。
[0044] 在另一些实现方式中,步骤130的在第一界面中查找与软件的操作界面相似的第 二界面还可以采用如图3所示的示意性流程图300来实现。
[0045] 如图3所示,在步骤310中,将第一界面中,与软件的操作界面截图相似度最高的 第一界面作为第三界面。
[0046] 在这里,可以采用在步骤230或231中描述的方法来计算第一界面与软件的操作 界面截图的相似度。
[0047] 接着,在步骤320中,截取第三界面的每个控件区域的图像作为第一图像。
[0048] 在一些实现方式中,由于数据库DB1中存储有第三界面的图像和其控件区域信 息。可以通过控件区域信息在第三界面的图像上的相应位置进行截取,从而获得第三界面 中每个控件区域的图像,并将每一个控件区域的图像作为一个第一图像。因而,在这些实现 方式中,第一图像的数量与第三界面中的控件数量相等。
[0049] 接着,在步骤330中,在软件的操作界面截图中截取与第三界面的每个控件区域 对应区域的图像作为第二图像。例如,在一些实现方式中,可以利用存储在数据库的控件区 域信息来在软件的操作界面截图的对应区域进行图像截取。
[0050] 接着,在步骤340中,计算每个第一图像和对应的第二图像的相似度。在一些实现 方式中,例如,可以采用在步骤230中描述的方法来计算每个第一图像和对应的第二图像 的相似度,或者,也可以采用与步骤231中描述的方法,即通过第一图像和对应的第二图像 的灰度直方图,来计算每个第一图像和对应的第二图像的相似度。
[0051] 接着,在步骤350中,统计第一图像和对应的第二图像的相似度大于第二阈值的 第一图像的比例。并在步骤360中判断该比例是否大于预定比例。
[0052] 接着,在步骤380中,若比例小于预定比例,则第二界面不存在。
[0053] 相应地,在步骤390中,若比例超过预定比例,则将第三界面作为第二界面。
[0054] 通过如上的步骤310~390,可以确定是否存在第二界面,若存在,则可如步骤140 所述,在软件的操作界面上与第二界面的控件区域相对应的区域进行随机点击。
[0055] 然而,对于某些类型的控件,例如复选框(checkbox)类型的控件,其在选中或者 非选中状态下,呈现不同的图像。在一些实现方式中,可以将这些控件在不同状态下的图像 存储至数据库DB1中。
[0056] 具体而言,在步骤390A中,随机点击第三界面上的控件形成第四界面。例如,若点 击的控件为checkbox控件,那么点击该控件前和点击该控件后,该控件呈现不同的图像。
[0057] 在一些实现方式中,点击某些控件可能会弹出一个新的操作界面。为了判断点击 该控件后是仅改变该控件的状态还是弹出新的操作界面,例如可以基于第四界面与第三界 面形状匹配,截取第四界面的每个控件区域的图像作为第三图像。也即是说,若第三界面和 第四界面形状匹配(例如,第三界面和第四界面的形状和尺寸均相同),则截取第四界面的 每个控件区域的图像作为第三图像。
[0058] 接着,在步骤390B中,截取第四界面的每个控件区域的图像作为第三图像。并在 步骤390C中,在软件的操作界面截图中截取与第四界面的每个控件区域对应区域的图像 作为第四图像。
[0059] 接着,在步骤390D中,计算每个第三图像和对应的第四图像的相似度。例如,可以 采用与步骤230或步骤231中类似的方法来计算每个第三图像和对应的第四图像的相似 度。
[0060] 接着,在步骤390E中,判断每个第三图像和对应的第四图像的相似度是否小于第 三阈值。若相似度小于第三阈值,则在步骤390F中,将与第四图像对应的控件区域信息与 软件的操作界面截图关联存储至数据库中。
[0061] 通过以上的步骤390A~390E,可以将第三界面中,同一控件的不同状态时的控件 区域信息与软件操作界面截图进行关联存储。
[0062] 返回图1,本实施例的方法还可以包括如下的步骤。
[0063] 具体而言,若不存在第二界面,则在步骤160中,扫描软件的操作界面并获取软件 的操作界面上所有控件的控件区域信息。
[0064] 接着,在步骤170中,在软件的操作界面上的控件区域进行随机点击,并在步骤 180中,将软件的操作界面截图与所有控件的控件区域信息关联存储至数据库中。
[0065] 在一些实现方式中,步骤160的扫描软件的操作界面并获取软件的操作界面上所 有控件的控件区域信息可以采用如图4所示的示意性流程图400来实现。
[0066] 如图4所示,在步骤410中,获取软件操作界面的初始截图,其中,初始截图上不包 括鼠标图像。
[0067] 如在步骤110中描述的,在一些实现方式中,软件可以运行在Windows操作系统 中。此时,例如可以通过Windows句柄来获取该软件操作界面的初始截图。而采用该方法 获取到的软件操作界面的初始截图中,不包括鼠标图像。
[0068] 接着,在步骤420中,在软件的操作界面上以一预定步长移动鼠标,其中鼠标的移 动范围覆盖整个软件的操作界面。
[0069] 例如,在一些实现方式中,可以以软件的操作界面某一端点作为原点,建立笛卡尔 坐标系,以预定步长增加鼠标位置的横坐标和/或纵坐标,直到遍历完软件的操作界面的 整个范围。
[0070] 接着,在步骤430中,存储与当前鼠标位置对应的当前操作界面截图,其中,当前 操作界面截图上不包括鼠标图像。
[0071] 例如,可以采用与步骤410中获取软件操作界面的初始截图类似的方式来获取不 包括鼠标图像的当前操作界面截图。
[0072] 接着,在步骤440中比较初始截图与当前操作界面截图。若初始截图与当前操作 界面截图不同,则在步骤450中,判断当前鼠标位置为软件的操作界面的控件区域。
[0073] 若初始截图与当前操作界面截图相同,则在步骤460中,将当前操作界面截图作 为历史操作界面截图。并在步骤470中以预定步长移动鼠标,获取新的当前操作界面截图。
[0074] 接着,在步骤480中,比较历史操作界面截图与新的当前操作界面截图。
[0075] 若历史操作界面截图与新的当前操作界面截图相同,则返回步骤420,继续以预定 步长移动鼠标。相反,若历史操作界面截图与新的当前操作界面截图不同,则在步骤450 中,当前鼠标位置为软件的操作界面的控件区域。
[0076] 通过如上所述的步骤410~步骤480,可以通过移动鼠标来遍历软件的操作界面, 从而获取软件的操作界面上所有控件的控件区域信息。
[0077] 参见图5所示,为根 据本申请一个实施例的基于图像匹配技术的软件稳定性测试 装置500的示意性结构图。
[0078] 如图5所示,本实施例的一种基于图像匹配技术的软件稳定性测试装置500可包 括获取模块510、第一查找模块520、第二查找模块530和点击模块540。
[0079] 其中,获取模块510可配置用于获取软件的操作界面截图。
[0080] 第一查找模块520可配置用于在数据库中查找与软件的操作界面截图形状匹配 的至少一个第一界面,其中,数据库关联存储有第一界面的图像及其控件区域信息。
[0081] 第二查找模块530可配置用于在第一界面中查找与软件的操作界面相似的第二 界面。
[0082] 点击模块540可配置用于若存在第二界面,则在软件的操作界面上与第二界面的 控件区域相对应的区域进行随机点击。
[0083] 在一些实现方式中,第二查找模块530可进一步配置用于获取第一界面中的控件 区域信息;在第一界面中的控件区域和软件的操作界面截图中与第一界面中的控件区域对 应的区域进行同色遮盖;计算同色遮盖后的第一界面和软件的操作界面截图的相似度;并 将相似度最高且相似度大于第一阈值的第一界面作为第二界面。
[0084] 在这些实现方式中,第二查找模块530还可进一步配置用于通过灰度直方图计算 同色遮盖后的第一界面和软件的操作界面截图的相似度。
[0085] 在一些实现方式中,第二查找模块530进一步配置用于将第一界面中,与软件的 操作界面截图相似度最高的第一界面作为第三界面;截取第三界面的每个控件区域的图像 作为第一图像;在软件的操作界面截图中截取与第三界面的每个控件区域对应区域的图像 作为第二图像;计算每个第一图像和对应的第二图像的相似度;统计第一图像和对应的第 二图像的相似度大于第二阈值的第一图像的比例;并当比例小于预定比例时,扫描软件的 操作界面并获取软件的操作界面上所有控件区域,并在软件的操作界面上的控件区域进行 随机点击。
[0086] 在这些实现方式中,第二查找模块530还可进一步配置用于通过灰度直方图计算 每个第一图像和对应的第二图像的相似度。
[0087] 在这些实现方式中,第二查找模块530还可以进一步配置用于若比例超过预定比 例,则将第三界面作为第二界面,并随机点击第三界面上的控件形成第四界面,例如,可以 基于第四界面与第三界面形状匹配,截取第四界面的每个控件区域的图像作为第三图像; 截取第四界面的每个控件区域的图像作为第三图像;在软件的操作界面截图中截取与第四 界面的每个控件区域对应区域的图像作为第四图像;计算每个第三图像和对应的第四图像 的相似度;并当相似度小于第三阈值时,将与第四图像对应的控件区域信息与软件的操作 界面截图关联存储至数据库中。
[0088] 在一些实现方式中,本实施例的基于图像匹配技术的软件稳定性测试装置500还 可以包括扫描模块550和关联存储模块560。
[0089] 扫描模块550可配置用于若不存在第二界面,则扫描软件的操作界面并获取软件 的操作界面上所有控件区域。
[0090] 关联存储模块560可配置用于将软件的操作界面截图与所有控件区域关联存储 至数据库中。
[0091] 在这些实现方式中,点击模块540还可进一步配置用于在软件的操作界面上的控 件区域进行随机点击。
[0092] 在一些实现方式中,扫描模块550还可进一步配置用于获取软件操作界面的初始 截图,其中,初始截图上不包括鼠标图像;在软件的操作界面上以一预定步长移动鼠标,其 中鼠标的移动范围覆盖整个软件的操作界面;存储与当前鼠标位置对应的当前操作界面截 图,其中,当前操作界面截图上不包括鼠标图像;比较初始截图与当前操作界面截图;若初 始截图与当前操作界面截图不同,则当前鼠标位置为软件的操作界面的控件区域。
[0093] 在一些实现方式中,扫描模块550还可进一步配置用于若初始截图与当前操作界 面截图相同,则将当前操作界面截图作为历史操作界面截图;以预定步长移动鼠标,获取新 的当前操作界面截图;比较历史操作界面截图与新的当前操作界面截图;若历史操作界面 截图与新的当前操作界面截图相同,则以预定步长移动鼠标;以及若历史操作界面截图与 新的当前操作界面截图不同,则当前鼠标位置为软件的操作界面的控件区域。
[0094] 附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程 序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代 表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包含一个或多个用于 实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注 的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可 以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意 的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执 行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令 的组合来实现。
[0095] 描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以 通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为: 一种处理器包括获取模块、第一查找模块、第二查找模块和点击模块。其中,这些单元或模 块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,获取模块还可以被描 述为"用于获取软件的操作界面截图的模块"。
[0096] 作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介 质可以是上述实施例中装置中所包含的计算机可读存储介质;也可以是单独存在,未装配 入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,程 序被一个或者一个以上的处理器用来执行描述于本申请的公式输入方法。
[0097] 以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人 员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术 方案,同时也应涵盖在不脱离发明构思的情况下,由上述技术特征或其等同特征进行任意 组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能 的技术特征进行互相替换而形成的技术方案。
【主权项】
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所述的装置,其特征在于,所述扫描进一步配置用于: 若所述初始截图与所述当前操作界面截图相同,则将所述当前操作界面截图作为历史 操作界面截图; 以预定步长移动鼠标,获取新的当前操作界面截图; 比较所述历史操作界面截图与所述新的当前操作界面截图; 若所述历史操作界面截图与所述新的当前操作界面截图相同,则以预定步长移动鼠 标;以及 若所述历史操作界面截图与所述新的当前操作界面截图不同,则当前鼠标位置为所述 软件的操作界面的控件区域。
【专利摘要】本申请公开了一种基于图像匹配技术的软件稳定性测试方法和装置。其中,基于图像匹配技术的软件稳定性测试方法包括:获取软件的操作界面截图;在数据库中查找与软件的操作界面截图形状匹配的至少一个第一界面,其中,数据库关联存储有第一界面的图像及其控件区域信息;在第一界面中查找与软件的操作界面相似的第二界面;以及若存在第二界面,则在软件的操作界面上与第二界面的控件区域相对应的区域进行随机点击。按照本申请的方案,能够提高每次点击操作中有效点击的比例,测试效率高。
【IPC分类】G06F11/36
【公开号】CN104899146
【申请号】CN201510345814
【发明人】李彦成, 彭云鹏, 赵欢
【申请人】安一恒通(北京)科技有限公司
【公开日】2015年9月9日
【申请日】2015年6月19日

最新回复(0)