專(zhuān)利名稱(chēng):一種基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域中的自動(dòng)化測(cè)試技術(shù),特別是涉及一種基于優(yōu)先 級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng)及其方法。
背景技術(shù):
隨著數(shù)據(jù)通信行業(yè)的迅猛發(fā)展,測(cè)試方法和手段也多種多樣。目前測(cè)試方 法主要分為手工測(cè)試和自動(dòng)化測(cè)試兩大類(lèi)。手工測(cè)試的優(yōu)點(diǎn)是靈活多變,適應(yīng)性比較強(qiáng);缺點(diǎn)是可重復(fù)性不強(qiáng),隨意性比較大。對(duì)于大量測(cè)試任務(wù)需要多次 重復(fù)測(cè)試時(shí),就會(huì)顯得枯燥、乏味,而且低效。自動(dòng)化測(cè)試則是目前測(cè)試行業(yè) 中的發(fā)展方向,對(duì)于冒煙測(cè)試和回歸測(cè)試以及大規(guī)模的各種性能測(cè)試都有著比 手工測(cè)試高得多的效率。而現(xiàn)有的各種測(cè)試儀設(shè)備、測(cè)試工具,被測(cè)和數(shù)據(jù)通信設(shè)備也多種多樣, 如何能夠又快又好地利用自動(dòng)化測(cè)試系統(tǒng)來(lái)管理好各種測(cè)試設(shè)備或測(cè)試工具 對(duì)各種被測(cè)系統(tǒng)進(jìn)行有效地測(cè)試是擺在面前的一個(gè)重要問(wèn)題,這也是自動(dòng)化測(cè) 試成敗的關(guān)鍵。傳統(tǒng)的自動(dòng)化測(cè)試系統(tǒng),如圖1所示,系統(tǒng)200包括自動(dòng)化測(cè)試系統(tǒng)管 理平臺(tái)100、被測(cè)設(shè)備91、測(cè)試設(shè)備(或測(cè)試工具)92。其中自動(dòng)化測(cè)試系統(tǒng) 管理平臺(tái)100又包括測(cè)試用例庫(kù)管理模塊10、測(cè)試用例維護(hù)模塊20、函數(shù)庫(kù) 30、測(cè)試計(jì)劃模塊40、工程拓?fù)渑渲媚K50、測(cè)試工程管理模塊51、執(zhí)行控 制模塊80、測(cè)試報(bào)告及日志生成模塊110。在這樣的系統(tǒng)中,每次生成一個(gè)測(cè) 試計(jì)劃,根據(jù)測(cè)試計(jì)劃形成一個(gè)工程,執(zhí)行控制模塊80去執(zhí)行工程里面的測(cè) 試用例,最后得到測(cè)試日志并形成測(cè)試報(bào)告。在這樣的自動(dòng)化測(cè)試系統(tǒng)中存在如下一些問(wèn)題al)設(shè)備的利用率不高。在一個(gè)平臺(tái)中只能夠同時(shí)利用一套測(cè)試環(huán)境來(lái)進(jìn) 行測(cè)試,不能夠同時(shí)利用其它閑置的測(cè)試環(huán)境。這對(duì)測(cè)試資源造成了極大的浪 費(fèi)。a2)測(cè)試任務(wù)執(zhí)行周期長(zhǎng)。雖然自動(dòng)化測(cè)試比手工測(cè)試快得多,但是自動(dòng) 化測(cè)試也是需要花費(fèi)時(shí)間的,特別是當(dāng)測(cè)試任務(wù)比較大的時(shí)候。有的時(shí)候需要 測(cè)試一個(gè)測(cè)試版本所有的功能,這時(shí)候需要執(zhí)行的測(cè)試用例數(shù)目非常巨大,滿(mǎn) 負(fù)荷運(yùn)行可能測(cè)試長(zhǎng)達(dá)若干天的時(shí)間。在測(cè)試任務(wù)時(shí)間緊時(shí)顯然是不滿(mǎn)足要求 的,嚴(yán)重影響了測(cè)試的效率。a3)各個(gè)測(cè)試系統(tǒng)間是沒(méi)有關(guān)聯(lián)的。有一些被測(cè)系統(tǒng)中各個(gè)功能模塊之間 存在一定的制約關(guān)系。當(dāng)某些關(guān)鍵的模塊測(cè)試失敗時(shí),其它模塊繼續(xù)測(cè)試就沒(méi) 有意義了。比如說(shuō)在測(cè)試路由協(xié)議時(shí),要求三層功能首先是正常的,這是路由 協(xié)議測(cè)試的必要條件,如果這時(shí)候直連三層接口都不通,再進(jìn)行路由協(xié)議的測(cè) 試就毫無(wú)意義,浪費(fèi)了寶貴的時(shí)間。這時(shí)候需要做的工作是及時(shí)停止測(cè)試,查 找問(wèn)題原因。發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問(wèn)題在于提供一種基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自 動(dòng)化測(cè)試系統(tǒng)及其方法,用于解決現(xiàn)有技術(shù)中在自動(dòng)測(cè)試時(shí)設(shè)備的利用率不 高、測(cè)試任務(wù)執(zhí)行周期長(zhǎng)以及測(cè)試系統(tǒng)間沒(méi)有關(guān)聯(lián)而出現(xiàn)無(wú)效測(cè)試的問(wèn)題。為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化 測(cè)試系統(tǒng),包括用于管理及制定測(cè)試內(nèi)容的測(cè)試計(jì)劃模塊、用于對(duì)測(cè)試環(huán)境進(jìn) 行拓?fù)渑渲眉肮芾頊y(cè)試環(huán)境的基本信息的工程拓?fù)渑渲媚K、用于生成測(cè)試曰 志和/或測(cè)試報(bào)告的測(cè)試報(bào)告及日志生成模塊、負(fù)責(zé)執(zhí)行多個(gè)所述測(cè)試環(huán)境的 執(zhí)行控制模塊;其特征在于,還包括執(zhí)行控制管理模塊,連接所述執(zhí)行控制模塊、所述工程拓?fù)渑渲媚K、所 述測(cè)試報(bào)告及日志生成模塊,用于根據(jù)測(cè)試用例組的優(yōu)先級(jí)控制所述執(zhí)行控制 模塊在所述測(cè)試環(huán)境中優(yōu)先運(yùn)行優(yōu)先級(jí)較高的測(cè)試用例組,并當(dāng)所述優(yōu)先級(jí)相 同時(shí),并行運(yùn)行相應(yīng)的測(cè)試用例組。所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng),其中,所述執(zhí)行控制模塊進(jìn)一步包括通信管理模塊,連接所述執(zhí)行控制管理模塊,用于通過(guò)與所述執(zhí)行控制管 理模塊通信控制測(cè)試用例組的執(zhí)行進(jìn)程;測(cè)試用例執(zhí)行模塊,連接所述通信管理模塊,用于負(fù)責(zé)所述測(cè)試用例的執(zhí)行工作;測(cè)試報(bào)告日志管理模塊,連接所述測(cè)試用例執(zhí)行模塊,用于記錄當(dāng)前測(cè)試 用例的執(zhí)行過(guò)程、執(zhí)行結(jié)果。所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng),其中,所述執(zhí)行控制 管理模塊進(jìn)一步包括任務(wù)執(zhí)行調(diào)度模塊,用于管理、維護(hù)任務(wù)隊(duì)列的調(diào)度;測(cè)試環(huán)境管理模塊,連接所述任務(wù)執(zhí)行調(diào)度模塊,負(fù)責(zé)與所述測(cè)試環(huán)境的 通信管理,維護(hù)、監(jiān)控所述執(zhí)行控制模塊,通過(guò)與所述測(cè)試報(bào)告及日志生成模 塊交互向所述任務(wù)執(zhí)行調(diào)度模塊提供任務(wù)隊(duì)列調(diào)度所需的測(cè)試結(jié)果信息。所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng),其中,所述測(cè)試計(jì)劃 模塊為所述測(cè)試用例組分配優(yōu)先級(jí),并按照優(yōu)先級(jí)分配原則將所述測(cè)試用例組 分配到各個(gè)工程中,將優(yōu)先級(jí)相同的測(cè)試用例組分配到不同的工程中,再由所 述工程拓?fù)渑渲媚K為各個(gè)工程配置相應(yīng)的拓?fù)洵h(huán)境;所述執(zhí)行控制管理模塊根據(jù)各個(gè)工程中的測(cè)試用例組的優(yōu)先級(jí),生成本次 測(cè)試任務(wù)的測(cè)試用例組優(yōu)先級(jí)隊(duì)列,并根據(jù)所述測(cè)試用例組的優(yōu)先級(jí)控制所述 執(zhí)行控制模塊執(zhí)行所述測(cè)試用例組。所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng),其中,所述執(zhí)行控制 模塊從所述測(cè)試用例組優(yōu)先級(jí)隊(duì)列中取出優(yōu)先級(jí)最高的測(cè)試用例組向所述執(zhí) 行控制管理模塊請(qǐng)求測(cè)試任務(wù),并根據(jù)所述執(zhí)行控制管理模塊發(fā)送的命令類(lèi) 型,執(zhí)行不同處理當(dāng)命令類(lèi)型為等待命令時(shí),所述執(zhí)行控制模塊進(jìn)入等待狀態(tài);或當(dāng)命令類(lèi)型為退出測(cè)試命令時(shí),所述執(zhí)行控制模塊結(jié)束本次測(cè)試,并清空任務(wù)執(zhí)行優(yōu)先級(jí)隊(duì)列;或當(dāng)命令類(lèi)型為同意執(zhí)行測(cè)試用例命令時(shí),所述執(zhí)行控制模塊執(zhí)行該優(yōu)先級(jí) 最高的測(cè)試用例組,并將該優(yōu)先級(jí)最高的測(cè)試用例組從所述任務(wù)執(zhí)行優(yōu)先級(jí)隊(duì) 列中清除,將該優(yōu)先級(jí)最高的測(cè)試用例組的狀態(tài)設(shè)置為測(cè)試中。所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng),其中,所述執(zhí)行控制 管理模塊根據(jù)所述執(zhí)行控制模塊請(qǐng)求的測(cè)試任務(wù),查詢(xún)所述測(cè)試用例優(yōu)先級(jí)隊(duì) 列,判斷所述測(cè)試任務(wù)是否為優(yōu)先級(jí)最高的測(cè)試用例組,若不是,則向所述執(zhí) 行控制模塊發(fā)送等待命令;若是,則進(jìn)一步判斷比所述測(cè)試任務(wù)具有更高優(yōu)先級(jí)的測(cè)試用例組是否測(cè)試完畢,若未測(cè)試完畢,則向所述執(zhí)行控制模塊發(fā)送等 待命令;若測(cè)試完畢,則進(jìn)一步判斷測(cè)試完畢的測(cè)試用例組是否通過(guò),若未通 過(guò),則向所述執(zhí)行控制模塊發(fā)送退出測(cè)試命令;若通過(guò),則向所述執(zhí)行控制模塊發(fā)送同意執(zhí)行測(cè)試用例命令。為了實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試方法,其特征在于,包括步驟一,為各個(gè)工程中測(cè)試用例組分配優(yōu)先級(jí),根據(jù)所述測(cè)試用例組的優(yōu) 先級(jí)生成測(cè)試用例組優(yōu)先級(jí)隊(duì)列;步驟二,根據(jù)所述測(cè)試用例組的優(yōu)先級(jí)在測(cè)試環(huán)境中優(yōu)先運(yùn)行所述測(cè)試用 例組優(yōu)先級(jí)隊(duì)列中優(yōu)先級(jí)較高的測(cè)試用例組,并當(dāng)所述優(yōu)先級(jí)相同時(shí),并行運(yùn)行相應(yīng)的測(cè)試用例組;步驟三,根據(jù)測(cè)試用例組運(yùn)行結(jié)果生成測(cè)試日志和/或測(cè)試結(jié)果。 所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試方法,其中,所述歩驟一中,進(jìn)一步包括在分配優(yōu)先級(jí)后,根據(jù)所述測(cè)試用例組為各個(gè)工程配置相應(yīng)的拓?fù)洵h(huán)境的 步驟。所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試方法,其中,所述步驟二中, 進(jìn)一步包括對(duì)從所述測(cè)試用例組優(yōu)先級(jí)隊(duì)列中取出的優(yōu)先級(jí)最高的測(cè)試用例組,請(qǐng)求 測(cè)試任務(wù),并根據(jù)響應(yīng)所述請(qǐng)求的命令類(lèi)型,執(zhí)行不同處理的步驟 當(dāng)命令類(lèi)型為等待命令時(shí),進(jìn)入等待狀態(tài);或當(dāng)命令類(lèi)型為退出測(cè)試命令時(shí),結(jié)束本次測(cè)試,并清空任務(wù)執(zhí)行優(yōu)先級(jí)隊(duì) 列;或當(dāng)命令類(lèi)型為同意執(zhí)行測(cè)試用例命令時(shí),執(zhí)行該優(yōu)先級(jí)最高的測(cè)試用例 組,并將該優(yōu)先級(jí)最高的測(cè)試用例組從所述任務(wù)執(zhí)行優(yōu)先級(jí)隊(duì)列中清除,將該 優(yōu)先級(jí)最高的測(cè)試用例組的狀態(tài)設(shè)置為測(cè)試中。所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試方法,其中,所述步驟二中, 進(jìn)一步包括通過(guò)査詢(xún)所述測(cè)試用例優(yōu)先級(jí)隊(duì)列,判斷當(dāng)前測(cè)試任務(wù)是否為優(yōu)先級(jí)最高 的測(cè)試用例組的步驟;若不是,則發(fā)送等待命令,指示等待測(cè)試;若是,則進(jìn)一步判斷比所述當(dāng) 前測(cè)試任務(wù)具有更高優(yōu)先級(jí)的測(cè)試用例組是否測(cè)試完畢,若未測(cè)試完畢,則發(fā) 送等待命令,指示等待測(cè)試;若測(cè)試完畢,則進(jìn)一步判斷測(cè)試完畢的測(cè)試用例 組是否通過(guò),若未通過(guò),則發(fā)送退出測(cè)試命令,指示退出本次測(cè)試;若通過(guò), 則發(fā)送同意執(zhí)行測(cè)試用例命令,指示執(zhí)行所述當(dāng)前測(cè)試任務(wù)。本發(fā)明的有益技術(shù)效果與現(xiàn)有技術(shù)相比,本發(fā)明提出了一種基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè) 試系統(tǒng)及其方法,其可以并行控制多個(gè)自動(dòng)化測(cè)試環(huán)境同時(shí)工作,大大提高了 測(cè)試效率,充分利用了測(cè)試資源,提高了資源利用率;各個(gè)并行運(yùn)行的測(cè)試環(huán) 境的執(zhí)行任務(wù)又相互制約,及時(shí)避免無(wú)效測(cè)試的發(fā)生,提高了測(cè)試的有效性。 具體體現(xiàn)在如下幾個(gè)方面bl)設(shè)備的利用率高。在一個(gè)平臺(tái)中可以同時(shí)運(yùn)行控制至少一套測(cè)試環(huán)境 來(lái)進(jìn)行測(cè)試,各套測(cè)試環(huán)境可以并行運(yùn)行,執(zhí)行不同的腳本,能夠充分利用現(xiàn) 有的設(shè)備。b2)大大縮短了任務(wù)執(zhí)行周期。由于各個(gè)測(cè)試環(huán)境同時(shí)進(jìn)行運(yùn)行,大大提 高了測(cè)試效率。b3)各個(gè)測(cè)試系統(tǒng)間是有關(guān)聯(lián)的。它們可以同時(shí)執(zhí)行優(yōu)先級(jí)相同的測(cè)試用例,當(dāng)優(yōu)先級(jí)高的測(cè)試用例未執(zhí)行完成時(shí),低優(yōu)先級(jí)的測(cè)試用例不能執(zhí)行。這 樣就有效避免了低優(yōu)先級(jí)測(cè)試用例的無(wú)效測(cè)試,提高了測(cè)試的有效性。以下結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述,但不作為對(duì)本發(fā)明的 限定。
圖1是現(xiàn)有技術(shù)中線(xiàn)性執(zhí)行自動(dòng)化測(cè)試系統(tǒng)結(jié)構(gòu)框架圖;圖2是本發(fā)明基于優(yōu)先級(jí)的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng)的結(jié)構(gòu)框架圖;圖3是本發(fā)明執(zhí)行控制管理模塊的結(jié)構(gòu)框架圖;圖4是本發(fā)明執(zhí)行控制模塊的結(jié)構(gòu)框架圖;圖5是本發(fā)明基于優(yōu)先級(jí)的并行執(zhí)行自動(dòng)化測(cè)試方法流程圖;圖6是本發(fā)明執(zhí)行控制流程圖;圖7是本發(fā)明任務(wù)執(zhí)行控制管理流程圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步更詳細(xì)的描述。如圖2所示,是本發(fā)明基于優(yōu)先級(jí)的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng)的結(jié)構(gòu)框架 圖。該系統(tǒng)200包括自動(dòng)化測(cè)試系統(tǒng)管理平臺(tái)100、被測(cè)設(shè)備91,測(cè)試設(shè)備 /測(cè)試工具92。進(jìn)一步地,自動(dòng)化測(cè)試系統(tǒng)管理平臺(tái)100又包括測(cè)試用例庫(kù)管理模塊10、測(cè)試用例維護(hù)模塊20、函數(shù)庫(kù)30、測(cè)試計(jì)劃模塊40、工程拓?fù)渑渲媚K 50、工程60、執(zhí)行控制管理模塊70、執(zhí)行控制模塊80、測(cè)試報(bào)告及日志生成 模塊110。測(cè)試用例庫(kù)管理模塊10,主要負(fù)責(zé)測(cè)試用例庫(kù)的管理,保證當(dāng)前測(cè)試用例版本的一致性。測(cè)試用例維護(hù)模塊20,主要負(fù)責(zé)測(cè)試用例的編輯、維護(hù)。函數(shù)庫(kù)30,包括系統(tǒng)函數(shù)庫(kù)、公用函數(shù)庫(kù)、測(cè)試儀函數(shù)庫(kù)的一種或多種。測(cè)試計(jì)劃模塊40,負(fù)責(zé)管理制定本次測(cè)試的測(cè)試內(nèi)容,為各個(gè)測(cè)試用例分配優(yōu)先級(jí)。工程拓?fù)渑渲媚K50,負(fù)責(zé)對(duì)各個(gè)測(cè)試環(huán)境進(jìn)行拓?fù)渑渲?,管理被測(cè)設(shè) 備91的基本信息,如登陸的IP地址、物理地址、端口號(hào)序列;管理測(cè)試設(shè)備 /測(cè)試工具92的基本信息,如登陸的IP地址、槽位號(hào)、端口號(hào)。工程60,是用于正在執(zhí)行的測(cè)試用例的一個(gè)子集,它可以包括整個(gè)測(cè)試 用例庫(kù),也可以是測(cè)試用例庫(kù)的一部分。它是被計(jì)劃執(zhí)行的測(cè)試用例。可以對(duì) 工程60進(jìn)行編輯、修改,也可以對(duì)工程60里面的測(cè)試用例進(jìn)行編輯、修改。 在工程60里面對(duì)測(cè)試用例進(jìn)行的編輯和修改會(huì)自動(dòng)同步到相應(yīng)的測(cè)試用例庫(kù) 中。執(zhí)行控制管理模塊70,其功能是管理各執(zhí)行控制模塊80的運(yùn)行。優(yōu)先運(yùn) 行優(yōu)先級(jí)高的測(cè)試用例(或測(cè)試用例組),當(dāng)優(yōu)先級(jí)高的測(cè)試用例(或測(cè)試用 例組)未運(yùn)行完畢時(shí),低優(yōu)先級(jí)的測(cè)試用例(或測(cè)試用例組)不能運(yùn)行。同級(jí) 測(cè)試用例(或測(cè)試用例組)可以并行運(yùn)行。執(zhí)行控制模塊80,負(fù)責(zé)每個(gè)具體測(cè)試環(huán)境的執(zhí)行工作,包括測(cè)試用例在執(zhí)行時(shí)按照預(yù)訂的執(zhí)行流程加載各種相關(guān)數(shù)據(jù)庫(kù),執(zhí)行各種類(lèi)型的腳本文 件,測(cè)試用例運(yùn)行過(guò)程中的監(jiān)控,測(cè)試結(jié)果的判斷,以及通過(guò)調(diào)用測(cè)試報(bào)告及 日志生成模塊110生成測(cè)試日志和/或測(cè)試報(bào)告。被測(cè)設(shè)備91、測(cè)試設(shè)備/測(cè)試工具92共同構(gòu)成了測(cè)試環(huán)境。執(zhí)行控制模塊 80控制被測(cè)設(shè)備91、測(cè)試設(shè)備/測(cè)試工具92去執(zhí)行相應(yīng)的操作。控制被測(cè)設(shè) 備91和測(cè)試設(shè)備/測(cè)試工具92之間,及與執(zhí)行控制模塊80之間進(jìn)行數(shù)據(jù)和命 令信息的交互。測(cè)試報(bào)告及日志生成模塊IIO,生成測(cè)試日志,和/或在測(cè)試完成后形成測(cè) 試報(bào)告。如圖3所示,是本發(fā)明執(zhí)行控制管理模塊的結(jié)構(gòu)框架圖。該圖給出了自動(dòng) 化測(cè)試系統(tǒng)中的重要組成模塊一執(zhí)行控制管理模塊70的結(jié)構(gòu),包括任務(wù)執(zhí) 行調(diào)度模塊71、測(cè)試環(huán)境管理模塊72兩部分。任務(wù)執(zhí)行調(diào)度模塊71,完成的功能是管理、維護(hù)任務(wù)隊(duì)列的調(diào)度。基于 任務(wù)的優(yōu)先級(jí)和上級(jí)任務(wù)、同級(jí)任務(wù)的執(zhí)行情況,來(lái)決定當(dāng)前任務(wù)是否執(zhí)行。測(cè)試環(huán)境管理模塊72,負(fù)責(zé)與各個(gè)執(zhí)行環(huán)境的通信管理,維護(hù)、監(jiān)控測(cè) 試執(zhí)行控制模塊80,負(fù)責(zé)與測(cè)試報(bào)告及日志生成模塊UO的交互,為任務(wù)執(zhí) 行調(diào)度模塊71提供任務(wù)隊(duì)列調(diào)度所需的測(cè)試結(jié)果信息。如圖4所示,是本發(fā)明執(zhí)行控制模塊的結(jié)構(gòu)框架圖。該圖給出了自動(dòng)化測(cè) 試系統(tǒng)中的重要組成模塊一執(zhí)行控制模塊80的結(jié)構(gòu),包括通信管理模塊81、 測(cè)試報(bào)告日志管理模塊82、測(cè)試用例執(zhí)行模塊83 。通信管理模塊81,負(fù)責(zé)與執(zhí)行控制管理模塊70通信,從而控制測(cè)試用例 組的執(zhí)行進(jìn)程。測(cè)試報(bào)告日志管理模塊82,負(fù)責(zé)記錄當(dāng)前測(cè)試用例的執(zhí)行過(guò)程,執(zhí)行的 結(jié)果,以便于執(zhí)行控制管理模塊70對(duì)結(jié)果的查詢(xún),從而控制測(cè)試用例組的執(zhí) 行進(jìn)程。測(cè)試用例執(zhí)行模塊83,負(fù)責(zé)每個(gè)測(cè)試用例的執(zhí)行工作。如圖5所示,是本發(fā)明基于優(yōu)先級(jí)的并行執(zhí)行自動(dòng)化測(cè)試方法流程圖。該流程描述了自動(dòng)化測(cè)試系統(tǒng)進(jìn)行測(cè)試的具體實(shí)施步驟,具體是步驟S501,工程拓?fù)渑渲媚K50依據(jù)各個(gè)測(cè)試用例組對(duì)其它用例組的影響大小分配優(yōu)先級(jí),影響大的優(yōu)先級(jí)高,影響小或者沒(méi)有影響的優(yōu)先級(jí)低。將測(cè)試計(jì)劃中的測(cè)試用例組分到各個(gè)工程,同一工程中測(cè)試用例的拓?fù)湟驮摴?程匹配。該步驟中,分配原則是將優(yōu)先級(jí)相同的測(cè)試用例組分配到不同的工程中。 這樣優(yōu)先級(jí)相同的測(cè)試用例就可以在不同測(cè)試環(huán)境中同時(shí)運(yùn)行。步驟S502,工程拓?fù)渑渲媚K50根據(jù)測(cè)試用例組為工程配置相應(yīng)的拓?fù)洵h(huán)境。該步驟中,拓?fù)洵h(huán)境包括拓?fù)浣Y(jié)構(gòu)、測(cè)試儀/測(cè)試工具基本信息、被測(cè) 設(shè)備的基本信息等等。步驟S503,執(zhí)行控制管理模塊70根據(jù)各個(gè)工程中的測(cè)試用例組優(yōu)先級(jí)生 成本次測(cè)試任務(wù)的測(cè)試用例組優(yōu)先級(jí)隊(duì)列。該步驟中,優(yōu)先級(jí)高的排在隊(duì)列前面優(yōu)先執(zhí)行,優(yōu)先級(jí)低的排在隊(duì)列后面 執(zhí)行。步驟S504,執(zhí)行控制模塊80根據(jù)工程中的測(cè)試用例組向執(zhí)行控制管理模 塊70請(qǐng)求測(cè)試任務(wù)。步驟S505,執(zhí)行控制管理模塊70查詢(xún)測(cè)試用例組優(yōu)先級(jí)隊(duì)列中更高優(yōu)先 級(jí)測(cè)試用例組的測(cè)試結(jié)果,若測(cè)試完畢且測(cè)試結(jié)果通過(guò),則可以允許請(qǐng)求的測(cè) 試用例組進(jìn)行測(cè)試。步驟S506,執(zhí)行控制管理模塊70查詢(xún)測(cè)試用例組優(yōu)先級(jí)隊(duì)列,檢査當(dāng)前 請(qǐng)求的測(cè)試用例組的優(yōu)先級(jí)是否最高,如果優(yōu)先級(jí)是最高,且步驟S505也通 過(guò),則執(zhí)行控制管理模塊70向執(zhí)行控制模塊80發(fā)送可以執(zhí)行請(qǐng)求測(cè)試用例組 命令。步驟S507,執(zhí)行控制模塊80調(diào)用測(cè)試用例庫(kù)中的相應(yīng)測(cè)試用例腳本進(jìn)行 自動(dòng)化測(cè)試。步驟S508,執(zhí)行控制模塊80生成測(cè)試日志和/或測(cè)試結(jié)果。如圖6所示,是本發(fā)明執(zhí)行控制流程圖。該流程描述了在執(zhí)行控制模塊80中基于優(yōu)先級(jí)的測(cè)試用例執(zhí)行流程,具體包括步驟S601,訪(fǎng)問(wèn)工程中測(cè)試用例組優(yōu)先級(jí)隊(duì)列。判斷該優(yōu)先級(jí)隊(duì)列是否為空,若優(yōu)先級(jí)隊(duì)列不為空,則進(jìn)行步驟S602;若為空,則執(zhí)行步驟S606,退出本次測(cè)試。步驟S602,從測(cè)試用例組優(yōu)先級(jí)隊(duì)列中取出優(yōu)先級(jí)最高的測(cè)試用例組向執(zhí)行控制管理模塊70請(qǐng)求測(cè)試任務(wù)。步驟S603,判斷執(zhí)行控制管理模塊70是否發(fā)出同意執(zhí)行該測(cè)試用例組命 令,若是,則轉(zhuǎn)入步驟S605,否則進(jìn)入步驟S604。步驟S604,進(jìn)一步判斷執(zhí)行控制管理模塊70發(fā)出的命令是等待命令還是 退出測(cè)試命令;若執(zhí)行控制管理模塊70發(fā)出等待命令,則執(zhí)行控制模塊80進(jìn)入等待狀態(tài), 等待值數(shù)量級(jí)以分鐘計(jì)算,并進(jìn)入步驟S602;若執(zhí)行控制管理模塊70發(fā)出退出測(cè)試命令,則執(zhí)行控制模塊80結(jié)束本次 所有測(cè)試,清空任務(wù)執(zhí)行優(yōu)先級(jí)隊(duì)列,轉(zhuǎn)入步驟S606。步驟S605,執(zhí)行該測(cè)試用例組,將它從任務(wù)執(zhí)行優(yōu)先隊(duì)列中清除,設(shè)置 狀態(tài)為"正在執(zhí)行",并轉(zhuǎn)入步驟S601。步驟S606,退出測(cè)試。如圖7所示,是本發(fā)明任務(wù)執(zhí)行控制管理流程圖。該流程描述了一種基于 優(yōu)先級(jí)的并行的測(cè)試用例組管理流程,具體包括 步驟S701,生成測(cè)試用例組優(yōu)先級(jí)隊(duì)列。步驟S702,執(zhí)行控制模塊80以測(cè)試用例組為單位請(qǐng)求測(cè)試任務(wù)。 步驟S703,查詢(xún)測(cè)試用例組優(yōu)先級(jí)隊(duì)列,當(dāng)前請(qǐng)求的測(cè)試任務(wù)是否為該 優(yōu)先級(jí)隊(duì)列中最高優(yōu)先級(jí)任務(wù)。若不是最高優(yōu)先級(jí)任務(wù),則要求執(zhí)行控制模塊 80進(jìn)入等待狀態(tài);若是最高優(yōu)先級(jí)任務(wù),則進(jìn)入下一步驟S704。步驟S704,査詢(xún)比當(dāng)前請(qǐng)求的測(cè)試任務(wù)具有更高優(yōu)先級(jí)的測(cè)試用例組是 否測(cè)試完畢。若未測(cè)試完畢,則要求執(zhí)行控制模塊80進(jìn)入等待狀態(tài);若已測(cè) 試完畢,則進(jìn)入下一步驟S705。步驟S705,查詢(xún)已經(jīng)執(zhí)行完畢的具有更高優(yōu)先級(jí)的測(cè)試用例組是否通過(guò)。 若未通過(guò),則退出本次測(cè)試,結(jié)束所有任務(wù),完成測(cè)試;若已經(jīng)通過(guò),則同意 執(zhí)行該測(cè)試用例組。步驟S706,將該測(cè)試用例組的狀態(tài)設(shè)置為"測(cè)試中"。 本發(fā)明通過(guò)在一個(gè)統(tǒng)一的自動(dòng)化測(cè)試系統(tǒng)平臺(tái)中可并行控制多個(gè)自動(dòng)化 測(cè)試環(huán)境同時(shí)工作,大大提高了測(cè)試效率,提高了資源利用率;各個(gè)并行運(yùn)行 的多套測(cè)試環(huán)境在執(zhí)行控制模塊的控制下基于優(yōu)先級(jí)相互制約,可以及時(shí)避免 測(cè)試結(jié)果的大量失敗而導(dǎo)致無(wú)效測(cè)試,從而提高自動(dòng)化測(cè)試的效率和有效性。當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情 況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但 這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng),包括用于管理及制定測(cè)試內(nèi)容的測(cè)試計(jì)劃模塊、用于對(duì)測(cè)試環(huán)境進(jìn)行拓?fù)渑渲眉肮芾頊y(cè)試環(huán)境的基本信息的工程拓?fù)渑渲媚K、用于生成測(cè)試日志和/或測(cè)試報(bào)告的測(cè)試報(bào)告及日志生成模塊、負(fù)責(zé)執(zhí)行多個(gè)所述測(cè)試環(huán)境的執(zhí)行控制模塊;其特征在于,還包括執(zhí)行控制管理模塊,連接所述執(zhí)行控制模塊、所述工程拓?fù)渑渲媚K、所述測(cè)試報(bào)告及日志生成模塊,用于根據(jù)測(cè)試用例組的優(yōu)先級(jí)控制所述執(zhí)行控制模塊在所述測(cè)試環(huán)境中優(yōu)先運(yùn)行優(yōu)先級(jí)較高的測(cè)試用例組,并當(dāng)所述優(yōu)先級(jí)相同時(shí),并行運(yùn)行相應(yīng)的測(cè)試用例組。
2、 根據(jù)權(quán)利要求1所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng), 其特征在于,所述執(zhí)行控制模塊進(jìn)一步包括通信管理模塊,連接所述執(zhí)行控制管理模塊,用于通過(guò)與所述執(zhí)行控制管 理模塊通信控制測(cè)試用例組的執(zhí)行進(jìn)程;測(cè)試用例執(zhí)行模塊,連接所述通信管理模塊,用于負(fù)責(zé)所述測(cè)試用例的執(zhí) 行工作;測(cè)試報(bào)告日志管理模塊,連接所述測(cè)試用例執(zhí)行模塊,用于記錄當(dāng)前測(cè)試 用例的執(zhí)行過(guò)程、執(zhí)行結(jié)果。
3、 根據(jù)權(quán)利要求2所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng), 其特征在于,所述執(zhí)行控制管理模塊進(jìn)一步包括.-任務(wù)執(zhí)行調(diào)度模塊,用于管理、維護(hù)任務(wù)隊(duì)列的調(diào)度; 測(cè)試環(huán)境管理模塊,連接所述任務(wù)執(zhí)行調(diào)度模塊,負(fù)責(zé)與所述測(cè)試環(huán)境的 通信管理,維護(hù)、監(jiān)控所述執(zhí)行控制模塊,通過(guò)與所述測(cè)試報(bào)告及日志生成模 塊交互向所述任務(wù)執(zhí)行調(diào)度模塊提供任務(wù)隊(duì)列調(diào)度所需的測(cè)試結(jié)果信息。
4、 根據(jù)權(quán)利要求1或2或3所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè) 試系統(tǒng),其特征在于,所述測(cè)試計(jì)劃模塊為所述測(cè)試用例組分配優(yōu)先級(jí),并按 照優(yōu)先級(jí)分配原則將所述測(cè)試用例組分配到各個(gè)工程中,將優(yōu)先級(jí)相同的測(cè)試 用例組分配到不同的工程中,再由所述工程拓?fù)渑渲媚K為各個(gè)工程配置相應(yīng) 的拓?fù)洵h(huán)境;所述執(zhí)行控制管理模塊根據(jù)各個(gè)工程中的測(cè)試用例組的優(yōu)先級(jí),生成本次 測(cè)試任務(wù)的測(cè)試用例組優(yōu)先級(jí)隊(duì)列,并根據(jù)所述測(cè)試用例組的優(yōu)先級(jí)控制所述 執(zhí)行控制模塊執(zhí)行所述測(cè)試用例組。
5、 根據(jù)權(quán)利要求4所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng), 其特征在于,所述執(zhí)行控制模塊從所述測(cè)試用例組優(yōu)先級(jí)隊(duì)列中取出優(yōu)先級(jí)最 高的測(cè)試用例組向所述執(zhí)行控制管理模塊請(qǐng)求測(cè)試任務(wù),并根據(jù)所述執(zhí)行控制 管理模塊發(fā)送的命令類(lèi)型,執(zhí)行不同處理當(dāng)命令類(lèi)型為等待命令時(shí),所述執(zhí)行控制模塊進(jìn)入等待狀態(tài);或 當(dāng)命令類(lèi)型為退出測(cè)試命令時(shí),所述執(zhí)行控制模塊結(jié)束本次測(cè)試,并清空 任務(wù)執(zhí)行優(yōu)先級(jí)隊(duì)列;或當(dāng)命令類(lèi)型為同意執(zhí)行測(cè)試用例命令時(shí),所述執(zhí)行控制模塊執(zhí)行該優(yōu)先級(jí) 最高的測(cè)試用例組,并將該優(yōu)先級(jí)最高的測(cè)試用例組從所述任務(wù)執(zhí)行優(yōu)先級(jí)隊(duì) 列中清除,將該優(yōu)先級(jí)最高的測(cè)試用例組的狀態(tài)設(shè)置為測(cè)試中。
6、 根據(jù)權(quán)利要求5所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng),其特征在于,所述執(zhí)行控制管理模塊根據(jù)所述執(zhí)行控制模塊請(qǐng)求的測(cè)試任務(wù), 查詢(xún)所述測(cè)試用例優(yōu)先級(jí)隊(duì)列,判斷所述測(cè)試任務(wù)是否為優(yōu)先級(jí)最高的測(cè)試用例組,若不是,則向所述執(zhí)行控制模塊發(fā)送等待命令;若是,則進(jìn)一步判斷比 所述測(cè)試任務(wù)具有更高優(yōu)先級(jí)的測(cè)試用例組是否測(cè)試完畢,若未測(cè)試完畢,則 向所述執(zhí)行控制模塊發(fā)送等待命令;若測(cè)試完畢,則進(jìn)一步判斷測(cè)試完畢的測(cè) 試用例組是否通過(guò),若未通過(guò),則向所述執(zhí)行控制模塊發(fā)送退出測(cè)試命令;若 通過(guò),則向所述執(zhí)行控制模塊發(fā)送同意執(zhí)行測(cè)試用例命令。
7、 一種基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試方法,其特征在于,包括 歩驟一,為各個(gè)工程中測(cè)試用例組分配優(yōu)先級(jí),根據(jù)所述測(cè)試用例組的優(yōu)先級(jí)生成測(cè)試用例組優(yōu)先級(jí)隊(duì)列;步驟二,根據(jù)所述測(cè)試用例組的優(yōu)先級(jí)在測(cè)試環(huán)境中優(yōu)先運(yùn)行所述測(cè)試用 例組優(yōu)先級(jí)隊(duì)列中優(yōu)先級(jí)較高的測(cè)試用例組,并當(dāng)所述優(yōu)先級(jí)相同時(shí),并行運(yùn) 行相應(yīng)的測(cè)試用例組;步驟三,根據(jù)測(cè)試用例組運(yùn)行結(jié)果生成測(cè)試日志和/或測(cè)試結(jié)果。
8、 根據(jù)權(quán)利要求7所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試方法, 其特征在于,所述歩驟一中,進(jìn)一步包括在分配優(yōu)先級(jí)后,根據(jù)所述測(cè)試用例組為各個(gè)工程配置相應(yīng)的拓?fù)洵h(huán)境的 步驟。
9、 根據(jù)權(quán)利要求7或8所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試方法,其特征在于,所述步驟二中,進(jìn)一步包括對(duì)從所述測(cè)試用例組優(yōu)先級(jí)隊(duì)列中取出的優(yōu)先級(jí)最高的測(cè)試用例組,請(qǐng)求 測(cè)試任務(wù),并根據(jù)響應(yīng)所述請(qǐng)求的命令類(lèi)型,執(zhí)行不同處理的步驟-當(dāng)命令類(lèi)型為等待命令時(shí),進(jìn)入等待狀態(tài);或當(dāng)命令類(lèi)型為退出測(cè)試命令時(shí),結(jié)束本次測(cè)試,并清空任務(wù)執(zhí)行優(yōu)先級(jí)隊(duì) 列;或當(dāng)命令類(lèi)型為同意執(zhí)行測(cè)試用例命令時(shí),執(zhí)行該優(yōu)先級(jí)最高的測(cè)試用例 組,并將該優(yōu)先級(jí)最高的測(cè)試用例組從所述任務(wù)執(zhí)行優(yōu)先級(jí)隊(duì)列中清除,將該 優(yōu)先級(jí)最高的測(cè)試用例組的狀態(tài)設(shè)置為測(cè)試中。
10、 根據(jù)權(quán)利要求9所述的基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試方法, 其特征在于,所述步驟二中,進(jìn)一步包括通過(guò)査詢(xún)所述測(cè)試用例優(yōu)先級(jí)隊(duì)列,判斷當(dāng)前測(cè)試任務(wù)是否為優(yōu)先級(jí)最高 的測(cè)試用例組的步驟;若不是,則發(fā)送等待命令,指示等待測(cè)試;若是,則進(jìn)一步判斷比所述當(dāng) 前測(cè)試任務(wù)具有更高優(yōu)先級(jí)的測(cè)試用例組是否測(cè)試完畢,若未測(cè)試完畢,則發(fā) 送等待命令,指示等待測(cè)試;若測(cè)試完畢,則進(jìn)一步判斷測(cè)試完畢的測(cè)試用例 組是否通過(guò),若未通過(guò),則發(fā)送退出測(cè)試命令,指示退出本次測(cè)試;若通過(guò), 則發(fā)送同意執(zhí)行測(cè)試用例命令,指示執(zhí)行所述當(dāng)前測(cè)試任務(wù)。
全文摘要
本發(fā)明公開(kāi)了一種基于優(yōu)先級(jí)調(diào)度的并行執(zhí)行自動(dòng)化測(cè)試系統(tǒng)及其方法,該系統(tǒng)包括用于管理及制定測(cè)試內(nèi)容的測(cè)試計(jì)劃模塊、用于對(duì)測(cè)試環(huán)境進(jìn)行拓?fù)渑渲眉肮芾頊y(cè)試環(huán)境的基本信息的工程拓?fù)渑渲媚K、用于生成測(cè)試日志和/或測(cè)試報(bào)告的測(cè)試報(bào)告及日志生成模塊、負(fù)責(zé)執(zhí)行多個(gè)測(cè)試環(huán)境的執(zhí)行控制模塊;還包括執(zhí)行控制管理模塊,連接執(zhí)行控制模塊、工程拓?fù)渑渲媚K、測(cè)試報(bào)告及日志生成模塊,用于根據(jù)測(cè)試用例組的優(yōu)先級(jí)控制執(zhí)行控制模塊在測(cè)試環(huán)境中優(yōu)先運(yùn)行優(yōu)先級(jí)較高的測(cè)試用例組,并當(dāng)優(yōu)先級(jí)相同時(shí),并行運(yùn)行相應(yīng)的測(cè)試用例組。本發(fā)明大大提高了測(cè)試效率,提高了資源利用率;及時(shí)避免無(wú)效測(cè)試的發(fā)生,提高了測(cè)試的有效性。
文檔編號(hào)H04L12/26GK101227350SQ20081005759
公開(kāi)日2008年7月23日 申請(qǐng)日期2008年2月3日 優(yōu)先權(quán)日2008年2月3日
發(fā)明者李素林, 樊志強(qiáng), 鄒宗惠 申請(qǐng)人:中興通訊股份有限公司