對待測試應用的測試例進行處理的方法和系統的製作方法
2023-08-06 07:46:21
專利名稱:對待測試應用的測試例進行處理的方法和系統的製作方法
技術領域:
本發明的各實施方式涉及信息技術,更具體地,本發明的各實施方式涉及對待測試應用的測試例進行處理的方法和系統。
背景技術:
企業的IT架構通常是非常複雜的,可能會包含以非常複雜的方式互相耦合的成百上千個應用。在這樣的情況下,對應用進行測試是一項具有挑戰性的工作。在整個軟體開發預算中,測試是最大的資金和時間消耗方面之一。伺服器的30%到50%專用於測試,並且大多數測試伺服器的使用率小於10%。因此非常浪費資源。已經有一些公司向用戶提供雲測試環境,用戶可以在需要測試的時候使用這些公司的相應的測試環境,以節約資源。 在目前,應用雲測試環境的通常做法是單獨地根據測試各個應用所要求的原始的硬體和軟體配置,將各個應用分配到具有相應配置的不同虛擬機(VM)實例。以這樣的方式,避免了性能規劃。但是,由於原始的硬體和軟體配置可能沒有很好規劃,性能超出需求,因此會造成許多浪費。
發明內容
因此,需要一種克服上述問題的對待測試應用的測試例進行處理的方案。根據本發明的一個方面,提出了一種對待測試應用的測試例進行處理的方法,包括評估至少兩個待測試應用,以確定所述至少兩個待測試應用相互之間的相容性關係;獲取所述至少兩個待測試應用的測試例,並確定所述至少兩個待測試應用的測試例所需要的資源和執行時間;根據所述至少兩個待測試應用之間的相容性關係、所述至少兩個待測試應用的測試例所需要的資源和執行時間,聚類所述至少兩個待測試應用的測試例到至少一個虛擬機實例,以在所述至少一個虛擬機實例上對所述至少兩個待測試應用的測試例進行測試。根據本發明的第二方面,提出了一種對待測試應用的測試例進行處理的系統,包括評估器,配置成評估至少兩個待測試應用,以確定所述至少兩個待測試應用相互之間的相容性關係;確定器,配置成獲取所述至少兩個待測試應用的測試例,並確定所述至少兩個待測試應用的測試例所需要的資源和執行時間;聚類器,配置成根據所述至少兩個待測試應用之間的相容性關係、所述至少兩個待測試應用的測試例所需要的資源和執行時間,聚類所述至少兩個待測試應用的測試例到至少一個虛擬機實例,以在所述至少一個虛擬機實例上對所述至少兩個待測試應用的測試例進行測試。根據本發明的各實施方式,能夠將根據現有技術將分配到不同虛擬機實例的至少兩個待測試應用的測試例分配到同一個性能滿足要求的虛擬機實例,因此能提高虛擬機實例的利用率。
通過以下結合附圖的說明,並且隨著對本發明實施方式的更全面了解,本發明實施方式的其他目的和效果將變得更加清楚和易於理解,其中圖I示出了根據本發明的一個實施方式的對待測試應用的測試例進行處理的方法的流程圖;圖2示意性地示出了確定的一個測試例的內存消耗情況;
圖3示出了根據現有技術的將待測試應用Al的測試例和待測試應用A2的測試例分配到虛擬機實例的情形;圖4示出了根據本發明的實施方式的將待測試應用Al的測試例和待測試應用A2的測試例分配到虛擬機實例的情形;圖5示出了根據本發明的另一個實施方式的對待測試應用的測試例進行處理的方法的流程圖;圖6示出了根據本發明的一個實施方式的對待測試應用的測試例進行處理的系統的框圖;圖7示出了根據本發明的另一個實施方式的對待測試應用的測試例進行處理的系統的框圖;圖8示出了根據本發明的一個實施方式的雲計算節點;圖9示出了根據本發明的一個實施方式的雲計算環境;以及圖10示出了根據本發明的一個實施方式的抽象模型層。在所有的上述附圖中,相同的標號表示具有相同、相似或相應的特徵或功能。
具體實施例方式下面參考附圖詳細描述本發明的各實施方式。附圖中的流程圖和框圖,圖示了按照本發明各種實施方式的系統、方法和電腦程式產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用於實現規定的邏輯功能的可執行指令。也應當注意,在有些作為備選的實現中,方框中所標註的功能也可以以不同於附圖中所標註的順序發生。例如,兩個接連地表示的方框實際上可以基本並行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基於硬體的系統來實現,或者可以用專用硬體與計算機指令的組合來實現。在本發明的一個實施方式中,根據至少兩個待測試應用之間的相容性關係、至少兩個待測試應用的測試例所需要的資源和執行時間,聚類至少兩個待測試應用的測試例到至少一個虛擬機實例,以在至少一個虛擬機實例上對至少兩個待測試應用的測試例進行測試。根據本發明的一個實施方式,消除了由於如下的行為所造成的可能的虛擬機實例利用率的浪費由將可以駐留在一個虛擬機實例的多個待測試應用的測試例分配到不同的虛擬機實例。
圖I示出了根據本發明的一個實施方式的對待測試應用的測試例進行處理的方法的流程圖。如圖I所示,該方法100包括步驟SI 10,評估至少兩個待測試應用,以確定所述至少兩個待測試應用相互之間的相容性關係;步驟S120,獲取所述至少兩個待測試應用的測試例,並確定所述至少兩個待測試應用的測試例所需要的資源和執行時間;步驟S130,根據所述至少兩個待測試應用之間的相容性關係、所述至少兩個待測試應用的測試例所需要的資源和執行時間,聚類所述至少兩個待測試應用的測試例到至少一個虛擬機實例,以在所述至少一個虛擬機實例上對所述至少兩個待測試應用的測試例進行測試。在一個實施方式中,至少兩個待測試應用相互之間的相容性關係至少包括如下的一種硬體相容性關係,和軟體相容性關係。硬體相容性關係指的是一個待測試應用所要求的硬體與另一個待測試應用所要求的硬體是否相容。根據本發明的一個實施方式,基於兩個待測試應用所要求的硬體的類型是否相同來確定兩個待測試應用之間的硬體相容性關係。當兩個待測試應用所要求的硬體的類型相同時,確定兩個待測試應用之間的硬體相容性關係為相容。當兩個待測試應用所要求的硬體的類型不相同時,確定兩個待測試應用之間的硬體相容性關係為不相容。例如,如果一個待測試應用要求CPU、內存、硬碟和交換機,而另外一個待測試應用要求CPU、內存、硬碟和網卡,則由於兩個待測試應用所要求的硬體的類型不相同,確定在這兩個待測試應用之間硬體相容性關係為不相容。根據本發明的一個實施方式,還可以基於不同的類型的硬體的存在是否對兩個待 測試應用的執行造成影響來確定兩個待測試應用之間的硬體相容性關係。在一個待測試應用所要求的硬體的類型與另一個待測試應用所要求的硬體的類 型不相同的情況下,當不同的類型的硬體的存在對兩個待測試的應用的執行不會造成影響時,確定在這兩個待測試應用之間的硬體相容性關係為相容;當不同的類型的硬體的存在對兩個待測試的應用的執行造成影響時,確定在這兩個待測試應用之間的硬體相容性關係為不相容。例如,如果一個待測試應用要求CPU、內存、硬碟和交換機,而另外一個待測試應用要求CPU、內存、硬碟和網卡,並且如果對於這兩個待測試應用來說,存在網卡和交換機對它們的執行並不會造成任何的影響,則確定在這兩個待測試應用之間硬體相容性關係為相容;如果對於這兩個待測試應用來說,存在網卡和交換機對它們的執行造成影響,則確定在這兩個待測試應用之間硬體相容性關係為不相容。當然,本領域的技術人員應當理解,還可以具有其他的用於確定兩個待測試應用之間的硬體相容性關係的規則。例如,在本發明的一個實施方式中,還可以基於兩個待測試應用所要求的具體硬體是否相同來確定兩個待測試應用之間的硬體相容性關係。在一個待測試應用所要求的硬體的類型與另一個應用所要求的硬體的類型相同的情況下,當一個待測試應用所要求的具體硬體和另一個待測試應用所要求的具體硬體相同時,例如都要求DDR (雙倍數據速率)2內存時,確定在這兩個待測試應用之間硬體相容性關係為相容;當一個待測試應用所要求的具體硬體和另一個待測試應用所要求的具體硬體不相同時,例如一個待測試應用要求DDR2內存,另一個待測試應用要求DDR3內存時,確定在這兩個待測試應用之間硬體相容性關係為不相容。軟體相容性關係指的是一個待測試應用所要求的軟體與另一個待測試應用所要求的軟體是否相容。根據本發明的一個實施方式,基於兩個待測試應用所要求的軟體的類型是否相同來確定兩個待測試應用之間的軟體相容性關係。當兩個待測試應用所要求的軟體 類型不相同時,確定兩個待測試應用之間的軟體相容性關係為不相容。當兩個待測試應用所要求的軟體的類型相同時,確定兩個待測試應用之間的軟體相容性關係為相容。例如,如果一個待測試應用要求如下軟體作業系統、Web伺服器、資料庫、編譯工具;而另一個待測試應用要求如下軟體作業系統、Web伺服器、資料庫、編譯工具,則由於兩個待測試應用所要求的軟體的類型相同,確定在這兩個待測試應用之間軟體相容性關係為相容。在本發明的一個實施方式中,還基於兩個待測試應用所要求的具體軟體是否相同來確定兩個待測試應用之間的軟體相容性關係。在一個待測試應用所要求的軟體的類型與另一個待測試應用所要求的軟體的類型相同的情況下,當一個待測試應用所要求的具體軟體和另一個待測試應用所要求的具體軟體相同時,例如都要求Windows 作業系統、Tomcat web伺服器、Oracle 資料庫、.NET 編譯工具時,確定在這兩個待測試應用之間軟體相容性關係為相容;當一個待測試應用所要求的具體軟體和另一個待測試應用所要求的具體軟體不相同時,例如一個待測試應用要求Windows 作業系統、Tomcat web伺服器、Oracle 資料庫、.NET 編譯工具,另一個待測試應用要求Linux作業系統、Tomcat web伺服器、Oracle 資料庫、.NET 編譯工具時,確定在這兩個待測試應用之間軟體相容性關係為不相容。在本發明的一個實施方式中,還基於兩個待測試應用所要求的具體軟體的版本是否兼容來確定兩個待測試應用之間的軟體相容性關係。在一個待測試應用所要求的具體軟體和另一個待測試應用所要求的具體軟體相同的情況下,當一個待測試應用所要求的具體軟體的版本和另一個待測試應用所要求的具體軟體的版本兼容,即具體軟體的較高版本包括該具體軟體的較低版本的功能時,例如一個待測試應用要求Windows 7作業系統、Tomcat 7. oweb伺服器、Oracle IOg資料庫、.NET 4編譯工具,另一個待測試應用要求Windows XP作業系統、Tomcat
7.oweb伺服器、Oracle IOg資料庫、.NET 4編譯工具,並且Windows 7作業系統與Windows XP作業系統兼容,即Windows 7作業系統包括Windows XP作業系統的功能時,確定在這兩個待測試應用之間軟體相容性關係為相容;當一個待測試應用所要求的具體軟體的版本和另一個待測試應用所要求的具體軟體的版本不兼容,即具體軟體的較高版本不包括該具體軟體的較低版本的某些功能時,確定在這兩個待測試應用之間軟體相容性關係為不相容。根據本發明的一個實施方式,還基於兩個待測試應用的配置是否衝突來確定兩個待測試應用之間的軟體相容性關係。兩個待測試應用的配置是否衝突的例子包括兩個待測試應用的埠號配置是否衝突。例如,當兩個待測試應用都使用預設8443埠號的情況下,就發生了配置衝突。當兩個待測試應用的配置衝突時,確定兩個待測試應用之間的軟體相容性關係為不相容。當兩個待測試應用的配置不衝突時,確定兩個待測試應用之間的軟體相容性關係為相容。
在本發明的一個實施例中,還基於兩個待測試應用中的至少一個的配置是否可修改來確定兩個待測試應用之間的軟體相容性關係。在兩個待測試應用的配置衝突的情況下,當兩個待測試應用中的至少一個的配置可修改時,確定兩個待測試應用之間的軟體相容性關係為相容;當兩個待測試應用的配置都不可修改時,確定兩個待測試應用之間的軟體相容性關係為不相容。當然,本領域的技術人員應當理解,還可以有其他的用於確定兩個待測試應用之間的軟體相容性關係的規則。例如,在本發明的一個實施方式中,還基於不同的類型的軟體的存在是否對兩個待測試應用的執行造成影響來確定兩個待測試應用之間的軟體相容性關係。在一個待測試應用所要求的軟體的類型與另一個待測試應用所要求的軟體的類型不相同的情況下,當不同的類型的軟體的存在對兩個待測試應用的執行不會造成影響時,確定兩個待測試應用之間的軟體相容性關係為相容;當不同的類型的軟體的存在對兩個待測試應用的執行造成影響時,確定兩個待測試應用之間的軟體相容性關係為不相容。
在本發明的一個實施方式中,還基於不同的具體軟體的存在是否對兩個待測試應用的執行造成影響來確定兩個待測試應用之間的軟體相容性關係。在一個待測試應用所要求的具體軟體與另一個待測試應用所要求的具體軟體不相同的情況下,當不同的具體軟體的存在對兩個待測試應用的執行不會造成影響時,確定兩個待測試應用之間的軟體相容性關係為相容;當不同的具體軟體的存在對兩個待測試應用的執行造成影響時,確定兩個待測試應用之間的軟體相容性關係為不相容。一般地,應用具有描述其硬體和軟體要求的文檔,可以通過程序讀取該文檔來獲得上述硬體和軟體要求。另外,可以通過分析根據某種應用配置框架的每個應用的配置文件,來確定每個應用的配置是否衝突。可以在應用相容性關係矩陣中存儲多個待測試應用相互之間的相容性關係。可以具有兩個應用相容性關係矩陣,一個用於硬體,一個用於軟體。硬體相容性關係矩陣(Mhw)記錄了每對待測試應用之間的每個硬體要求項的相容性關係。表I示出了 Mhw的例子。
權利要求
1.一種對待測試應用的測試例進行處理的方法,包括 評估至少兩個待測試應用,以確定所述至少兩個待測試應用相互之間的相容性關係; 獲取所述至少兩個待測試應用的測試例,並確定所述至少兩個待測試應用的測試例所需要的資源和執行時間; 根據所述至少兩個待測試應用之間的相容性關係、所述至少兩個待測試應用的測試例所需要的資源和執行時間,聚類所述至少兩個待測試應用的測試例到至少一個虛擬機實例,以在所述至少一個虛擬機實例上對所述至少兩個待測試應用的測試例進行測試。
2.根據權利要求I所述的方法,其中所述至少兩個待測試應用相互之間的相容性關係至少包括硬體相容性關係和軟體相容性關係中的一個。
3.根據權利要求2所述的方法,其中基於兩個待測試應用所要求的硬體的類型是否相同來確定所述兩個待測試應用之間的硬體相容性關係。
4.根據權利要求2所述的方法,其中基於兩個待測試應用所要求的軟體的類型是否相同來確定所述兩個待測試應用之間的軟體相容性關係。
5.根據權利要求4所述的方法,其中還基於兩個待測試應用所要求的具體軟體是否相同來確定所述兩個待測試應用之間的軟體相容性關係。
6.根據權利要求5所述的方法,其中還基於兩個待測試應用所要求的具體軟體的版本是否兼容來確定所述兩個待測試應用之間的軟體相容性關係。
7.根據權利要求6所述的方法,其中還基於兩個待測試應用的配置是否衝突來確定所述兩個待測試應用之間的軟體相容性關係。
8.根據權利要求7所述的方法,其中還基於兩個待測試應用中的至少一個的配置是否可修改來確定所述兩個待測試應用之間的軟體相容性關係。
9.根據權利要求I所述的方法,還包括基於某一規則,將所述至少兩個待測試應用的測試例分組,並且聚類所述至少兩個待測試應用的測試例到至少一個虛擬機實例包括以所述測試例組為粒度來聚類所述至少兩個待測試應用的測試例到至少一個虛擬機實例。
10.根據權利要求I所述的方法,其中將所述至少兩個待測試應用中相互之間的相容性關係為相容的待測試應用的測試例中相互之間所需要的資源和執行時間匹配的測試例,聚類到所述至少一個虛擬機實例。
11.一種對待測試應用的測試例進行處理的系統,包括 評估器,配置成評估至少兩個待測試應用,以確定所述至少兩個待測試應用相互之間的相容性關係; 確定器,配置成獲取所述至少兩個待測試應用的測試例,並確定所述至少兩個待測試應用的測試例所需要的資源和執行時間; 聚類器,配置成根據所述至少兩個待測試應用之間的相容性關係、所述至少兩個待測試應用的測試例所需要的資源和執行時間,聚類所述至少兩個待測試應用的測試例到至少一個虛擬機實例,以在所述至少一個虛擬機實例上對所述至少兩個待測試應用的測試例進行測試。
12.根據權利要求11所述的系統,其中所述至少兩個待測試應用相互之間的相容性關係至少包括硬體相容性關係和軟體相容性關係中的一個。
13.根據權利要求12所述的系統,其中所述評估器基於兩個待測試應用所要求的硬體的類型是否相同來確定所述兩個待測試應用之間的硬體相容性關係。
14.根據權利要求12所述的系統,其中所述評估器基於兩個待測試應用所要求的軟體的類型是否相同來確定所述兩個待測試應用之間的軟體相容性關係。
15.根據權利要求14所述的系統,其中所述評估器還基於兩個待測試應用所要求的具體 軟體是否相同來確定所述兩個待測試應用之間的軟體相容性關係。
16.根據權利要求15所述的系統,其中所述評估器還基於兩個待測試應用所要求的具體軟體的版本是否兼容來確定所述兩個待測試應用之間的軟體相容性關係。
17.根據權利要求16所述的系統,其中所述評估器還基於兩個待測試應用的配置是否衝突來確定所述兩個待測試應用之間的軟體相容性關係。
18.根據權利要求17所述的系統,其中所述評估器還基於兩個待測試應用中的至少一個的配置是否可修改來確定所述兩個待測試應用之間的軟體相容性關係。
19.根據權利要求11所述的系統,還包括 分組器,配置成基於某一規則,將所述至少兩個待測試應用的測試例分組,並且聚類器以所述測試例組為粒度來聚類所述至少兩個待測試應用的測試例到至少一個虛擬機實例。
20.根據權利要求11所述的系統,其中聚類器將所述至少兩個待測試應用中相互之間的相容性關係為相容的待測試應用的測試例中相互之間所需要的資源和執行時間匹配的測試例,聚類到所述至少一個虛擬機實例。
全文摘要
本發明公開了一種對待測試應用的測試例進行處理的方法和系統。該方法包括評估至少兩個待測試應用,以確定所述至少兩個待測試應用相互之間的相容性關係;獲取所述至少兩個待測試應用的測試例,並確定所述至少兩個待測試應用的測試例所需要的資源和執行時間;根據所述至少兩個待測試應用之間的相容性關係、所述至少兩個待測試應用的測試例所需要的資源和執行時間,聚類所述至少兩個待測試應用的測試例到至少一個虛擬機實例,以在所述至少一個虛擬機實例上對所述至少兩個待測試應用的測試例進行測試。根據本發明的各實施方式,能提高虛擬機實例的利用率。
文檔編號G06F11/36GK102736972SQ20111008574
公開日2012年10月17日 申請日期2011年3月30日 優先權日2011年3月30日
發明者何樂, 朱俊, 李中傑, 潘永高, 王慶波, 田春華, 田瑞雄 申請人:國際商業機器公司