欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種自動化測試方法及系統(tǒng)的制作方法

文檔序號:6460285閱讀:151來源:國知局
專利名稱:一種自動化測試方法及系統(tǒng)的制作方法
技術領域
本發(fā)明涉及自動化測試技術,尤其涉及一種自動化測試方法及系統(tǒng)。
技術背景在產品研發(fā)過程中,通常需要模擬實際應用場景搭建測試環(huán)境,對產品進 行測試。在測試過程中,所述產品被稱為凈皮測對象。為了順利完成測試工作, 測試人員 一般還需要對被測對象進行配置,并操作測試設備如測試計算機、測 試儀表等所提供的測試軟件。目前,自動化測試由于在回歸測試、壓力測試、 并發(fā)測試、大數(shù)據量測試、崩潰性測試等方面具有優(yōu)勢,且測試結果具有一致 性和可重復性,具備更好的時間資源利用等特點,得到越來越廣泛的應用。使用自動化測試系統(tǒng),在測試人員搭建的測試環(huán)境上,執(zhí)行自動化測試用 例以對產品進行自動化測試,如此可以有效減少測試人員的工作量,提高測試 效率和可靠性。而對4皮測對象的配置、對測試儀表軟件或者測試軟件的操作, 并不是自動化測試用例所內嵌的功能,因此,現(xiàn)在很多測試儀廠家為測試儀軟件提供了自動化測試的接口函數(shù)庫;同時,測試軟件也可以對接口函數(shù)封裝, 成為自動化測試系統(tǒng)所支持的擴展函數(shù)庫,以實現(xiàn)與圖形界面或命令行相同的功能。自動化測試用例可以使用接口函數(shù)庫提供自動化測試接口 ,來完成底層諸 如建立鏈接、發(fā)送流量、獲得統(tǒng)計量等實際功能。對于網絡通訊設備的自動化 測試而言,還需要大量的協(xié)議編碼、解碼等其他多種函數(shù)庫支持。所述函數(shù)庫 的提供形式可以為動態(tài)鏈接庫、腳本等多種形式。對于不同的自動化測試用例, 其所需要自動化測試函數(shù)支持庫也不盡相同。自動化測試系統(tǒng)中主要涉及對于測試支持庫加載的處理,在現(xiàn)有技術中,通常的處理方法有兩種一種方法是,在自動化測試開始前,由自動化測試系統(tǒng)將所有測試支持庫 全部加載。該方法在被測對象功能比較簡單、所需測試對象函數(shù)支持庫以及測 試軟件函數(shù)支持庫較為簡單的時候,可以簡單方便的完成自動化測試任務。但 是,隨著信息技術的發(fā)展,目前很多被測對象包含的模塊越來越多,功能越來 越強大,系統(tǒng)越來越復雜,進而對于不同的模塊和功能所需要的測試手段也各 有不同,這就需要大量的被測對象函數(shù)支持庫、測試儀表函數(shù)支持庫、以及測 試工具軟件函數(shù)支持庫來完成自動化測試任務。如果自動化測試函數(shù)支持庫在 開始階段統(tǒng)一加載,雖然處理筒單,但必然需要占用大量的自動化測試資源和較長的啟動時間;而且,對特定的測試任務來說,有些函數(shù)庫根本不會被使用,所以將其加載也是完全沒有必要的。另一種對測試支持庫加載的處理方法是,由使用測試用例的測試工程師在 自動化測試開始前進4亍手工選才奪。由于測試任務中測試用例選擇的不同,其所 使用的函數(shù)支持庫也不同,因此,如果由測試工程師手工選擇,無形之中增加 了測試工程師的負擔,且需要測試工程師了解測試用例使用函數(shù)支持庫的情況。在這種方法中,如果測試工程師對函數(shù)庫冗余選擇,會造成資源浪費;而如果 測試工程師漏選了某個函數(shù)庫,則可能造成測試用例執(zhí)行的失敗。而且,對于 不同的產品、產品的不同模塊以及模塊的不同功能進行自動化測試時所需使用 的函數(shù)支持庫也不能有效進行管理。綜上所述,在現(xiàn)有的自動化測試系統(tǒng)中,并不能對自動化測試函數(shù)支持庫 進行有效地組織和管理,無法自動根據所執(zhí)行測試用例對自動化測試函數(shù)支持 庫進行動態(tài)加載和卸載;而且,即使在某些測試系統(tǒng)中由測試系統(tǒng)自行加載測 試支持庫,也會在測試開始前全部加載,造成資源的嚴重浪費,測試效率降低。發(fā)明內容有鑒于此,本發(fā)明的主要目的在于提供一種自動化測試方法和系統(tǒng),能在 執(zhí)行測試用例時自動加載測試用例所使用的函數(shù)庫,節(jié)約測試資源,提高測試效率。為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的 本發(fā)明提供了 一種自動化測試方法,該方法包括A、 確定所需卩吏用的測試用例以及各測試用例所J吏用的函數(shù)庫;B、 查找當前測試用例所使用各函數(shù)庫的函數(shù)庫信息,并根據所述函數(shù)庫 信息調用并加載各個函數(shù)庫;C、 確定各個函數(shù)庫加載成功時,調用并執(zhí)行當前測試用例;D、 確定當前測試用例之后仍存在需執(zhí)行的測試用例時,執(zhí)行步驟B,否 則,結束當前處理流程。其中,步驟C與步驟D之間進一步包括C1 、記錄當前測試用例的運^f結果、以及才丸4亍當前測試用例時所加載的函 數(shù)庫。步驟C進一步包括確定當前測試用例對應的任一函數(shù)庫加載失敗時,執(zhí)行步驟Cl。 步驟Cl與步驟D之間進一步包括依次確定當前測試用例所對應的函數(shù)庫在執(zhí)行所述當前測試用例之后的測 試用例時是否仍需使用,如果被確定的函數(shù)庫仍需使用,不清理所述被確定的 函數(shù)庫;如果被確定的函數(shù)庫不需使用但所述被確定的函數(shù)庫不支持卸載時, 不清理所述被確定的函數(shù)庫;如果被確定的函數(shù)庫不需使用且所述被確定的函 數(shù)庫支持卸載時,卸載所述一皮確定的函數(shù)庫。步驟A與步驟B之間進一步包括Al、根據各測試用例對函數(shù)庫的使用情況以及函數(shù)庫的資源占用權重,進 行測試用例執(zhí)行順序的優(yōu)化。所述確定所需卩吏用的測試用例至少確定測試用例的名稱。 所述函數(shù)庫信息至少包括函數(shù)庫的存儲路徑。本發(fā)明同時提供了一種自動化測試系統(tǒng),該系統(tǒng)包括測試任務生成模塊、 執(zhí)行模塊、測試用例庫模塊、函數(shù)庫動態(tài)處理模塊、函數(shù)庫管理模塊以及函數(shù)庫模塊,其中,測試任務生成模塊,用于確定所需使用的測試用例,并從測試用例庫模塊 中查找各個測試用例執(zhí)行時所使用的函數(shù)庫名稱,并將上述信息發(fā)送給執(zhí)行模 塊;執(zhí)行模塊,用于將測試任務生成模塊發(fā)來的所述信息發(fā)送給函數(shù)庫動態(tài)處理模塊;還用于接收到函數(shù)庫動態(tài)處理模塊返回的函數(shù)庫加載成功信息后,從 測試用例庫模塊中調用并執(zhí)行相應的測試用例;測試用例庫模塊,用于存儲測試用例以及各測試用例所使用的函數(shù)庫相關信息,并在執(zhí)行模塊調用測試用例時,將相應的測試用例發(fā)送給執(zhí)行模塊;在 測試任務生成模塊查找測試用例對應的函數(shù)庫時,將相應的函數(shù)庫的名稱發(fā)送 給測試任務生成模塊;函數(shù)庫動態(tài)處理模塊,用于根據測試用例對應的函數(shù)庫名稱,從函數(shù)庫管 理模塊中獲取各個函數(shù)庫的函數(shù)庫信息,并根據所述函數(shù)庫信息從函數(shù)庫模塊 中調用并加載各個函數(shù)庫,當所述函數(shù)庫加載成功后,向執(zhí)行模塊返回函數(shù)庫 加載成功信息;函數(shù)庫管理模塊,用于存儲各個函數(shù)庫對應的函數(shù)庫信息,并在函數(shù)庫動 態(tài)處理模塊獲取函數(shù)庫信息時,反饋相應的函數(shù)庫信息;函數(shù)庫模塊,用于存儲各個函數(shù)庫,并在函數(shù)庫動態(tài)處理模塊調用函數(shù)庫 時,返回相應的函數(shù)庫。其中,執(zhí)行模塊進一步用于當前測試用例執(zhí)行完成后,記錄當前測試用 例的運行結果,并發(fā)送當前測試用例執(zhí)行完成消息給函數(shù)庫動態(tài)處理模塊;函數(shù)庫動態(tài)處理模塊進一步用于接收到所述當前測試用例執(zhí)行完成消息 后,卸載當前測試用例所對應的函數(shù)庫中,當前測試用例之后的測試用例執(zhí)行 中不需使用且支持卸載的函數(shù)庫;還用于記錄已加載、或卸載的函數(shù)庫。函數(shù)庫動態(tài)處理模塊進一步包括函數(shù)庫加載記錄表管理模塊、動態(tài)加載 模塊以及動態(tài)清理模塊,其中,動態(tài)加載模塊,用于根據測試用例對應的函數(shù)庫名稱獲取其中各個函數(shù)庫的函數(shù)庫信息,并根據所述函數(shù)庫信息加載各個函數(shù)庫,并在每個函數(shù)庫加載 成功后,向函數(shù)庫加載記錄表管理模塊發(fā)送相應的函數(shù)庫信息;當執(zhí)行當前測試用例所需使用的所有函數(shù)庫加載成功后,向執(zhí)行模塊返回加載成功信號;動態(tài)清理模塊,接收到所述當前測試用例執(zhí)行完成消息后,卸載當前測試 用例所對應的函數(shù)庫中,當前測試用例之后的測試用例執(zhí)行中不需使用且支持 卸載的函數(shù)庫,并在每個函數(shù)庫卸載成功時,向函數(shù)庫加載記錄表管理模塊發(fā) 送相應的函數(shù)庫信息;函數(shù)庫加載記錄表管理模塊,用于接收到所述函數(shù)庫信息后,相應的記錄 已經加載、或卸載的各函數(shù)庫信息。測試任務生成模塊進一步用于從測試用例庫^^莫塊查找函數(shù)庫對應的資源 占用權重,之后,對測試用例執(zhí)行順序進行優(yōu)化;相應的,測試用例庫;t莫塊進一步用于測試任務生成^t塊查找函數(shù)庫對應 的資源占用權重時,將相應的信息發(fā)送給測試任務生成模塊。測試任務生成模塊進一步用于從函數(shù)庫管理模塊查找函數(shù)庫對應的資源 占用權重,之后,對測試用例執(zhí)行順序進行優(yōu)化;相應的,函數(shù)庫管理才莫塊進一步用于測試任務生成模塊查找函數(shù)庫對應 的資源占用權重時,將相應的信息發(fā)送給測試任務生成模塊。本發(fā)明所提供的自動化測試方法和系統(tǒng),在執(zhí)行過程中,自動加載執(zhí)行當 前測試用例所使用的函lt庫,提高了測試效率。每執(zhí)行一個測試用例,加載該 測試用例所對應的函凄i:庫,而不必在測試開始時,加載所有測試用例所對應的 函數(shù)庫,從而減少了測試資源的占用,縮短了測試的啟動時間,進一步提高了 測試效率。在每個測試用例4丸行完成后,卸載該測試用例所依賴的函數(shù)庫中, 該測試用例之后的測試用例執(zhí)行中不需使用且支持卸載的函數(shù)庫,進一步減少 了測試過程中測試資源的占用。本發(fā)明根據各測試用例對函數(shù)庫的使用情況、以及函數(shù)庫的資源占用權重 進行測試用例執(zhí)行順序的優(yōu)化,所使用的相同函數(shù)庫占用資源較多的測試用例 優(yōu)先執(zhí)行,之后,卸載所述函數(shù)庫,從而將該函數(shù)庫所占用的資源釋放掉,進一步節(jié)省了測試資源,提高了測試效率。


