專利名稱:一種基于事務驅動的云存儲測試方法及系統的制作方法
技術領域:
本發明涉及云計算及云存儲技術領域,特別涉及一種基于事務驅動的云存儲測 試方法及系統。
背景技術:
云計算(CloudComputing)是分布式處理(Distributed Computing)、并行處理 (Parallel Computing)和網格計算(Grid Computing)的發展,或者說是這些計算機科學概念
的商業實現。云計算的基本原理是,通過使計算分布在大量的分布式計算機上,而非本 地計算機或遠程服務器中,企業數據中心的運行將更與互聯網相似。這使得企業能夠將 資源切換到需要的應用上,根據需求訪問計算機和存儲系統。近年來,隨著云計算技術的發展,其已經滲透了到了很多IT應用領域,云存 儲也是云計算技術在存儲領域的應用與發展的一個實例,云存儲并不是一種硬件存儲設 備,而是一個由網絡設備、存儲設備、服務器、應用軟件、公用訪問接口、接入網、和 客戶端程序等多個部分組成的復雜而龐大系統,各部分以存儲設備為核心,通過應用軟 件來對外提供數據存儲和業務訪問服務,從云存儲的定義與系統結構來看,其與生俱來 就是一個復雜而龐大的系統,由此,其對自動化測試也就提出了更高的要求。自動化測試目前已廣泛應用于各種行業軟件的測試。但是能應用到云存儲的自 動測試方法并不多。從使用方式來看,主要有2類1)錄制回放式;根據錄制測試用例的執行過程,回放調試腳本,修改腳本,完 成一個可自動執行的自動化測試用例。主要用于基于WEB界面的系統。2)直接編寫關鍵字腳本。統計出各手工測試用例中的主要步驟,相似的步驟做 使用一個關鍵字,完成關鍵字的腳本開發后,由測試人員把手工測試用例轉化為自動化 測試用例。以上所述現有的自動測試方法的基本特點是基于數據驅動或者基于關鍵字驅 動,使得測試用例的每一步驟對應一行或一段的腳本代碼。現有的自動測試方法具有如 下明顯的缺點1、用例覆蓋度不高,對邊界的取值覆蓋取決于用例的設計個數;2、測試的自動化程度偏低,需要測試人員手工設計出操作步驟精確的測試用 例。
發明內容
本發明提供了一種基于事務驅動的云存儲測試方法及系統,可以實現對云存儲 的自動化測試。本發明實施例提出一種基于事務驅動的云存儲測試方法,包括如下步驟根據預先定義的用例組合規則,生成原子事務;將原子事務轉換成可以由被測云存儲系統直接執行的事務,并將所述事務發送至被測云存儲系統;監控被測云存儲系統中的CPU、內存和/或IO資源,并記錄事務執行結果;對所記錄的用例執行結果進行比對,并生成測試報告。較佳地,所述用例組合規則包括用例流程步驟、必然出現的用例及其組合、 一定不出現的用例及其組合,一定概率出現的用例及其生成概率和預置數據邊界值。較佳地,所述根據預先定義的用例組合規則,生成原子事務之前,進一步包 括從待測業務流程中選出幾條最復雜的業務流程定義成事務;把每一個所定義的事務細分成一個或多個原子事務,對原子事務進行等價類與 邊界值劃分。制定用例組合規則,流程步驟,預置數據范圍;根據測試方案,確定每個用例的出現概率及生成用例數量。本發明實施例還提出一種基于事務驅動的云存儲測試系統,該自動化測試系統 包括事務定義模塊、原子事務生成器、事務生成器、預置數據生成器、控制臺和結果 分析模塊;所述規則定義模塊用于定義用例組合規則;所述原子事務生成器用于根據規則定義模塊所定義的測試用例組合規則,自動 生成原子事務;所述預置數據生成器用于生成測試用例中需要用到的所有的測試數據,并將所 述測試數據存放到指定路徑;所述事務生成器用于把原子事務轉換為可以在被測云存儲系統上直接執行的事 務;所述控制臺用于從事務生成器中獲取測試用例,以及獲取預置數據生成器所生 成的測試數據,并將所獲取的測試用例和測試數據發送到被測云存儲系統;以及監控被 測云存儲系統中的CPU、內存和IO資源,并記錄測試用例執行結果;所述結果分析模塊用于分析控制臺所記錄的用例執行結果,生成測試報告。較佳地,所述用例組合規則包括用例流程步驟、必然出現的用例及其組合、 一定不出現的用例及其組合,一定概率出現的用例及其生成概率和預置數據邊界值。從以上技術方案可以看出,測試用例是基于事務自動生成的,而事務對應于被 測系統的一個業務流程(或子流程),測試人員無需接觸具體的數據或腳本代碼。因此, 本發明技術方案具有如下有益效果1、測試用例自動生成,覆蓋度高;2、用例的設計過程也進行了很大程度上的自動化,使整個測試流程的自動化程 度提高;3、對測試人員要求不高,不需要具有開發基礎。
圖1為本發明實施例提出的自動化測試系統示意圖;圖2為本發明實施例提出一種基于事務驅動的云存儲自動化測試方法的流程 圖。
具體實施例方式本發明實施例提出的自動化測試系統如圖1所示,自動化測試系統100包括 事務定義模塊101、原子事務生成器102、事務生成器103、預置數據生成器104、控制臺 105和結果分析模塊106。規則定義模塊101用于定義用例組合規則。其中,用例(TestCase)是為某個特 殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試某個程序路徑或核實 是否滿足某個特定需求。所述用例組合規則包括但不限于如下內容的任意組合用例流 程步驟、必然出現的用例及其組合、一定不出現的用例及其組合,一定概率出現的用例 及其生成概率,預置數據邊界值。邊界值包括最高值,最低值,是內部/外部邊界,典型值和錯誤值。原子事務生成器102 用于根據規則定義模塊101所定義的測試用例組合規則, 自動生成原子事務。比如WebDisk系統,業務規則是用戶只有登錄系統成功后才可以 下載或者上傳自己的私有文件。那么,基于這個規則有很多測試用例,而這些測試用例 有一個共同點,就是先進行登錄操作。則這個登錄操作可以定義為一個原子事務。預置數據生成器104:用于生成測試用例中需要用到的所有的測試數據,并將 所述測試數據存放到指定路徑。測試數據根據測試用例的不同而不同。舉個例子,對于 登錄上傳文件流程,測試數據包括登錄的用戶名、密碼、上傳的路徑、上傳的文件內容寸。事務生成器103 把原子事務轉換為可以在被測云存儲系統200上直接執行的事 務。事務是指軟件用戶操作步驟的序列。對于一個特定事務來說,這個操作步驟的 序列必須操作完成才有意義,中途不可中斷。自動化測試中的事務與數據庫中的事務不 同,它對應于被測試系統的一個業務流程(或子流程),,可以自行細分,如對于“登錄 上傳文件流程”,可以把整個過程定義為一個事務,也可以細分成登錄事務與上傳文件 事務,登錄事務如有必要又可以輸入用戶名、輸入密碼及提交確認三個事務。控制臺105 負責從事務生成器103中獲取測試用例,以及獲取預置數據生成器 104所生成的測試數據,并將所獲取的測試用例和測試數據發送到被測云存儲系統200 ; 被測云存儲系統200執行所收到的測試用例的過程中,控制臺105監控被測云存儲系統 200中的CPU、內存、IO等資源,并記錄測試用例執行結果。結果分析模塊106 用于分析控制臺105所記錄的用例執行結果,分類統計用例 成功與失敗的個數,生成測試報告。圖2示出了本發明實施例提出一種基于事務驅動的云存儲自動化測試方法的流 程圖,包括如下步驟步驟201 從待測業務流程中選出幾條最復雜的業務流程定義成事務;步驟202:把每一個所定義的事務細分成一個或多個原子事務,對原子事務進 行等價類與邊界值劃分。制定用例組合規則,流程步驟,預置數據范圍。在數學中,給定一個集合X和在X上的一個等價關系,則X中的一個元素a的 等價類是在X中等價于a的所有元素的子集。如“X是整數,且X <6,”,此時有2個等價類,有效等價類與無效等價類。有效等價類成員為5、4、3、2......,無效等價類,
指有效等價類之外的所有組合。邊界值指區分等價類的極值。如5,就這個關系中的有 效等價類的邊界值,而6又是其無效等價類的邊界值。步驟203:根據測試方案,確定每個用例的出現概率及生成用例數量。步驟204:在規則定義模塊101的界面中,輸入用例組合規則、流程步驟、預置 數據范圍以及用例出現概率。步驟205:原子事務生成器102產生原子事務組合輸出至事務生成器103,并輸 出用例使用的數據需求至預置數據生成器104。步驟206 預置數據生成器104根據所述數據需求,產生測試數據。測試數據為測試中需要使用的數據。例如,數據需求為生成一個長度為5的 用戶名,則預置數據生成器產生測試數據為隨機生成一個符合要求的用戶名;如數 據需求為要上傳一個< 100MB的文件,則預置數據生成器產生測試數據為創建一個 < 100MB的文件。步驟207 事務生成器103根據原子事務生成器102輸出的原子事務,產生最終 可執行的測試用例;并將所產生的測試用例以及測試數據輸出到控制臺105與結果分析 模塊106。步驟208 控制臺105負責將測試用例和測試數據發送至被測云存儲系統200, 并監控被測云存儲系統200的用例執行情況,記錄用例執行結果。步驟209 結果分析模塊106負責比對用例執行結果,生成測試報告。本發明技術方案具有如下有益效果1、測試用例自動生成,覆蓋度高;2、用例的設計過程也進行了很大程度上的自動化,使整個測試流程的自動化程 度提高;3、對測試人員要求不高,不需要具有開發基礎。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的 精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍 之內。
權利要求
1.一種基于事務驅動的云存儲測試方法,其特征在于,包括如下步驟根據預先定義的用例組合規則,生成原子事務;將原子事務轉換成可以由被測云存儲系統直接執行的事務,并將所述事務發送至被 測云存儲系統;監控被測云存儲系統中的CPU、內存和/或IO資源,并記錄事務執行結果;對所記錄的用例執行結果進行比對,并生成測試報告。
2.根據權利要求1所述的方法,其特征在于,所述用例組合規則包括用例流程步 驟、必然出現的用例及其組合、一定不出現的用例及其組合,一定概率出現的用例及其 生成概率和預置數據邊界值。
3.根據權利要求1所述的方法,其特征在于,所述根據預先定義的用例組合規則,生 成原子事務之前,進一步包括從待測業務流程中選出幾條最復雜的業務流程定義成事務;把每一個所定義的事務細分成一個或多個原子事務,對原子事務進行等價類與邊界 值劃分。制定用例組合規則,流程步驟,預置數據范圍;根據測試方案,確定每個用例的出現概率及生成用例數量。
4.一種基于事務驅動的云存儲測試系統,其特征在于,該測試系統包括事務定義 模塊、原子事務生成器、事務生成器、預置數據生成器、控制臺和結果分析模塊;所述規則定義模塊用于定義用例組合規則;所述原子事務生成器用于根據規則定義模塊所定義的測試用例組合規則,自動生成 原子事務;所述預置數據生成器用于生成測試用例中需要用到的所有的測試數據,并將所述測 試數據存放到指定路徑;所述事務生成器用于把原子事務轉換為可以在被測云存儲系統上直接執行的事務;所述控制臺用于從事務生成器中獲取測試用例,以及獲取預置數據生成器所生成的 測試數據,并將所獲取的測試用例和測試數據發送到被測云存儲系統;以及監控被測云 存儲系統中的CPU、內存和IO資源,并記錄測試用例執行結果;所述結果分析模塊用于分析控制臺所記錄的用例執行結果,生成測試報告。
5.根據權利要求4所述的測試系統,其特征在于,所述用例組合規則包括用例流 程步驟、必然出現的用例及其組合、一定不出現的用例及其組合,一定概率出現的用例 及其生成概率和預置數據邊界值。
全文摘要
本發明提供了一種基于事務驅動的云存儲測試方法,包括如下步驟根據預先定義的用例組合規則,生成原子事務;將原子事務轉換成可以由被測云存儲系統直接執行的事務,并將所述事務發送至被測云存儲系統;監控被測云存儲系統中的CPU、內存和/或IO資源,并記錄事務執行結果;對所記錄的用例執行結果進行比對,并生成測試報告。本發明還提供了一種基于事務驅動的云存儲測試系統。本發明方案可以自動生成高覆蓋度的測試用例,并大大提高測試流程的自動化程度。
文檔編號H04L12/26GK102014163SQ20101057809
公開日2011年4月13日 申請日期2010年12月8日 優先權日2010年12月8日
發明者王義杰 申請人:云海創想信息技術(北京)有限公司, 云海創想信息技術(無錫)有限公司