鬼佬大哥大
  • / 18
  • 下載費用:30 金幣  

基于圖像匹配技術的軟件穩定性測試方法和裝置.pdf

關 鍵 詞:
基于 圖像 匹配 技術 軟件 穩定性 測試 方法 裝置
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
摘要
申請專利號:

CN201510345814.3

申請日:

2015.06.19

公開號:

CN104899146A

公開日:

2015.09.09

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 11/36申請日:20150619|||公開
IPC分類號: G06F11/36 主分類號: G06F11/36
申請人: 安一恒通(北京)科技有限公司
發明人: 李彥成; 彭云鵬; 趙歡
地址: 100091北京市海淀區東北旺西路8號中關村軟件園4號樓C座1-03
優先權:
專利代理機構: 北京英賽嘉華知識產權代理有限責任公司11204 代理人: 王達佐; 馬曉亞
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510345814.3

授權公告號:

||||||

法律狀態公告日:

2018.04.24|||2015.10.07|||2015.09.09

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本申請公開了一種基于圖像匹配技術的軟件穩定性測試方法和裝置。其中,基于圖像匹配技術的軟件穩定性測試方法包括:獲取軟件的操作界面截圖;在數據庫中查找與軟件的操作界面截圖形狀匹配的至少一個第一界面,其中,數據庫關聯存儲有第一界面的圖像及其控件區域信息;在第一界面中查找與軟件的操作界面相似的第二界面;以及若存在第二界面,則在軟件的操作界面上與第二界面的控件區域相對應的區域進行隨機點擊。按照本申請的方案,能夠提高每次點擊操作中有效點擊的比例,測試效率高。

權利要求書

權利要求書
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所述的裝置,其特征在于,所述掃描進一步配置用于:
若所述初始截圖與所述當前操作界面截圖相同,則將所述當前操作界面截圖作為歷史操作界面截圖;
以預定步長移動鼠標,獲取新的當前操作界面截圖;
比較所述歷史操作界面截圖與所述新的當前操作界面截圖;
若所述歷史操作界面截圖與所述新的當前操作界面截圖相同,則以預定步長移動鼠標;以及
若所述歷史操作界面截圖與所述新的當前操作界面截圖不同,則當前鼠標位置為所述軟件的操作界面的控件區域。

說明書

說明書基于圖像匹配技術的軟件穩定性測試方法和裝置
技術領域
本公開一般涉及計算機領域,具體涉及計算機軟件測試領域,尤其涉及一種基于圖像匹配技術的軟件穩定性測試方法和裝置。
背景技術
軟件產品在經過功能測試后,仍然會剩下一些功能邏輯沒有覆蓋到、資源占用的問題沒有發現。這時,需要通過隨機的、全方位的去觸發軟件功能,測試軟件是否有資源泄漏、崩潰等問題發生。
在現有的軟件穩定性測試方案中,通過隨機的在軟件界面上枚舉出一個坐標,觸發點擊操作,依次循環,測試軟件穩定性。
然而,由于軟件界面存在無效功能區域,因而采用現有的軟件穩定性測試方案隨機對軟件界面進行任意點擊時,若點擊位置處于軟件界面的無效功能區域中時,該點擊不會觸發任何的軟件操作,因而該點擊無效。
鑒于這種情況,現有的軟件穩定性測試方案有效點擊次數低、崩潰回溯難、觸發崩潰時間長,進而導致穩定性測試時間長,穩定性測試效率低。
發明內容
鑒于現有技術中的上述缺陷或不足,期望提供一種基于圖像匹配技術的軟件穩定性測試方法和裝置,其能夠準確獲得軟件界面中控件的位置,提高每次點擊操作中有效點擊的比例,測試效率高。
第一方面,本申請實施例提供了一種基于圖像匹配技術的軟件穩定性測試方法,包括:獲取軟件的操作界面截圖;在數據庫中查找與軟件的操作界面截圖形狀匹配的至少一個第一界面,其中,數據庫關聯存儲有第一界面的圖像及其控件區域信息;在第一界面中查找與軟 件的操作界面相似的第二界面;以及若存在第二界面,則在軟件的操作界面上與第二界面的控件區域相對應的區域進行隨機點擊。
第二方面,本申請實施例還提供了一種基于圖像匹配技術的軟件穩定性測試裝置,包括:獲取模塊,配置用于獲取軟件的操作界面截圖;第一查找模塊,配置用于在數據庫中查找與軟件的操作界面截圖形狀匹配的至少一個第一界面,其中,數據庫關聯存儲有第一界面的圖像及其控件區域信息;第二查找模塊,配置用于在第一界面中查找與軟件的操作界面相似的第二界面;以及點擊模塊,配置用于若存在第二界面,則在軟件的操作界面上與第二界面的控件區域相對應的區域進行隨機點擊。
本申請實施例提供的的方案,通過圖像匹配算法來定位軟件界面中的控件區域,使每次穩定性測試中軟件界面點擊操作都是有效點擊。減少了軟件界面的點擊次數,進而節省了軟件穩定性測試的時間,并提高了軟件穩定性測試的效率。
在本申請的一些實現方式中,無論鼠標位置處于控件區域時,鼠標指針狀態是否發生改變,均能夠定位出軟件界面中全部的控件區域。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優點將會變得更明顯:
圖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的數值表示圖像中每個點的灰度值。獲得這組數據后,依照如下公式進行直方圖相似度的定量度量:
Sim(G,S)=1NΣi=1N(1-|gi-si|max(gi,si))]]>
其中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還可進一步配置用于若初始截圖與當前操作界面截圖相同,則將當前操作界面截圖作為歷史操作界面截圖;以預定步長移動鼠標,獲取新的當前操作界面截圖;比較歷史操作界面截圖與新的當前操作界面截圖;若歷史操作界面截圖與新的當前操作界面截圖相同,則以預定步長移動鼠標;以及若歷史操作界面截圖與新的當前操作界面截圖不同,則當前鼠標位置為軟件的操作界面的控件區域。
附圖中的流程圖和框圖,圖示了按照本發明各種實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,模塊、程序段、或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個接連地表示的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
描述于本申請實施例中所涉及到的單元或模塊可以通過軟件的方式實現,也可以通過硬件的方式來實現。所描述的單元或模塊也可以設置在處理器中,例如,可以描述為:一種處理器包括獲取模塊、第一查找模塊、第二查找模塊和點擊模塊。其中,這些單元或模塊的名稱在某種情況下并不構成對該單元或模塊本身的限定,例如,獲取模塊還可以被描述為“用于獲取軟件的操作界面截圖的模塊”。
作為另一方面,本申請還提供了一種計算機可讀存儲介質,該計算機可讀存儲介質可以是上述實施例中裝置中所包含的計算機可讀存儲介質;也可以是單獨存在,未裝配入設備中的計算機可讀存儲介質。計算機可讀存儲介質存儲有一個或者一個以上程序,程序被一個或者 一個以上的處理器用來執行描述于本申請的公式輸入方法。
以上描述僅為本申請的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本申請中所涉及的發明范圍,并不限于上述技術特征的特定組合而成的技術方案,同時也應涵蓋在不脫離發明構思的情況下,由上述技術特征或其等同特征進行任意組合而形成的其它技術方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術特征進行互相替換而形成的技術方案。

關于本文
本文標題:基于圖像匹配技術的軟件穩定性測試方法和裝置.pdf
鏈接地址:http://www.wwszu.club/p-6369639.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大