圖1為本發(fā)明自動化測試方法流程示意圖; 圖2為本發(fā)明自動化測試系統(tǒng)結構示意圖; 圖3為本發(fā)明函數(shù)庫管理組織示意圖。
具體實施方式
本發(fā)明的基本思想是確定所需使用的測試用例,并確定測試用例所使用 的函數(shù)庫;依次執(zhí)行各測試用例,每個測試用例的執(zhí)行步驟為獲取當前測試 用例所使用的各個函數(shù)庫的函數(shù)庫信息,并根據所述函數(shù)庫信息加載各個函數(shù) 庫;確定各個函數(shù)庫加載成功時,調用并執(zhí)行當前測試用例。以下通過具體實施例結合附圖詳細說明本發(fā)明自動化測試方法和系統(tǒng)的實現(xiàn)。圖1為本發(fā)明自動化測試方法流程示意圖,如圖1所示,該方法包括 步驟101:確定所需使用的測試用例。在實際實現(xiàn)過程中,可以將確定后的測試用例生成測試任務列表,以存儲 所述測試用例,所述測試任務列表中至少包括各個測試用例的名稱。本步驟中,所述確定可以為向用戶提供相應的測試用例選擇界面,由用 戶選擇所需使用的測試用例。進一步地,具體如何實現(xiàn)所述選擇界面、以及如何生成所述測試任務列表 屬于公知技術,這里不再贅述。步驟102:分別查找各個測試用例執(zhí)行時所需使用的函數(shù)庫名稱。在實際實現(xiàn)過程中,可以將查找得到的所述函數(shù)庫名稱加入到所述測試任 務列表中,或者為每一個測試用例建立一個對應的依賴庫列表,以存儲對應測 試用例執(zhí)行時所需使用的函數(shù)庫。在具體實現(xiàn)時,所述測試任務列表、或依賴 庫列表中至少包括測試用例名稱、以及測試用例在執(zhí)行時所需使用的函數(shù)庫的名稱。本步驟中,所述查找可以才艮據測試用例的名稱作為索引進行查找。而且, 具體在何處查找所述函數(shù)庫名稱,根據所述測試用例對應函數(shù)庫的存儲方式、 以及實現(xiàn)方式的不同,可以啦支適應性改變。例如,可以將所有測試用例對應函 數(shù)庫信息存儲于一個列表中,則在本步驟中將會在所述列表中查找所需使用的 各個測試用例對應的函數(shù)庫的名稱。具體如何實現(xiàn)所述查找、具體如何生成所 述測試任務列表、以及如何將所述函數(shù)庫名稱添加到所述測試用例列表中屬于 公知技術,這里不再贅述。步驟103:根據各測試用例對函數(shù)庫的使用情況、以及函數(shù)庫的資源占用 權重進行測試用例執(zhí)行順序的優(yōu)化,生成新的測試任務列表。其中,每個函數(shù)庫所對應的資源占用權重根據經驗值進行預先設定,可以 在步驟102中進行函數(shù)庫名稱的查找時,同時查找所述函數(shù)庫的資源占用權重信息。所述優(yōu)化可以為盡量將使用某個相同函數(shù)庫的多個測試用例進行集中,例。例如,某一個函數(shù)庫運行時占用資源較多,則優(yōu)先把使用到這個函數(shù)庫的 測試用例集中到一起,將這些測試用例運行后,就可以把該函數(shù)庫在步驟109 中進行卸載,從而將該函數(shù)庫所占用的資源釋放掉,節(jié)省測試資源,提高測試效率。其中,步驟103為可選步驟。另外,具體如何實現(xiàn)所述優(yōu)化屬于公知技術,這里不再贅述。從步驟104~步驟111,開始測試用例的執(zhí)行過程,其中,每個測試用例的 執(zhí)行均需循環(huán)執(zhí)行一次步驟104 ~步驟111。在下述步驟104 ~步驟111的描述 中,所述當前測試用例為當前正在^M亍的測試用例。步驟104:根據當前測試用例所需使用的各個函數(shù)庫的名稱,獲取各個函 數(shù)庫的函數(shù)庫信息。所述函數(shù)庫信息至少包括函數(shù)庫的存儲路徑。其中,具體如何獲取所述函數(shù)庫信息屬于公知技術,這里不再贅述。步驟105:根據所述函數(shù)庫信息加載當前測試用例所需使用的各個函數(shù)庫。其中,具體如何加載所述函數(shù)庫可使用現(xiàn)有技術中的相關技術,這里不再贅述。步驟106:判斷當前測試用例所需使用的各個函數(shù)庫是否加載成功,即 判斷該測試用例執(zhí)行函數(shù)庫環(huán)境是否成功建立,如果成功,則執(zhí)行步驟107; 如果失敗,則執(zhí)行步驟108。其中,當任一個函數(shù)庫未加載成功時,均認為當前測試用例執(zhí)行函數(shù)庫環(huán)境未成功建立,此時,判斷結果為失敗。具體如何判斷所述函數(shù)庫是否加載成功可使用現(xiàn)有技術中的相關技術,這里不再贅述。步驟107:調用并執(zhí)行當前測試用例。步驟108:記錄當前測試用例的運行結果、以及執(zhí)行當前測試用例時所加載的函數(shù)庫。如果本步驟為步驟106后轉來執(zhí)行的步驟,則測試用例的運行結杲可以表 示為未執(zhí)行;如果本步驟為步驟107后執(zhí)行的步驟,則測試用例的運行結果可 以表示為已執(zhí)行。在實現(xiàn)過程中,具體如何記錄上述信息可以使用現(xiàn)有相關技 術,由相關人員自主設定,這里不再贅述。而且,記錄執(zhí)行當前測試用例所加 載的函數(shù)庫可以在步驟105后執(zhí)行,此時,本步驟中只需記錄當前測試用例的 運行結果。步驟109:依次判斷當前測試用例執(zhí)行時所加載的各函數(shù)庫在執(zhí)行位于當 前測試用例之后的測試用例時,是否需要使用到,如果需要,則不清理相應的 函數(shù)庫,之后,繼續(xù)執(zhí)行步驟109,對下一個數(shù)據庫進行判斷,如果當前被判 斷的函數(shù)庫為最后一個進行所述判斷的數(shù)據庫,則執(zhí)行步驟]11;如果被判斷 的數(shù)據庫不再需要使用到,則執(zhí)行步驟IIO。其中,當測試用例未成功執(zhí)行時,即步驟106中判斷為失敗時,本步驟仍 需執(zhí)行,因為在步驟105中已進行了當前測試用例所對應的函數(shù)庫的加載。而且,本步驟中可以只判斷步驟108中所記錄的所述執(zhí)行當前測試用例所加載的 函數(shù)庫,無需判斷當前已經加載的每一個函數(shù)庫。其中,在圖l所示的實施例中,步驟102中已得到各個測試用例所需使用的函數(shù)庫名稱,則本步驟中,只需分別搜索位于當前測試用例之后執(zhí)行的測試用例所對應的函數(shù)庫中是否存在被確定的函數(shù)庫即可?;蛘?,當步驟102中未 確定出所有測試用例對應的函數(shù)庫名稱時,在本步驟中可分別確定位于當前測 試用例之后執(zhí)行的測試用例所對應的函數(shù)庫名稱,之后再進行所述函數(shù)庫的搜索。步驟110:判斷該函數(shù)庫是否支持卸載,如果是,卸載相應的函數(shù)庫,之 后,執(zhí)行步驟lll;如果否,則執(zhí)行步驟109,對下一個函數(shù)庫進行判斷,直到 執(zhí)行當前測試用例所加載的所有的函數(shù)庫均判斷完畢,之后,執(zhí)行步驟lll。由步驟109~ IIO可以看出,步驟109~步驟IIO是一個以函數(shù)庫為單位的 循環(huán),對于依賴庫列表中的函數(shù)庫進行依次判斷。步驟111:判斷是否還存在需執(zhí)行的測試用例,如果存在,則執(zhí)行步驟104, 進行下一個測試用例執(zhí)行所需使用的函數(shù)庫的調用,并執(zhí)行后續(xù)步驟;如果不 存在,測試任務執(zhí)行結束。由步驟111可以看出,步驟104 ~步驟111是以測試用例依賴庫列表中的 每一個測試用例為單位循環(huán)執(zhí)行的,即每個測試用例的運行均需要執(zhí)行步驟 104 ~步驟111的循環(huán)。其中,步驟103、 108~ IIO為可選步驟。圖2為本發(fā)明自動化測試系統(tǒng)結構示意圖,如圖2所示,該系統(tǒng)包括測 試任務生成模塊210、執(zhí)行模塊220、測試用例庫模塊230、函數(shù)庫動態(tài)處理模 塊240、函數(shù)庫管理模塊250、以及函數(shù)庫模塊260,其中,測試任務生成模塊210,用于確定所需使用的測試用例,從測試用例庫模 塊230中查找各個測試用例執(zhí)行時所需使用的函數(shù)庫名稱,并將上述信息發(fā)送 給執(zhí)行模塊220。其中,測試任務生成模塊210還用于對測試用例執(zhí)行順序進行優(yōu)化,則發(fā)送給執(zhí)行模塊220的所述信息中的測試用例為優(yōu)化執(zhí)行順序后的測試用例。其中,由于對測試用例執(zhí)行順序進行優(yōu)化時,需要根據各測試用例對函數(shù) 庫的使用情況、以及函數(shù)庫的資源占用權重進行所述優(yōu)化,因此,在測試任務 生成模塊210進行所述優(yōu)化前,需根據函數(shù)庫所對應的函數(shù)庫占用權重所保存 的位置,相應查找函數(shù)庫所對應的所述占用權重信息。例如,函數(shù)庫所對應的函數(shù)庫占用權重可以保存在測試用例庫模塊230、或函數(shù)庫管理模塊250中, 相應的,測試任務生成模塊210進一步用于從測試用例庫模塊230、或函數(shù)庫 管理模塊250中查找函數(shù)庫所對應的資源占用權重。另外,在圖2所述實施例的實現(xiàn)過程中,測試用例可以用測試任務列表等 的方式實現(xiàn),則測試任務生成模塊210只需將生成的相應的列表發(fā)送給執(zhí)行模 塊220即可。這里,并不限制各個模塊之間所交互信息的實現(xiàn)方式。執(zhí)行模塊220,用于將測試任務生成模塊210發(fā)來的所述信息發(fā)送給函數(shù) 庫動態(tài)處理模塊240;還用于接收到函數(shù)庫動態(tài)處理4莫塊240返回的函數(shù)庫加 載成功信息后,從測試用例庫模塊230中調用并執(zhí)行相應的測試用例,所述當 前測試用例執(zhí)行完成后,記錄當前測試用例的運行結果以及當前測試用例對應 各函數(shù)庫加載情況,并發(fā)送當前測試用例執(zhí)行完成消息給函數(shù)庫動態(tài)處理模塊 240。測試用例庫才莫塊230,用于存儲測試用例以及各測試用例所4吏用的函數(shù)庫, 并在執(zhí)行模塊220調用測試用例時,將相應的測試用例發(fā)送給執(zhí)行模塊220; 在測試任務生成模塊210查找測試用例對應的函數(shù)庫時,將相應的函數(shù)庫的名 稱發(fā)送給測試任務生成模塊210;還用于測試任務生成模塊查找函數(shù)庫對應的 資源占用權重時,將相應的信息發(fā)送給測試任務生成模塊。函數(shù)庫動態(tài)處理模塊240,用于根據測試用例對應的函數(shù)庫名稱,從函數(shù) 庫管理模塊250中獲取各個函數(shù)庫的函數(shù)庫信息,并才艮據所述函數(shù)庫信息從函 數(shù)庫模塊260中調用并加載各個函數(shù)庫,記錄加載成功的函數(shù)庫;并且,當執(zhí) 行當前測試用例所需使用的所有函數(shù)庫加載成功后,向執(zhí)行模塊220返回函數(shù) 庫加載成功信息;還用于接收到所述當前測試用例執(zhí)4亍完成消息后,卸載當前測試用例所使用的函數(shù)庫中,當前測試用例之后的測試用例執(zhí)行中不需使用且 支持卸載的函數(shù)庫,并記錄卸載成功的函數(shù)庫。其中,函數(shù)庫動態(tài)處理模塊240在實現(xiàn)過程中,也可以由三個模塊來實現(xiàn), 分別是函數(shù)庫加載記錄表管理模塊、動態(tài)加載模塊和動態(tài)清理模塊,其中,動態(tài)加載模塊,用于根據測試用例對應的函數(shù)庫名稱獲取各個函數(shù)庫的函 數(shù)庫信息,并根據所述函數(shù)庫信息加載各個函數(shù)庫,并在每個函數(shù)庫加載成功后,向函數(shù)庫加載記錄表管理模塊發(fā)送相應的函數(shù)庫信息;當執(zhí)行當前測試用 例所需使用的所有函數(shù)庫加載成功后,向執(zhí)行模塊220返回加載成功信息;動態(tài)清理模塊,接收到所述當前測試用例執(zhí)行完成消息后,卸載當前測試 用例所對應的函數(shù)庫中,當前測試用例之后的測試用例執(zhí)行中不需使用且支持 卸載的函數(shù)庫,并在每個函數(shù)庫卸載成功后,向函數(shù)庫加載記錄表管理模塊發(fā) 送相應的函數(shù)庫信息;函數(shù)庫加載記錄表管理模塊,用于記錄系統(tǒng)中已經加載、或卸載的各函數(shù) 庫的信息。當動態(tài)加載模塊成功加載一個函數(shù)庫時,將該函數(shù)庫的信息發(fā)送給 函數(shù)庫加載記錄表管理模塊,函數(shù)庫加載記錄表管理模塊相應的記錄該函數(shù)庫 信息;當動態(tài)清理模塊成功卸載一個函數(shù)庫時,將該函數(shù)庫的信息發(fā)送給函數(shù) 庫加載記錄表管理模塊,函數(shù)庫加載記錄表管理模塊相應記錄該函數(shù)庫信息, 其中,這里的記錄卸載的函數(shù)庫信息也可以為直接刪除該卸載的函數(shù)庫對應的 信息。函數(shù)庫管理模塊250,用于存儲各個函數(shù)庫對應的函數(shù)庫信息,并在函數(shù) 庫動態(tài)處理模塊240獲取時,反饋相應的函數(shù)庫信息;還用于測試任務生成模 塊查找函數(shù)庫對應的資源占用權重時,將相應的信息發(fā)送給測試任務生成模塊。函數(shù)庫模塊260,用于存儲各個函數(shù)庫,并在函數(shù)庫動態(tài)處理模塊240調 用函數(shù)庫,返回相應的函數(shù)庫。其中,對于函數(shù)庫模塊260的實現(xiàn),可以對各種不同的函數(shù)庫進行分級管 理。如圖3所示,可以提取全局測試用例都可能會使用到的,如測試儀表函數(shù) 庫或者可以全局測試用例復用的自動化測試用例資源,進入全局公共庫進行管理;而對于和特定產品相關的,比如測試用例中對特定待測設備產品進行配置 的函數(shù)支持庫、或特定產品范圍內可以復用的自動化測試資源等, 一起放入產 品公共庫進行管理,如圖3所示,還可以根據測試的不同產品分為產品A公共庫、產品B公共庫以及產品C公共庫等;把測試產品中某模塊的接口函數(shù)庫、 或者可以復用的自動化測試資源進行提取,如某個模塊的報文協(xié)議編解碼函數(shù) 等放入模塊公共庫進行管理,同樣可以根據測試模塊的不同,分為模塊I公共 庫、模塊II公共庫等;在模塊公共庫之下,還可以進一步劃分,這里不再贅述。 將函數(shù)庫進行分級管理可以有序組織系統(tǒng)中不斷增加的各種函數(shù)支持庫,而且 可以更好實現(xiàn)自動化測試資源的復用。其中,在實際實現(xiàn)中,函數(shù)庫管理模塊250與函數(shù)庫模塊260之間也可以 實現(xiàn)信息交互,即配置函數(shù)庫模塊260中各個函數(shù)庫的函數(shù)庫信息,由函數(shù) 庫管理模塊250存儲相應的函數(shù)庫信息。在具體實現(xiàn)過程,上述模塊之間的信 息交互可以使用現(xiàn)有相關技術完成,這里不再贅述。其中,測試用例一般以文件、或數(shù)據庫等方式存儲于測試用例庫230中, 而函數(shù)庫一般以例如腳本文件、動態(tài)鏈接庫(DLL)或者軟件包方式存儲于函 數(shù)庫模塊260中,但是,在實際應用中可以自主設定所述測試用例、函數(shù)庫的 儲存方式,這里并不限定。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權利要求
1、一種自動化測試方法,其特征在于,該方法包括A、確定所需使用的測試用例以及各測試用例所使用的函數(shù)庫;B、查找當前測試用例所使用各函數(shù)庫的函數(shù)庫信息,并根據所述函數(shù)庫信息調用并加載各個函數(shù)庫;C、確定各個函數(shù)庫加載成功時,調用并執(zhí)行當前測試用例;D、確定當前測試用例之后仍存在需執(zhí)行的測試用例時,執(zhí)行步驟B,否則,結束當前處理流程。
2、 根據權利要求1所述的自動化測試方法,其特征在于,步驟C與步驟D 之間進一步包括Cl、記錄當前測試用例的運行結果、以及執(zhí)4亍當前測試用例時所加載的函數(shù)庫。
3、 根據權利要求2所述的自動化測試方法,其特征在于,步驟C進一步 包括確定當前測試用例對應的任一函數(shù)庫加載失敗時,執(zhí)行步驟Cl。
4、 根據權利要求2或3所述的自動化測試方法,其特征在于,步驟C1與 步驟D之間進一步包括依次確定當前測試用例所對應的函數(shù)庫在執(zhí)行所述當前測試用例之后的測 試用例時是否仍需使用,如果被確定的函數(shù)庫仍需使用,不清理所述被確定的 函數(shù)庫;如果被確定的函數(shù)庫不需使用但所述被確定的函數(shù)庫不支持卸載時, 不清理所述被確定的函數(shù)庫;如果被確定的函數(shù)庫不需使用且所述被確定的函 數(shù)庫支持卸載時,卸載所述被確定的函數(shù)庫。
5、 根據權利要求1至3任一項所述的自動化測試方法,其特征在于,步驟 A與步驟B之間進一步包括Al、根據各測試用例對函數(shù)庫的使用情況以及函數(shù)庫的資源占用權重,進 行測試用例執(zhí)行順序的優(yōu)化。
6、 根據權利要求1至3任一項所述的自動化測試方法,其特征在于,所述確定所需使用的測試用例至少確定測試用例的名稱。
7、 根據權利要求1至3任一項所述的自動化測試方法,其特征在于,所述 函數(shù)庫信息至少包括函數(shù)庫的存儲路徑。
8、 一種自動化測試系統(tǒng),其特征在于,該系統(tǒng)包括測試任務生成模塊、 執(zhí)行模昧、測試用例庫模塊、函數(shù)庫動態(tài)處理模塊、函數(shù)庫管理模塊以及函數(shù) 庫模塊,其中,測試任務生成模塊,用于確定所需使用的測試用例,并從測試用例庫模塊 中查找各個測試用例執(zhí)行時所使用的函數(shù)庫名稱,并將上述信息發(fā)送給執(zhí)行模 塊;執(zhí)行模塊,用于將測試任務生成模塊發(fā)來的所述信息發(fā)送給函數(shù)庫動態(tài)處 理模塊;還用于接收到函數(shù)庫動態(tài)處理模塊返回的函數(shù)庫加載成功信息后,從 測試用例庫才莫塊中調用并執(zhí)4于相應的測試用例;測試用例庫模塊,用于存儲測試用例以及各測試用例所使用的函數(shù)庫相關 信息,并在執(zhí)行模塊調用測試用例時,將相應的測試用例發(fā)送給執(zhí)行模塊;在 測試任務生成模塊查找測試用例對應的函數(shù)庫時,將相應的函數(shù)庫的名稱發(fā)送 給測試任務生成模塊;函數(shù)庫動態(tài)處理模塊,用于根據測試用例對應的函數(shù)庫名稱,從函數(shù)庫管 理模塊中獲取各個函數(shù)庫的函數(shù)庫信息,并根據所述函數(shù)庫信息從函數(shù)庫模塊 中調用并加載各個函數(shù)庫,當所述函數(shù)庫加載成功后,向執(zhí)行^^塊返回函數(shù)庫 加載成功〗言息;函數(shù)庫管理模塊,用于存儲各個函數(shù)庫對應的函數(shù)庫信息,并在函數(shù)庫動 態(tài)處理模塊獲取函數(shù)庫信息時,反饋相應的函數(shù)庫信息;函數(shù)庫模塊,用于存儲各個函數(shù)庫,并在函數(shù)庫動態(tài)處理模塊調用函數(shù)庫 時,返回相應的函l史庫。
9、 根據權利要求8所述的自動化測試系統(tǒng),其特征在于,執(zhí)行模塊進一步 用于當前測試用例執(zhí)行完成后,記錄當前測試用例的運行結果,并發(fā)送當前測試用例執(zhí)行完成消息給函數(shù)庫動態(tài)處理模塊;函數(shù)庫動態(tài)處理模塊進一步用于接收到所述當前測試用例執(zhí)行完成消息后,卸載當前測試用例所對應的函凄t庫中,當前測試用例之后的測試用例4丸行中不需使用且支持卸載的函數(shù)庫;還用于記錄已加載、或卸載的函數(shù)庫。
10、 根據權利要求9所述的自動化測試系統(tǒng),其特征在于,函數(shù)庫動態(tài)處 理模塊進一步包括函數(shù)庫加載記錄表管理模塊、動態(tài)加載模塊以及動態(tài)清理 模塊,其中,動態(tài)加載模塊,用于根據測試用例對應的函數(shù)庫名稱獲取其中各個函數(shù)庫 的函數(shù)庫信息,并根據所述函數(shù)庫信息加載各個函數(shù)庫,并在每個函數(shù)庫加載 成功后,向函數(shù)庫加載記錄表管理模塊發(fā)送相應的函數(shù)庫信息;當執(zhí)行當前測 試用例所需使用的所有函數(shù)庫加載成功后,向執(zhí)行模塊返回加載成功信號;動態(tài)清理模塊,接收到所述當前測試用例執(zhí)行完成消息后,卸載當前測試 用例所對應的函數(shù)庫中,當前測試用例之后的測試用例執(zhí)行中不需使用且支持 卸載的函數(shù)庫,并在每個函數(shù)庫卸載成功時,向函數(shù)庫加載記錄表管理模塊發(fā) 送相應的函數(shù)庫信息;函數(shù)庫加載記錄表管理模塊,用于接收到所述函數(shù)庫信息后,相應的記錄 已經加載、或卸載的各函數(shù)庫信息。
11、 根據權利要求8至IO任一項所述的自動化測試系統(tǒng),其特征在于,測 試任務生成模塊進一步用于從測試用例庫模塊查找函數(shù)庫對應的資源占用權 重,之后,對測試用例4丸行順序進行優(yōu)化;相應的,測試用例庫模塊進一步用于測試任務生成模塊查找函數(shù)庫對應 的資源占用權重時,將相應的信息發(fā)送給測試任務生成^f莫塊。
12、 根據權利要求8至10任一項所述的自動化測試系統(tǒng),其特征在于,測 試任務生成模塊進一步用于從函數(shù)庫管理模塊查找函數(shù)庫對應的資源占用權 重,之后,對測試用例4丸行順序進行優(yōu)化;相應的,函數(shù)庫管理;漠塊進一步用于測試任務生成模塊查找函數(shù)庫對應 的資源占用權重時,將相應的信息發(fā)送給測試任務生成模塊。
全文摘要
本發(fā)明提供了一種自動化測試方法,該方法包括A.確定所需使用的測試用例,并查找各測試用例所使用的函數(shù)庫;B.查找當前測試用例所使用各函數(shù)庫的函數(shù)庫信息,并根據所述函數(shù)庫信息調用并加載各個函數(shù)庫;C.確定各個函數(shù)庫加載成功時,調用并執(zhí)行當前測試用例;D.確定當前測試用例之后仍存在需執(zhí)行的測試用例時,執(zhí)行步驟B,否則,當前流程結束。本發(fā)明同時提供了一種自動化測試系統(tǒng),該方法和系統(tǒng)自動加載測試用例所使用的函數(shù)庫,且能夠節(jié)約測試資源,提高測試效率。
文檔編號G06F11/36GK101226502SQ20081005758
公開日2008年7月23日 申請日期2008年2月3日 優(yōu)先權日2008年2月3日
發(fā)明者劉宗昌, 史穎春, 樊志強, 沙金剛 申請人:中興通訊股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宣恩县| 如皋市| 阜平县| 四会市| 全椒县| 建阳市| 凉山| 德昌县| 连山| 土默特右旗| 长治县| 德化县| 安阳县| 兴业县| 开江县| 宣恩县| 西安市| 文水县| 惠安县| 泰和县| 沛县| 澄城县| 成武县| 泾源县| 双流县| 山阳县| 屏东县| 独山县| 偃师市| 彭阳县| 故城县| 腾冲县| 鄂州市| 抚远县| 同德县| 东辽县| 滨州市| 当涂县| 普兰店市| 临泉县| 鲜城|