專(zhuān)利名稱(chēng)::一種分布式自動(dòng)化測(cè)試系統(tǒng)及其方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及自動(dòng)化測(cè)試領(lǐng)域,尤其涉及一種分布式自動(dòng)化測(cè)試系統(tǒng)及其方法。
背景技術(shù):
:在目前自動(dòng)化測(cè)試領(lǐng)域,分布式測(cè)試是一個(gè)研究的熱點(diǎn)問(wèn)題,具體包括分布式測(cè)試系統(tǒng)以及基于該系統(tǒng)的測(cè)試方法。分布式架構(gòu)測(cè)試系統(tǒng)一般采用客戶端服務(wù)器(c/s)模式,具體包括若干個(gè)用于控制至少一個(gè)被測(cè)對(duì)象的測(cè)試執(zhí)行服務(wù)器和一個(gè)用于控制該服務(wù)器的測(cè)試管理客戶端,該服務(wù)器與客戶端之間通過(guò)TCP/IP進(jìn)行^t據(jù)傳遞和消息交互?;谠摲植际綔y(cè)試系統(tǒng)的測(cè)試方法可以概括為使用若干個(gè)測(cè)試執(zhí)行服務(wù)器控制至少一個(gè)被測(cè)對(duì)象,使用一個(gè)測(cè)試管理客戶端控制上述服務(wù)器;客戶端通過(guò)設(shè)置于測(cè)試執(zhí)行服務(wù)器之上的測(cè)試用例,調(diào)度管理測(cè)試用例并在測(cè)試執(zhí)行服務(wù)器上執(zhí)行。上述測(cè)試系統(tǒng)以及方法充分利用了網(wǎng)絡(luò)上各種分布式資源,從而提高了測(cè)試資源的利用率和自動(dòng)化測(cè)試效率。但上述測(cè)試系統(tǒng)以及測(cè)試方法也存在一定缺陷,簡(jiǎn)單扭克括如下一、該測(cè)試系統(tǒng)采用一個(gè)測(cè)試客戶端控制若干個(gè)測(cè)試執(zhí)行服務(wù)器,控制過(guò)于集中。在自動(dòng)化測(cè)試中,各種測(cè)試資源,包括軟件測(cè)試,被測(cè)對(duì)象為測(cè)試團(tuán)隊(duì)共用,如果對(duì)資源的占用、測(cè)試任務(wù)的調(diào)度等通過(guò)一個(gè)客戶端控制,這樣團(tuán)隊(duì)成員難以靈活使用各種測(cè)試資源。二、在測(cè)試執(zhí)行服務(wù)器執(zhí)行測(cè)試用例的過(guò)程中,需要對(duì)測(cè)試執(zhí)行服務(wù)器實(shí)時(shí)監(jiān)控。而團(tuán)隊(duì)成員可能僅關(guān)注于自己的測(cè)試任務(wù)的執(zhí)行情況,如果通過(guò)一個(gè)測(cè)試客戶端控制,這樣測(cè)試任務(wù)的提交者難以靈活控制^l行該任務(wù)的執(zhí)行。有些時(shí)候,分布在不同物理區(qū)域上的測(cè)試人員需要對(duì)同一執(zhí)行過(guò)程進(jìn)行監(jiān)控,分析測(cè)試日志定位問(wèn)題等,這都難以通過(guò)這種集中的監(jiān)控模式實(shí)現(xiàn)。三、測(cè)試執(zhí)行服務(wù)器作為一個(gè)執(zhí)行4幾構(gòu),同時(shí)也是測(cè)試用例的管理機(jī)構(gòu)。這樣,相同的測(cè)試用例分布在不同的執(zhí)行服務(wù)器上,難以實(shí)現(xiàn)測(cè)試用例的版本管理,同時(shí)也造成了測(cè)試用例的冗余。尤其是在以回歸測(cè)試為核心的自動(dòng)化測(cè)試中,分布式的測(cè)試用例管理模式更是難以滿足要求。
發(fā)明內(nèi)容本發(fā)明提供一種分布式自動(dòng)化測(cè)試系統(tǒng)及其方法,以實(shí)現(xiàn)自動(dòng)化測(cè)試中的多監(jiān)控、分布式監(jiān)控、并行分析、測(cè)試用例集中管理。為了解決上述技術(shù)問(wèn)題,本發(fā)明提供一種分布式自動(dòng)化測(cè)試系統(tǒng),所述系統(tǒng)包括測(cè)試用例服務(wù)器、至少一個(gè)測(cè)試監(jiān)控端、至少一個(gè)測(cè)試執(zhí)行端、以及為每個(gè)所述測(cè)試執(zhí)行端配置的守護(hù)管理器,其中所述測(cè)試用例服務(wù)器,用于集中管理測(cè)試用例;所述測(cè)試監(jiān)控端,用于給測(cè)試人員提供操作接口,負(fù)責(zé)一個(gè)或多個(gè)所述測(cè)試執(zhí)行端的監(jiān)控;所述測(cè)試執(zhí)行端,用于接受一個(gè)或多個(gè)所述測(cè)試監(jiān)控端的控制,負(fù)責(zé)測(cè)試用例的執(zhí)行,測(cè)試日志的生成和測(cè)試結(jié)果的統(tǒng)計(jì);所述守護(hù)管理器,用于守護(hù)所述測(cè)試執(zhí)行端,負(fù)責(zé)創(chuàng)建所述測(cè)試執(zhí)行端的進(jìn)程。本發(fā)明所述系統(tǒng),其中,所述測(cè)試用例月良務(wù)器統(tǒng)一管理測(cè)試用例腳本,并用于負(fù)責(zé)所述測(cè)試用例腳本的版本管理、同步管理;用于導(dǎo)出測(cè)試用例腳本列表,導(dǎo)出測(cè)試用例腳本;還用于根據(jù)測(cè)試關(guān)鍵字導(dǎo)出測(cè)試任務(wù)。本發(fā)明所述系統(tǒng),其中,所述測(cè)試監(jiān)控端包括通信模塊、腳本管理模塊、腳本編輯模塊、配置管理模塊、日志管理模塊、執(zhí)行端管理模塊、遠(yuǎn)程監(jiān)控模塊和任務(wù)管理;漠塊,其中所述通信模塊負(fù)責(zé)與所述測(cè)試用例服務(wù)器的通信,負(fù)責(zé)維持與所述測(cè)試執(zhí)行端的通信,進(jìn)行數(shù)據(jù)傳遞與消息交互;所述腳本管理模塊負(fù)責(zé)從所述測(cè)試用例服務(wù)器導(dǎo)入測(cè)試用例腳本列表,下載或上傳所述測(cè)試用例腳本;所述腳本編輯^^莫塊負(fù)責(zé)所述測(cè)試用例腳本的編輯和屬性配置;所述配置管理模塊負(fù)責(zé)所述測(cè)試執(zhí)行端運(yùn)行參數(shù)的配置、測(cè)試環(huán)境的配置、測(cè)試控制邏輯的配置;所述日志管理模塊負(fù)責(zé)日志輸出隊(duì)列的管理,日志輸出窗口的管理;負(fù)責(zé)從所述通信模塊讀取測(cè)試日志,并輸出到日志窗口;提供日志關(guān)鍵信息到所述監(jiān)控模塊,提供監(jiān)控輔助信息;所述執(zhí)行端管理模塊負(fù)責(zé)所述測(cè)試執(zhí)行端登陸管理,維護(hù)所述測(cè)試執(zhí)行端配置信息列表;接收來(lái)自所述監(jiān)控模塊的操作命令,并發(fā)送所述操作命令到所要控制的所述測(cè)試執(zhí)行端;所述監(jiān)控模塊是該測(cè)試監(jiān)控端的樞紐,監(jiān)視端通過(guò)所述任務(wù)管理模塊獲取所述測(cè)試執(zhí)行端執(zhí)行過(guò)程,根據(jù)控制命令生成測(cè)試流程控制邏輯;根據(jù)用戶配置實(shí)現(xiàn)對(duì)多個(gè)所述測(cè)試執(zhí)行端的監(jiān)控或分布式監(jiān)控,并行分析;所述任務(wù)管理模塊負(fù)責(zé)該測(cè)試監(jiān)控端多任務(wù)的管理與調(diào)度,為所述監(jiān)控模塊提供當(dāng)前測(cè)試任務(wù)的詳細(xì)配置信息。本發(fā)明所述系統(tǒng),其中,所述測(cè)試執(zhí)行端包括通信模塊、腳本管理模塊、任務(wù)管理模塊、運(yùn)行控制模塊、配置管理模塊、腳本執(zhí)行模塊、時(shí)間統(tǒng)計(jì)模塊、結(jié)果統(tǒng)計(jì)模塊、日志管理模塊,其中所述通信模塊負(fù)責(zé)與所述測(cè)試用例月l務(wù)器的通信,負(fù)責(zé)與所述測(cè)試監(jiān)控端的通信,進(jìn)行數(shù)據(jù)傳遞與消息交互;所述腳本管理模塊根據(jù)執(zhí)行用例列表同步本地測(cè)試用例腳本,并控制本地測(cè)試用例的生存期限,負(fù)責(zé)提供測(cè)試用例腳本到所述腳本執(zhí)行模塊;所述任務(wù)管理模塊接收操作任務(wù),解析操作命令并分發(fā)到不同處理模塊,所述命令包括運(yùn)行控制命令、配置管理命令;負(fù)責(zé)測(cè)試任務(wù)的管理,測(cè)試任務(wù)隊(duì)列的管理;所述運(yùn)行控制模塊負(fù)責(zé)運(yùn)行流程的控制、腳本執(zhí)行順序的控制、腳本執(zhí)行結(jié)果提交;負(fù)責(zé)運(yùn)行過(guò)程中的異常處理以及容錯(cuò)處理;負(fù)責(zé)測(cè)試腳本執(zhí)行時(shí)間異常處理;所述配置管理模塊負(fù)責(zé)測(cè)試環(huán)境的配置、執(zhí)行邏輯的配置、執(zhí)行參數(shù)的配置;所述腳本執(zhí)行模塊核心是工具命令語(yǔ)言Tcl解釋器,負(fù)責(zé)測(cè)試支持庫(kù)的加載、測(cè)試腳本的執(zhí)行,測(cè)試日志輸出;所述時(shí)間統(tǒng)計(jì)模塊負(fù)責(zé)統(tǒng)計(jì)測(cè)試腳本的執(zhí)行時(shí)間,測(cè)試任務(wù)的執(zhí)行時(shí)間,為所述運(yùn)行控制模塊提供時(shí)間判斷依據(jù);所述結(jié)果統(tǒng)計(jì)模塊負(fù)責(zé)統(tǒng)計(jì)測(cè)試腳本的執(zhí)行結(jié)果,格式化執(zhí)行結(jié)果并生成結(jié)果統(tǒng)計(jì)文件;所述日志管理模塊負(fù)責(zé)日志格式化并生成日志文件,負(fù)責(zé)發(fā)送測(cè)試曰志到所述測(cè)試監(jiān)控端;在多監(jiān)控中,用于^C交不同測(cè)試日志到不同測(cè)試監(jiān)控端。本發(fā)明所述系統(tǒng),其中,所述守護(hù)管理器,還負(fù)責(zé)所述測(cè)試執(zhí)行端的進(jìn)程的監(jiān)控、釋放、異常處理,其包括通信模塊、命令解析才莫塊、執(zhí)行端管理模塊、執(zhí)行端守護(hù)模塊,其中所述通信模塊負(fù)責(zé)與所述測(cè)試監(jiān)控端的通信,進(jìn)行it據(jù)傳遞與消息交互;所述命令解析模塊負(fù)責(zé)解析來(lái)自所述測(cè)試監(jiān)控端的操作命令,并傳送所述操作命令到所述執(zhí)行端管理模塊;所述執(zhí)行端管理模塊根據(jù)解析出的操作命令控制所述測(cè)試執(zhí)行端,包括啟動(dòng)所述測(cè)試執(zhí)行端、退出所述測(cè)試執(zhí)行端、所述測(cè)試執(zhí)行端的狀態(tài)管理,所述測(cè)試執(zhí)行端狀態(tài)包括在運(yùn)行、空閑、未啟動(dòng);創(chuàng)建所述測(cè)試執(zhí)行端的守護(hù)進(jìn)程、退出所述測(cè)試執(zhí)行端的守護(hù)進(jìn)程;所述執(zhí)行端守護(hù)模塊負(fù)責(zé)監(jiān)控所述測(cè)試執(zhí)行端的執(zhí)行過(guò)程,一旦所述測(cè)試執(zhí)行端異常退出,通知所述執(zhí)行端管理模塊。本發(fā)明還提供一種分布式自動(dòng)化測(cè)試方法,包括如下步驟(1)測(cè)試監(jiān)控端從測(cè)試用例服務(wù)器獲取測(cè)試用例腳本列表以生成測(cè)試用例執(zhí)行列表,然后所述測(cè)試監(jiān)控端發(fā)送啟動(dòng)命令到一個(gè)或多個(gè)測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器,啟動(dòng)所述測(cè)試執(zhí)行端后,提交所述測(cè)試用例執(zhí)行列表到對(duì)應(yīng)的所述測(cè)試執(zhí)行端;(2)所述測(cè)試執(zhí)行端接收并根據(jù)所述測(cè)試用例執(zhí)行列表從所述測(cè)試用例服務(wù)器獲取測(cè)試用例腳本并執(zhí)行,生成測(cè)試日志文件和結(jié)果統(tǒng)計(jì)文件;完成本次測(cè)試后,通知所述測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端;(3)所述測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端從所述測(cè)試^l行端提取所述生成的測(cè)試日志文件和結(jié)果統(tǒng)計(jì)文件,進(jìn)行本地分析處理。本發(fā)明所述方法,其中,步驟(l)中,所述測(cè)試監(jiān)控端從測(cè)試用例服務(wù)器獲取測(cè)試用例腳本列表以生成測(cè)試用例執(zhí)行列表后,4丸行如下步驟(1.1)所迷測(cè)試監(jiān)控端瀏覽本地測(cè)試執(zhí)行端列表,選擇一個(gè)或多個(gè)測(cè)試執(zhí)行端;(1.2)所述測(cè)試監(jiān)控端登陸到所述測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器,發(fā)送啟動(dòng)命令到所述測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器;(1.3)所述測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器啟動(dòng)所述測(cè)試-執(zhí)行端后,通知該測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端;(1.4)所述測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端登陸到該測(cè)試^l行端,配置測(cè)試參數(shù),生成測(cè)試控制參數(shù)列表;(1.5)所述測(cè)試監(jiān)控端提交所述測(cè)試控制參數(shù)列表和測(cè)試執(zhí)行列表到該測(cè)試監(jiān)控端對(duì)應(yīng)的測(cè)試4丸行端。本發(fā)明所述方法,其中,步驟(2)中,所述測(cè)試執(zhí)行端^執(zhí)行測(cè)試用例腳本過(guò)程中,如果異常退出,則所述測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器重啟該測(cè)試執(zhí)行端,控制該測(cè)試執(zhí)行端加載異常處理才幾制,繼續(xù)執(zhí)行所述測(cè)試用例腳本,并通知該測(cè)試執(zhí)4亍端對(duì)應(yīng)的測(cè)試監(jiān)控端重新建立通信連4妄。本發(fā)明所述方法,其中,步驟(2)中,所述測(cè)試執(zhí)行端4丸行測(cè)試用例腳本過(guò)程中,還輸出實(shí)時(shí)測(cè)試日志文件到其對(duì)應(yīng)當(dāng)?shù)臏y(cè)試監(jiān)控端,實(shí)現(xiàn)實(shí)時(shí)的測(cè)試日志瀏覽。本發(fā)明所述方法,其中,步驟(3)中,所述測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端還發(fā)送控制命令到所述守護(hù)管理器,釋放所述測(cè)試執(zhí)行端的進(jìn)程。本發(fā)明所述方案可以實(shí)現(xiàn)自動(dòng)化測(cè)試中的多監(jiān)控、分布式監(jiān)控、并行分析、測(cè)試用例集中管理。圖1是本發(fā)明實(shí)施例分布式自動(dòng)化測(cè)試系統(tǒng)結(jié)構(gòu)示意圖;圖2是本發(fā)明實(shí)施例分布式自動(dòng)化測(cè)試系統(tǒng)中測(cè)試監(jiān)控端結(jié)構(gòu)示意圖;圖3是本發(fā)明實(shí)施例分布式自動(dòng)化測(cè)試系統(tǒng)中測(cè)試執(zhí)行端結(jié)構(gòu)示意圖;圖4是本發(fā)明實(shí)施例分布式自動(dòng)化測(cè)試系統(tǒng)中守護(hù)管理器結(jié)構(gòu)示意圖;圖5是本發(fā)明實(shí)施例分布式自動(dòng)化測(cè)試方法流程圖;圖6是本發(fā)明應(yīng)用實(shí)例分布式自動(dòng)化測(cè)試方法中監(jiān)控流程圖;圖7是本發(fā)明應(yīng)用實(shí)例分布式自動(dòng)化測(cè)試系統(tǒng)中測(cè)試監(jiān)控端的監(jiān)控模塊、執(zhí)行端管理模塊與日志模塊的監(jiān)控關(guān)系邏輯示意圖。圖8是本發(fā)明應(yīng)用實(shí)例分布式自動(dòng)化測(cè)試方法中守護(hù)管理器守護(hù)流程圖。具體實(shí)施方式以下結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明所述技術(shù)方案進(jìn)行詳細(xì)描述。如圖l所示,是本發(fā)明實(shí)施例分布式自動(dòng)化測(cè)試系統(tǒng)結(jié)構(gòu)示意圖,所述系統(tǒng)包括測(cè)試用例服務(wù)器、至少一個(gè)測(cè)試監(jiān)控端、至少一個(gè)測(cè)試執(zhí)行端、以及為每個(gè)所述測(cè)試執(zhí)行端配置的守護(hù)管理器,其中所述測(cè)試用例服務(wù)器,用于集中管理測(cè)試用例;所述測(cè)試用例服務(wù)器統(tǒng)一管理測(cè)試用例腳本,并用于負(fù)責(zé)所述測(cè)試用例腳本的版本管理、同步管理;用于導(dǎo)出測(cè)試用例腳本列表,導(dǎo)出測(cè)試用例腳本;還用于根據(jù)測(cè)試關(guān)鍵字導(dǎo)出測(cè)試任務(wù);所述測(cè)試監(jiān)控端,用于給測(cè)試人員提供操作接口,負(fù)責(zé)一個(gè)或多個(gè)所述測(cè)試執(zhí)行端的監(jiān)控;如圖2所示,是本發(fā)明實(shí)施例分布式自動(dòng)化測(cè)試系統(tǒng)中測(cè)試監(jiān)控端結(jié)構(gòu)示意圖,包括通信模塊、腳本管理模塊、腳本編輯模塊、配ii置管理模塊、日志管理模塊、執(zhí)行端管理模塊、遠(yuǎn)程監(jiān)控模塊和任務(wù)管理模塊,其中所述通信模塊負(fù)責(zé)與所述測(cè)試用例服務(wù)器的通信,負(fù)責(zé)維持與所述測(cè)試執(zhí)行端的通信,進(jìn)行數(shù)據(jù)傳遞與消息交互;所述腳本管理模塊負(fù)責(zé)從所述測(cè)試用例服務(wù)器導(dǎo)入測(cè)試用例腳本列表,下載或上傳所述測(cè)試用例腳本;所述腳本編輯模塊負(fù)責(zé)所述測(cè)試用例腳本的編輯和屬性配置;所述配置管理^t塊負(fù)責(zé)所述測(cè)試執(zhí)行端運(yùn)行參數(shù)的配置、測(cè)試環(huán)境的配置、測(cè)試控制邏輯的配置;所述日志管理模塊負(fù)責(zé)日志輸出隊(duì)列的管理,日志輸出窗口的管理;負(fù)責(zé)從所述通信模塊讀取測(cè)試日志,并輸出到日志窗口;提供日志關(guān)鍵信息到所述監(jiān)控模塊,提供監(jiān)控輔助信息;所述執(zhí)行端管理模塊負(fù)責(zé)所述測(cè)試執(zhí)行端登陸管理,維護(hù)所述測(cè)試執(zhí)行端配置信息列表;接收來(lái)自所述監(jiān)控模塊的操作命令,并發(fā)送所述操作命令到所要控制的所述測(cè)試執(zhí)行端;所述監(jiān)控模塊是該測(cè)試監(jiān)控端的樞紐,監(jiān)視端通過(guò)所述任務(wù)管理模塊獲取所述測(cè)試執(zhí)行端執(zhí)行過(guò)程,根據(jù)控制命令生成測(cè)試流程控制邏輯;根據(jù)用戶配置實(shí)現(xiàn)對(duì)多個(gè)所述測(cè)試執(zhí)行端的監(jiān)控或分布式監(jiān)控,并行分析;所述任務(wù)管理模塊負(fù)責(zé)該測(cè)試監(jiān)控端多任務(wù)的管理與調(diào)度,為所述監(jiān)控模塊提供當(dāng)前測(cè)試任務(wù)的詳細(xì)配置信息;所述測(cè)試執(zhí)行端,用于接受一個(gè)或多個(gè)所述測(cè)試監(jiān)控端的控制,負(fù)責(zé)測(cè)試用例的執(zhí)行,測(cè)試日志的生成和測(cè)試結(jié)果的統(tǒng)計(jì);如圖3所示,是本發(fā)明實(shí)施例分布式自動(dòng)化測(cè)試系統(tǒng)中測(cè)試執(zhí)行端結(jié)構(gòu)示意圖,包括通信-漢塊、腳本管理模塊、任務(wù)管理模塊、運(yùn)行控制模塊、配置管理模塊、腳本執(zhí)行模塊、時(shí)間統(tǒng)計(jì)模塊、結(jié)果統(tǒng)計(jì)模塊、日志管理模塊,其中所述通信才莫塊負(fù)責(zé)與所述測(cè)試用例服務(wù)器的通信,負(fù)責(zé)與所述測(cè)試監(jiān)控端的通信,進(jìn)行數(shù)據(jù)傳遞與消息交互;所述腳本管理模塊根據(jù)執(zhí)行用例列表同步本地測(cè)試用例腳本,并控制本地測(cè)試用例的生存期限,負(fù)責(zé)提供測(cè)試用例腳本到所述腳本執(zhí)行模塊;所述任務(wù)管理模塊接收操作任務(wù),解析操作命令并分發(fā)到不同處理模塊,所述命令包括運(yùn)行控制命令、配置管理命令;負(fù)責(zé)測(cè)試任務(wù)的管理,測(cè)試任務(wù)隊(duì)列的管理;所述運(yùn)行控制模塊負(fù)責(zé)運(yùn)行流程的控制、腳本執(zhí)行順序的控制、腳本執(zhí)行結(jié)果提交;負(fù)責(zé)運(yùn)行過(guò)程中的異常處理以及容錯(cuò)處理;負(fù)責(zé)測(cè)試腳本執(zhí)行時(shí)間異常處理;所述配置管理模塊負(fù)責(zé)測(cè)試環(huán)境的配置、執(zhí)行邏輯的配置、執(zhí)行參數(shù)的配置;所述腳本執(zhí)行模塊核心是Tcl(Toolcommandlanguage,工具命令語(yǔ)言)解釋器,負(fù)責(zé)測(cè)試支持庫(kù)的加載、測(cè)試腳本的執(zhí)行,測(cè)試日志輸出;所述時(shí)間統(tǒng)計(jì)模塊負(fù)責(zé)統(tǒng)計(jì)測(cè)試腳本的執(zhí)行時(shí)間,測(cè)試任務(wù)的執(zhí)行時(shí)間,為所述運(yùn)行控制模塊提供時(shí)間判斷依據(jù);所述結(jié)果統(tǒng)計(jì)才莫塊負(fù)責(zé)統(tǒng)計(jì)測(cè)試腳本的執(zhí)行結(jié)果,格式化執(zhí)行結(jié)果并生成結(jié)果統(tǒng)計(jì)文件;所述日志管理模塊負(fù)責(zé)日志格式化并生成日志文件,負(fù)責(zé)發(fā)送測(cè)試日志到所述測(cè)試監(jiān)控端;在多監(jiān)控中,用于提交不同測(cè)試日志到不同測(cè)試監(jiān)控端;所述守護(hù)管理器,用于守護(hù)所述測(cè)試執(zhí)行端,負(fù)責(zé)創(chuàng)建所述測(cè)試執(zhí)行端的進(jìn)程,還負(fù)責(zé)所述測(cè)試執(zhí)行端的進(jìn)程的監(jiān)控、釋放、異常處理;如圖4所示,是本發(fā)明實(shí)施例分布式自動(dòng)化測(cè)試系統(tǒng)中守護(hù)管理器結(jié)構(gòu)示意圖,其包括通信模塊、命令解析模塊、執(zhí)行端管理模塊、執(zhí)行端守護(hù)模塊,其中所述通信模塊負(fù)責(zé)與所述測(cè)試監(jiān)控端的通信,進(jìn)行數(shù)據(jù)傳遞與消息交互;所述命令解析模塊負(fù)責(zé)解析來(lái)自所述測(cè)試監(jiān)控端的操作命令,并傳送所述操作命令到所述執(zhí)行端管理模塊;所述執(zhí)行端管理^^塊根據(jù)解析出的^l喿作命令控制所述測(cè)試執(zhí)行端,包括啟動(dòng)所述測(cè)試執(zhí)4亍端、退出所述測(cè)試執(zhí)4亍端、所述測(cè)試執(zhí)行端的狀態(tài)管理,所述測(cè)試執(zhí)行端狀態(tài)包括在運(yùn)行、空閑、未啟動(dòng);創(chuàng)建所述測(cè)試執(zhí)行端的守護(hù)進(jìn)程、退出所述測(cè)試^丸行端的守護(hù)進(jìn)程;所述執(zhí)行端守護(hù)模塊負(fù)責(zé)監(jiān)控所述測(cè)試執(zhí)行端的執(zhí)行過(guò)程,一旦所述測(cè)試執(zhí)行端異常退出,通知所述執(zhí)行端管理模塊。上述自動(dòng)化測(cè)試系統(tǒng)中,一個(gè)測(cè)試監(jiān)控端可以控制任意一個(gè)測(cè)試執(zhí)行端,任意一個(gè)測(cè)試執(zhí)行端可以接收多個(gè)測(cè)試監(jiān)控端的控制,測(cè)試監(jiān)控端與測(cè)試執(zhí)行端是N-N的關(guān)系,這樣不但可以充分利用測(cè)試執(zhí)行端和測(cè)試環(huán)境,還為多監(jiān)控、分布式監(jiān)控提供了可能。如圖5所示,是本發(fā)明實(shí)施例分布式自動(dòng)化測(cè)試方法流程圖,包括如下步驟步驟501,測(cè)試監(jiān)控端從測(cè)試用例服務(wù)器獲取測(cè)試用例腳本列表以生成測(cè)試用例執(zhí)行列表,然后所述測(cè)試監(jiān)控端發(fā)送啟動(dòng)命令到一個(gè)或多個(gè)測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器,啟動(dòng)所述測(cè)試執(zhí)行端后,提交所述測(cè)試用例執(zhí)行列表到對(duì)應(yīng)的所述測(cè)試執(zhí)行端;步驟502,所述測(cè)試執(zhí)行端接收并根據(jù)所述測(cè)試用例執(zhí)行列表從所述測(cè)試用例服務(wù)器獲取測(cè)試用例腳本并執(zhí)行,生成測(cè)試日志文件和結(jié)果統(tǒng)計(jì)文件;完成本次測(cè)試后,通知所述測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端;所述測(cè)試監(jiān)控端從測(cè)試用例服務(wù)器獲取測(cè)試用例腳本列表以生成測(cè)試用例執(zhí)行列表后,執(zhí)行如下步驟(502.1)所述測(cè)試監(jiān)控端瀏覽本地測(cè)試執(zhí)行端列表,選擇一個(gè)或多個(gè)測(cè)試執(zhí)行端;(502.2)所述測(cè)試監(jiān)控端登陸到所述測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器,發(fā)送啟動(dòng)命令到所述測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器;(502.3)所述測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器啟動(dòng)所述測(cè)試執(zhí)行端后,通知該測(cè)試執(zhí)4于端^f應(yīng)的測(cè)i式監(jiān)4空端;(502.4)所述測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端登陸到該測(cè)試執(zhí)行端,配置測(cè)試參數(shù),生成測(cè)試控制參數(shù)列表;(502.5)所述測(cè)試監(jiān)控端提交所述測(cè)試控制參數(shù)列表和測(cè)試執(zhí)行列表到該測(cè)試監(jiān)控端對(duì)應(yīng)的測(cè)試執(zhí)行端;步驟503,所述測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端從所述測(cè)試執(zhí)行端纟是取所述生成的測(cè)試日志文件和結(jié)果統(tǒng)計(jì)文件,進(jìn)行本地分析處理;上述步驟502中,所述測(cè)試執(zhí)行端執(zhí)行測(cè)試用例腳本過(guò)程中,如果異常退出,則所述測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器重啟該測(cè)試執(zhí)行端,控制該測(cè)試執(zhí)行端加載異常處理機(jī)制(比如獲取異常退出點(diǎn)(發(fā)生異常的測(cè)試腳本),從異常退出點(diǎn)重新執(zhí)行測(cè)試任務(wù),或者清理測(cè)試環(huán)境,還原出一個(gè)新的測(cè)試環(huán)境),繼續(xù)l丸行所述測(cè)試用例腳本,并通知該測(cè)試扭J亍端對(duì)應(yīng)的測(cè)試監(jiān)控端重新建立通信連接。所述測(cè)試執(zhí)行端執(zhí)行測(cè)試用例腳本過(guò)程中,還輸出實(shí)時(shí)測(cè)試日志文件到其對(duì)應(yīng)當(dāng)?shù)臏y(cè)試監(jiān)控端,實(shí)現(xiàn)實(shí)時(shí)的測(cè)試日志瀏覽。上述步驟503中,所述測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端還發(fā)送控制命令到所述守護(hù)管理器,釋放所述測(cè)試執(zhí)行端的進(jìn)程。試任務(wù),從測(cè)試用例列表選擇該次測(cè)試需要的測(cè)試用例腳本,生成測(cè)試用例執(zhí)行列表;B、測(cè)試監(jiān)控端登陸到守護(hù)管理器,發(fā)送啟動(dòng)命令到守護(hù)管理器,守護(hù)管理器啟動(dòng)測(cè)試執(zhí)行端。測(cè)試監(jiān)控端登陸到當(dāng)前測(cè)試執(zhí)行端,配置測(cè)試環(huán)境,生成測(cè)試控制參數(shù)列表。測(cè)試人員提交測(cè)試任務(wù),包括測(cè)試用例執(zhí)行列表和測(cè)試控制參數(shù)列表到測(cè)試執(zhí)行端;C、測(cè)試執(zhí)行端接收到測(cè)試任務(wù),解析測(cè)試用例執(zhí)行列表和測(cè)試控制參數(shù)列表。根據(jù)測(cè)試用例執(zhí)行列表從測(cè)試用例庫(kù)更新測(cè)試用例腳本文件,根據(jù)測(cè)試控制參數(shù)列表生成執(zhí)行控制邏輯。通知測(cè)試監(jiān)控端準(zhǔn)備工作就緒,監(jiān)聽(tīng)測(cè)試監(jiān)控端發(fā)送的執(zhí)行控制命令;D、測(cè)試監(jiān)控端下達(dá)執(zhí)行控制命令到測(cè)試執(zhí)行端,測(cè)試執(zhí)行端解析命令參數(shù),執(zhí)行命令。生成測(cè)試日志文件和結(jié)果統(tǒng)計(jì)文件。在執(zhí)行過(guò)程中,輸出曰志到測(cè)試監(jiān)控端,實(shí)現(xiàn)實(shí)時(shí)的日志瀏覽;E、守護(hù)管理器監(jiān)視測(cè)試執(zhí)行端執(zhí)行過(guò)程,一旦測(cè)試執(zhí)行端異常退出,守護(hù)管理器重啟測(cè)試執(zhí)行端,并通知測(cè)試監(jiān)控端重新建立通信連接。測(cè)試執(zhí)行端加載異常處理機(jī)制,繼續(xù)執(zhí)行腳本;F、測(cè)試監(jiān)控端監(jiān)控測(cè)試執(zhí)行端的執(zhí)行過(guò)程,并接收?qǐng)?zhí)行日志,實(shí)時(shí)控制測(cè)試執(zhí)行端;測(cè)試執(zhí)行端在執(zhí)行過(guò)程中,監(jiān)聽(tīng)、執(zhí)行操作命令,從而實(shí)現(xiàn)測(cè)試監(jiān)控端與測(cè)試執(zhí)行端的實(shí)時(shí)交互;G、測(cè)試執(zhí)行端完成本次測(cè)試,通知測(cè)試監(jiān)控端。測(cè)試監(jiān)控端從測(cè)試執(zhí)行端提取測(cè)試結(jié)果統(tǒng)計(jì)文件和測(cè)試日志文件,進(jìn)行本地分析處理。測(cè)試監(jiān)控端還發(fā)送控制命令到守護(hù)管理器,釋放所述測(cè)試執(zhí)行端的進(jìn)程(守護(hù)管理器負(fù)責(zé)測(cè)試執(zhí)行端的清理工作)。步驟A詳細(xì)涉及到Al、測(cè)試監(jiān)控端從測(cè)試用例服務(wù)器更新測(cè)試用例列表,測(cè)試用例列表索引當(dāng)前測(cè)試腳本庫(kù)中所有測(cè)試腳本,每個(gè)列表項(xiàng)包括測(cè)試用例描述、測(cè)試關(guān)鍵字、當(dāng)前測(cè)試版本、最后修改時(shí)間、測(cè)試環(huán)境要求等。一般情況測(cè)試監(jiān)控端都有一個(gè)測(cè)試用例列表本地備份,可以從測(cè)試用例服務(wù)器更新本地列表;當(dāng)測(cè)試用例服務(wù)器測(cè)試用例列表更新時(shí),也會(huì)通知測(cè)試監(jiān)控端,從而保持本地列表與測(cè)試用例服務(wù)器的同步;A2、測(cè)試人員根據(jù)測(cè)試任務(wù)以及測(cè)試用例描述信息,測(cè)試關(guān)鍵字、版本信息等選擇測(cè)試用例,生成測(cè)試用例執(zhí)行列表。測(cè)試關(guān)鍵字涉及到該測(cè)試用例所能進(jìn)行的測(cè)試項(xiàng),測(cè)試功能點(diǎn)??梢?4居測(cè)試任務(wù)4全索關(guān)鍵字,自動(dòng)生成測(cè)試用例執(zhí)行列表。測(cè)試用例執(zhí)行列表簡(jiǎn)單描述了該次測(cè)試所涉及的測(cè)試用例,是一個(gè)索引文件。步驟B進(jìn)一步包括Bl、測(cè)試監(jiān)控端瀏覽本地測(cè)試執(zhí)行端列表,選^^測(cè)試執(zhí)行端;B2、測(cè)試監(jiān)控端登陸到守護(hù)管理器、發(fā)送啟動(dòng)命令到守護(hù)管理器;B3、守護(hù)管理器啟動(dòng)測(cè)試執(zhí)行端后,通知測(cè)試監(jiān)控端測(cè)試執(zhí)行端已經(jīng)啟動(dòng);B4、測(cè)試監(jiān)控端登陸到執(zhí)行端,配置測(cè)試參數(shù),生成測(cè)試控制參數(shù)列表;B5、測(cè)試監(jiān)控端提交測(cè)試用例執(zhí)行列表和測(cè)試控制參數(shù)列表到測(cè)試執(zhí)行端,完成測(cè)試執(zhí)行配置搡作。步驟C進(jìn)一步包括Cl、測(cè)試執(zhí)行端接收到測(cè)試任務(wù)。解析執(zhí)行命令,生成測(cè)試用例執(zhí)行列表和測(cè)試控制參數(shù)列表??刂泼畎▓?zhí)行、暫停、停止、實(shí)時(shí)日志等。測(cè)試用例執(zhí)行列表是一些測(cè)試用例的索引文件;C2、測(cè)試執(zhí)行端登陸到測(cè)試用例服務(wù)器,根據(jù)測(cè)試用例執(zhí)行列表,更新測(cè)試用例腳本文件到本地。一般情況,測(cè)試執(zhí)行端會(huì)緩存腳本文件,如果本地沒(méi)有,就從測(cè)試用例服務(wù)器獲?。籆3、測(cè)試執(zhí)行端解析測(cè)試控制參數(shù),生成執(zhí)行控制邏輯;C4、測(cè)試執(zhí)行端發(fā)送準(zhǔn)備就緒消息到測(cè)試監(jiān)控端,監(jiān)聽(tīng)執(zhí)行控制命令。步驟D詳細(xì)涉及到Dl、測(cè)試監(jiān)控端與測(cè)試執(zhí)行端建立日志通道,接收測(cè)試4丸行端送來(lái)的執(zhí)行日志,進(jìn)行實(shí)時(shí)的日志瀏覽分析;D2、測(cè)試執(zhí)行端執(zhí)行腳本過(guò)程中,生成測(cè)試日志文件,輸出測(cè)試日志到測(cè)試監(jiān)控端;D3、測(cè)試執(zhí)行端執(zhí)行腳本過(guò)程中,統(tǒng)計(jì)測(cè)試腳本4丸行結(jié)果,生成結(jié)果統(tǒng)計(jì)文件。步驟E詳細(xì)涉及到El、守護(hù)管理器在執(zhí)行的整個(gè)過(guò)程中監(jiān)視測(cè)試執(zhí)行端的執(zhí)行。守護(hù)管理器一旦發(fā)現(xiàn)執(zhí)行端退出,根據(jù)守護(hù)機(jī)制判斷是否異常退出,如果異常退出,重啟測(cè)試執(zhí)4于端,通知測(cè)試監(jiān)控端重新建立通信連接;E2、測(cè)試執(zhí)行端重新啟動(dòng),恢復(fù)與測(cè)試監(jiān)控端的通信連接;解析監(jiān)控文件獲取異常點(diǎn),從異常點(diǎn)做必要的測(cè)試環(huán)境清理工作,然后繼續(xù)執(zhí)行測(cè)試腳本。步驟F詳細(xì)涉及到Fl、測(cè)試監(jiān)控端或者實(shí)時(shí)遠(yuǎn)程監(jiān)控測(cè)試執(zhí)行端,發(fā)送實(shí)時(shí)控制請(qǐng)求,建立通信連接,實(shí)現(xiàn)實(shí)時(shí)控制;或者隨機(jī)登陸到測(cè)試執(zhí)行端,獲取執(zhí)行信息;F2、測(cè)試執(zhí)行端隨時(shí)接收測(cè)試監(jiān)控端的連接請(qǐng)求、操作命令、日志輸出等。如果啟動(dòng)實(shí)時(shí)監(jiān)控,測(cè)試執(zhí)行端不斷監(jiān)聽(tīng)測(cè)試監(jiān)控端的命令,根據(jù)命令進(jìn)行相應(yīng)操作。步驟G詳細(xì)涉及到Gl、測(cè)試執(zhí)行端執(zhí)行完成后,通知測(cè)試監(jiān)控端執(zhí)行完成,測(cè)試監(jiān)控端獲取測(cè)試日志,測(cè)試結(jié)果等文件;G2、測(cè)試監(jiān)控端發(fā)送控制命令到守護(hù)管理器,或者釋放、清理、退出測(cè)試執(zhí)行端,或者讓測(cè)試執(zhí)行端程序繼續(xù)運(yùn)行。如圖6所示,是本發(fā)明應(yīng)用實(shí)例分布式自動(dòng)化測(cè)試方法中監(jiān)控流程圖,包括如下步驟步驟601,首先由測(cè)試監(jiān)控端登陸到守護(hù)管理器獲取測(cè)試執(zhí)行端狀態(tài);步驟602,判斷測(cè)試執(zhí)行端是否啟動(dòng)如果是,則轉(zhuǎn)步驟605;如果否,則轉(zhuǎn)步驟603;步驟603,如果測(cè)試執(zhí)行端未啟動(dòng),則由守護(hù)管理器啟動(dòng)測(cè)試執(zhí)行端,測(cè)試監(jiān)控端設(shè)置測(cè)試執(zhí)行端控制模式,發(fā)送控制命令;步眾《604,由測(cè)試監(jiān)控端監(jiān)控測(cè)試扭4行端,本流程結(jié)束;步驟605,判斷是否已經(jīng)運(yùn)行腳本如果是,則轉(zhuǎn)步驟606;如果否,則轉(zhuǎn)步驟609;步驟606,測(cè)試監(jiān)控端從守護(hù)管理器獲取測(cè)試執(zhí)行端的控制模式;步驟607,判斷控制模式是什么,如果是共享的,則轉(zhuǎn)步驟604;如果是獨(dú)占的,則轉(zhuǎn)步驟608;步驟608,如果該在運(yùn)行的測(cè)試執(zhí)行端滿足需求,則由測(cè)試監(jiān)控端監(jiān)視測(cè)試執(zhí)行端狀態(tài)以便進(jìn)行后期操作,本流程結(jié)束;步驟609,判斷該腳本是否已被占有如果是,則轉(zhuǎn)步驟611,如果否,則轉(zhuǎn)步驟610;步驟610,測(cè)試監(jiān)控端設(shè)置測(cè)試執(zhí)行端控制模式,發(fā)送控制命令,然后轉(zhuǎn)步驟604;步驟611,判斷控制模式是什么,如果是共享的,則轉(zhuǎn)步驟610;如果是獨(dú)占的,則轉(zhuǎn)步驟608;步驟612,如果該在運(yùn)行的測(cè)試執(zhí)行端不滿足需求,則退出該測(cè)試執(zhí)行端,流程結(jié)束。本發(fā)明所述自動(dòng)化測(cè)試系統(tǒng)的測(cè)試監(jiān)控端是提供給測(cè)試人員的圖形化接口,具體模塊如圖2所示??梢愿鶕?jù)模塊功能以及協(xié)同交互具體實(shí)施測(cè)試監(jiān)控所述通信模塊負(fù)責(zé)與測(cè)試執(zhí)行端、測(cè)試用例服務(wù)器的數(shù)據(jù)交互。數(shù)據(jù)交互包括控制命令、獲取命令、命令響應(yīng)等,具體涉及到的命令如下表1的測(cè)試監(jiān)控端命令列表所示<table>tableseeoriginaldocumentpage19</column></row><table>所述腳本管理模塊負(fù)責(zé)從測(cè)試用例服務(wù)器獲取測(cè)試用例腳本列表,下載或上傳測(cè)試用例腳本。腳本管理模塊是測(cè)試監(jiān)控端與測(cè)試用例服務(wù)器的接口,其中腳本管理模塊可以采用開(kāi)源的CVS(ConcurrentVersionSystem,并行版本系統(tǒng))客戶端實(shí)現(xiàn),測(cè)試用例服務(wù)器可以采用CVS服務(wù)器。所述配置管理模塊根據(jù)當(dāng)前測(cè)試任務(wù)和測(cè)試用例信息配置測(cè)試環(huán)境。測(cè)試執(zhí)行端是在特定的測(cè)試環(huán)境下執(zhí)行的,測(cè)試監(jiān)控端獲取測(cè)試執(zhí)行端的測(cè)試環(huán)境拓樸,然后提供給用戶圖形化的配置窗口,配置后由配置管理才莫塊送到測(cè)試執(zhí)行端。所述日志管理模塊主要負(fù)責(zé)日志隊(duì)列的管理。當(dāng)測(cè)試監(jiān)控端要監(jiān)控一個(gè)測(cè)試執(zhí)行端時(shí),日志管理模塊生成一個(gè)日志節(jié)點(diǎn)到日志隊(duì)列。日志管理模塊與執(zhí)行端管理模塊協(xié)同完成日志的輸出、處理等。日志輸出由監(jiān)控才莫塊控制,可以選褲,接收日志、可以選擇接收多個(gè)測(cè)試執(zhí)行端的日志,實(shí)現(xiàn)多監(jiān)控、分布式監(jiān)控。所述執(zhí)行端管理模塊負(fù)責(zé)測(cè)試執(zhí)行端列表的管理,測(cè)試執(zhí)行端的登陸管理,是實(shí)現(xiàn)多監(jiān)控、分布式監(jiān)控的核心。每個(gè)測(cè)試監(jiān)控端會(huì)維護(hù)當(dāng)前可用測(cè)試執(zhí)行端的列表,以及測(cè)試執(zhí)行端配置的詳細(xì)信息。測(cè)試監(jiān)控端登陸或退出測(cè)試執(zhí)行端后,會(huì)》務(wù)改當(dāng)前監(jiān)控狀態(tài)。所述監(jiān)控模塊是測(cè)試監(jiān)控端的核心,所有操作執(zhí)行端命令都由監(jiān)控模塊生成并經(jīng)由執(zhí)行端管理模塊送到測(cè)試執(zhí)行端。監(jiān)控模塊、執(zhí)行端管理^^莫塊(里面對(duì)應(yīng)可能n個(gè)邏輯執(zhí)行端)與日志模塊(通過(guò)日志窗口顯示日志)關(guān)系如圖7所示。本發(fā)明所述自動(dòng)化測(cè)試系統(tǒng)中測(cè)試執(zhí)行端是腳本執(zhí)行機(jī)構(gòu),具體模塊如圖3所示??梢愿鶕?jù)模塊功能以及協(xié)同交互具體實(shí)施測(cè)試執(zhí)行端所述通信模塊與測(cè)試監(jiān)控端通信模塊采用客戶端服務(wù)器模式,通信模塊上層配置有命令解析模塊實(shí)現(xiàn)命令的解析、分發(fā)與搡作響應(yīng)。梯:作命令分為兩類(lèi)運(yùn)行控制命令和配置管理命令。其中運(yùn)行控制命令涉及到諸如運(yùn)行、暫停等,這些操作直接影響到腳本的執(zhí)行過(guò)程;配置管理輔助運(yùn)行控制,提供包括測(cè)試環(huán)境配置、測(cè)試流程配置、用例優(yōu)先級(jí)配置等。所述腳本執(zhí)行模塊的核心是Tcl解釋器,運(yùn)行使用Tcl語(yǔ)言編寫(xiě)的測(cè)試用例腳本。執(zhí)行流程詳細(xì)涉及到腳本的執(zhí)行、日志的輸出、日志文件的生成和統(tǒng)計(jì)文件的生成。為了提高執(zhí)行端的容錯(cuò)能力,測(cè)試執(zhí)行端也提供異常記錄、斷點(diǎn)記錄等信息。所述腳本管理模塊,主要功能就是根據(jù)來(lái)自測(cè)試監(jiān)控端的執(zhí)行列表同步本地的測(cè)試腳本,包括文件日期檢查、文件獲取等。在具體實(shí)施時(shí)可以采用CVS客戶端工具實(shí)現(xiàn)腳本的同步,為了提高腳本同步效率,為本地測(cè)試腳本設(shè)置生存期限、超出生存期限的腳本從本地刪除。當(dāng)腳本每次^Ut時(shí),就清零生存期限。本發(fā)明所述自動(dòng)化測(cè)試系統(tǒng)的守護(hù)管理器,作為測(cè)試執(zhí)行端的一個(gè)短d、精悍的守護(hù)者,與測(cè)試執(zhí)行端部署在同一臺(tái)計(jì)算機(jī)上,并且在計(jì)算^/L啟動(dòng)時(shí)啟動(dòng)。守護(hù)管理器與測(cè)試監(jiān)控端采用客戶端服務(wù)器模式通信,守護(hù)管理器作為服務(wù)器端運(yùn)行;守護(hù)管理器負(fù)責(zé)創(chuàng)建、釋放測(cè)試執(zhí)行端進(jìn)程,并通過(guò)進(jìn)程間通信方式與測(cè)試執(zhí)4亍端通4言。所述守護(hù)管理器系統(tǒng)結(jié)構(gòu)中,執(zhí)行端守護(hù);f莫塊對(duì)測(cè)試執(zhí)行端的守護(hù)進(jìn)程隨著測(cè)試執(zhí)行端進(jìn)程的創(chuàng)建而創(chuàng)建,測(cè)試執(zhí)行端進(jìn)程的正常退出而消亡,所不同的是,在測(cè)試執(zhí)行端的整個(gè)執(zhí)行過(guò)程中,守護(hù)進(jìn)程不斷監(jiān)控測(cè)試執(zhí)行端進(jìn)程的狀態(tài),一旦測(cè)試執(zhí)行端異常,執(zhí)行端守護(hù)模塊通知執(zhí)行端管理模塊進(jìn)行異常處理。執(zhí)行端管理模塊根據(jù)異常處理策略,或者重啟執(zhí)行端,或者終止執(zhí)行。護(hù)流程圖,包括如下步驟步驟801,守護(hù)管理器創(chuàng)建所述測(cè)試執(zhí)行端的進(jìn)程;步驟802,守護(hù)管理器創(chuàng)建守護(hù)進(jìn)程守護(hù)測(cè)試執(zhí)行端;步驟803,判斷測(cè)試執(zhí)行端的進(jìn)程是否存在如果存在,轉(zhuǎn)步驟804;如果不存在,轉(zhuǎn)步驟805;步驟804,延時(shí)一個(gè)守護(hù)周期后,轉(zhuǎn)步驟803;步驟805,判斷測(cè)試進(jìn)程是否執(zhí)行完成如果是,轉(zhuǎn)步驟807;如果否,轉(zhuǎn)步驟806;步驟806,加載異常處理策略進(jìn)行異常處理;步驟807,通知執(zhí)行端管理模塊結(jié)束守護(hù)進(jìn)程。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1、一種分布式自動(dòng)化測(cè)試系統(tǒng),其特征在于,所述系統(tǒng)包括測(cè)試用例服務(wù)器、至少一個(gè)測(cè)試監(jiān)控端、至少一個(gè)測(cè)試執(zhí)行端、以及為每個(gè)所述測(cè)試執(zhí)行端配置的守護(hù)管理器,其中所述測(cè)試用例服務(wù)器,用于集中管理測(cè)試用例;所述測(cè)試監(jiān)控端,用于給測(cè)試人員提供操作接口,負(fù)責(zé)一個(gè)或多個(gè)所述測(cè)試執(zhí)行端的監(jiān)控;所述測(cè)試執(zhí)行端,用于接受一個(gè)或多個(gè)所述測(cè)試監(jiān)控端的控制,負(fù)責(zé)測(cè)試用例的執(zhí)行,測(cè)試日志的生成和測(cè)試結(jié)果的統(tǒng)計(jì);所述守護(hù)管理器,用于守護(hù)所述測(cè)試執(zhí)行端,負(fù)責(zé)創(chuàng)建所述測(cè)試執(zhí)行端的進(jìn)程。2、如權(quán)利要求1所述系統(tǒng),其特征在于,所述測(cè)試用例服務(wù)器統(tǒng)一管理測(cè)試用例腳本,并用于負(fù)責(zé)所述測(cè)試用例腳本的版本管理、同步管理;用于導(dǎo)出測(cè)試用例腳本列表,導(dǎo)出測(cè)試用例腳本;還用于根據(jù)測(cè)試關(guān)鍵字導(dǎo)出測(cè)試任務(wù)。3、如權(quán)利要求2所述系統(tǒng),其特征在于,所述測(cè)試監(jiān)控端包括通信模塊、腳本管理模塊、腳本編輯模塊、配置管理才莫塊、日志管理模塊、執(zhí)行端管理模塊、遠(yuǎn)程監(jiān)控模塊和任務(wù)管理模塊,其中所述通信模塊負(fù)責(zé)與所述測(cè)試用例服務(wù)器的通信,負(fù)責(zé)維持與所述測(cè)試執(zhí)行端的通信,進(jìn)行數(shù)據(jù)傳遞與消息交互;所述腳本管理^^莫塊負(fù)責(zé)從所述測(cè)試用例服務(wù)器導(dǎo)入測(cè)試用例腳本列表,下載或上傳所述測(cè)試用例腳本;所述腳本編輯;漠塊負(fù)責(zé)所述測(cè)試用例腳本的編輯和屬性配置;所述配置管理模塊負(fù)責(zé)所述測(cè)試執(zhí)行端運(yùn)行參數(shù)的配置、測(cè)試環(huán)境的配置、測(cè)試控制邏輯的配置;所述日志管理才莫塊負(fù)責(zé)日志輸出隊(duì)列的管理,日志輸出窗口的管理;負(fù)責(zé)從所述通信模塊讀取測(cè)試日志,并輸出到日志窗口;提供日志關(guān)鍵信息到所述監(jiān)控模塊,提供監(jiān)控輔助信息;所述執(zhí)行端管理模塊負(fù)責(zé)所述測(cè)試執(zhí)行端登陸管理,維護(hù)所述測(cè)試執(zhí)行端配置信息列表;接收來(lái)自所述監(jiān)控模塊的操作命令,并發(fā)送所述操作命令到所要控制的所述測(cè)試執(zhí)行端;所述監(jiān)控模塊是該測(cè)試監(jiān)控端的樞紐,監(jiān)視端通過(guò)所述^f壬務(wù)管理模塊獲取所述測(cè)試執(zhí)行端執(zhí)行過(guò)程,根據(jù)控制命令生成測(cè)試流程控制邏輯;根據(jù)用戶配置實(shí)現(xiàn)對(duì)多個(gè)所述測(cè)試執(zhí)行端的監(jiān)控或分布式監(jiān)控,并行分析;所述任務(wù)管理模塊負(fù)責(zé)該測(cè)試監(jiān)控端多任務(wù)的管理與調(diào)度,為所述監(jiān)控模塊提供當(dāng)前測(cè)試任務(wù)的詳細(xì)配置信息。4、如權(quán)利要求3所述系統(tǒng),其特征在于,所述測(cè)試扭J亍端包括通信模塊、腳本管理模塊、任務(wù)管理模塊、運(yùn)行控制模塊、配置管理模塊、腳本執(zhí)行模塊、時(shí)間統(tǒng)計(jì)模塊、結(jié)果統(tǒng)計(jì)模塊、日志管理模塊,其中所述通信模塊負(fù)責(zé)與所述測(cè)試用例服務(wù)器的通信,負(fù)責(zé)與所述測(cè)試監(jiān)控端的通信,進(jìn)行數(shù)據(jù)傳遞與消息交互;所述腳本管理模塊根據(jù)執(zhí)行用例列表同步本地測(cè)試用例腳本,并控制本地測(cè)試用例的生存期限,負(fù)責(zé)提供測(cè)試用例腳本到所述腳本執(zhí)行模塊;所述任務(wù)管理模塊接收操作任務(wù),解析操作命令并分發(fā)到不同處理模塊,所述命令包括運(yùn)行控制命令、配置管理命令;負(fù)責(zé)測(cè)試任務(wù)的管理,測(cè)試任務(wù)隊(duì)列的管理;所述運(yùn)行控制模塊負(fù)責(zé)運(yùn)行流程的控制、腳本執(zhí)行順序的控制、腳本執(zhí)行結(jié)果提交;負(fù)責(zé)運(yùn)行過(guò)程中的異常處理以及容錯(cuò)處理;負(fù)責(zé)測(cè)試腳本執(zhí)行時(shí)間異常處理;所述配置管理模塊負(fù)責(zé)測(cè)試環(huán)境的配置、執(zhí)行邏輯的配置、執(zhí)行參數(shù)的配置;所述腳本執(zhí)行模塊核心是工具命令語(yǔ)言Tcl解釋器,負(fù)責(zé)測(cè)試支持庫(kù)的加載、測(cè)試腳本的執(zhí)行,測(cè)試日志輸出;所述時(shí)間統(tǒng)計(jì)模塊負(fù)責(zé)統(tǒng)計(jì)測(cè)試腳本的執(zhí)行時(shí)間,測(cè)試任務(wù)的執(zhí)行時(shí)間,為所述運(yùn)行控制模塊提供時(shí)間判斷依據(jù);所述結(jié)果統(tǒng)計(jì)模塊負(fù)責(zé)統(tǒng)計(jì)測(cè)試腳本的執(zhí)行結(jié)果,格式化執(zhí)行結(jié)果并生成結(jié)果統(tǒng)計(jì)文件;所述日志管理模塊負(fù)責(zé)日志格式化并生成日志文件,負(fù)責(zé)發(fā)送測(cè)試日志到所述測(cè)試監(jiān)控端;在多監(jiān)控中,用于提交不同測(cè)試日志到不同測(cè)試監(jiān)控端。5、如權(quán)利要求4所述系統(tǒng),其特征在于,所述守護(hù)管理器,還負(fù)責(zé)所述測(cè)試執(zhí)行端的進(jìn)程的監(jiān)控、釋放、異常處理,其包括通信才莫塊、命令解析模塊、執(zhí)行端管理模塊、執(zhí)行端守護(hù)模塊,其中所述通信模塊負(fù)責(zé)與所述測(cè)試監(jiān)控端的通信,進(jìn)行數(shù)據(jù)傳遞與消息交互;所述命令解析模塊負(fù)責(zé)解析來(lái)自所述測(cè)試監(jiān)控端的操作命令,并傳送所述操作命令到所述執(zhí)行端管理模塊;所述執(zhí)行端管理模塊根據(jù)解析出的操作命令控制所述測(cè)試執(zhí)行端,包括啟動(dòng)所述測(cè)試執(zhí)行端、退出所述測(cè)試執(zhí)行端、所述測(cè)試執(zhí);f亍端的狀態(tài)管理,所述測(cè)試執(zhí)行端狀態(tài)包括在運(yùn)行、空閑、未啟動(dòng);創(chuàng)建所述測(cè)試執(zhí)行端的守護(hù)進(jìn)程、退出所述測(cè)試執(zhí)行端的守護(hù)進(jìn)程;所述執(zhí)行端守護(hù)模塊負(fù)責(zé)監(jiān)控所述測(cè)試執(zhí)行端的執(zhí)行過(guò)程,一旦所述測(cè)試執(zhí)行端異常退出,通知所述執(zhí)行端管理模塊。6、一種分布式自動(dòng)化測(cè)試方法,其特征在于,包括如下步驟(1)測(cè)試監(jiān)控端從測(cè)試用例服務(wù)器獲取測(cè)試用例腳本列表以生成測(cè)試用例執(zhí)行列表,然后所述測(cè)試監(jiān)控端發(fā)送啟動(dòng)命令到一個(gè)或多個(gè)測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器,啟動(dòng)所述測(cè)試執(zhí)行端后,提交所述測(cè)試用例執(zhí)行列表到對(duì)應(yīng)的所述測(cè)試執(zhí)行端;(2)所述測(cè)試執(zhí)行端4妄收并根據(jù)所述測(cè)試用例執(zhí)行列表/人所述測(cè)試用例服務(wù)器獲取測(cè)試用例腳本并執(zhí)行,生成測(cè)試日志文件和結(jié)果統(tǒng)計(jì)文件;完成本次測(cè)試后,通知所述測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端;(3)所述測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端從所述測(cè)試^l行端提取所述生成的測(cè)試日志文件和結(jié)果統(tǒng)計(jì)文件,進(jìn)行本地分析處理。7、如權(quán)利要求6所述方法,其特征在于,步驟(l)中,所述測(cè)試監(jiān)控端乂人測(cè)試用例服務(wù)器獲取測(cè)試用例腳本列表以生成測(cè)試用例扭J亍列表后,才丸行如下步驟(1.1)所述測(cè)試監(jiān)控端瀏覽本地測(cè)試執(zhí)行端列表,選擇一個(gè)或多個(gè)測(cè)試執(zhí)行端;(1.2)所述測(cè)試監(jiān)控端登陸到所述測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器,發(fā)送啟動(dòng)命令到所述測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器;(1.3)所述測(cè)試執(zhí)行端對(duì)應(yīng)的守護(hù)管理器啟動(dòng)所述測(cè)試纟丸行端后,通知該測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端;(1.4)所述測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端登陸到該測(cè)試4丸行端,配置測(cè)試參數(shù),生成測(cè)試控制參數(shù)列表;(1.5)所述測(cè)試監(jiān)控端提交所述測(cè)試控制參數(shù)列表和測(cè)試執(zhí)行列表到該測(cè)試監(jiān)控端對(duì)應(yīng)的測(cè)試執(zhí)行端。8、如權(quán)利要求6所述方法,其特征在于,步驟(2)中,所述測(cè)試執(zhí)行端執(zhí)行測(cè)試用例腳本過(guò)程中,如果異常退出,則所述測(cè)試扭Jf亍端對(duì)應(yīng)的守護(hù)管理器重啟該測(cè)試執(zhí)行端,控制該測(cè)試執(zhí)行端加載異常處理才幾制,繼續(xù)執(zhí)行所述測(cè)試用例腳本,并通知該測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端重新建立通信連接。9、如權(quán)利要求6所述方法,其特征在于,步驟(2)中,所述測(cè)試執(zhí)行端執(zhí)行測(cè)試用例腳本過(guò)程中,還輸出實(shí)時(shí)測(cè)試日志文件到其對(duì)應(yīng)當(dāng)?shù)臏y(cè)試監(jiān)控端,實(shí)現(xiàn)實(shí)時(shí)的測(cè)試日志瀏覽。10、如權(quán)利要求6所述方法,其特征在于,步驟(3)中,所述測(cè)試執(zhí)行端對(duì)應(yīng)的測(cè)試監(jiān)控端還發(fā)送控制命令到所述守護(hù)管理器,釋放所述測(cè)試執(zhí)行端的進(jìn)程。全文摘要一種分布式自動(dòng)化測(cè)試系統(tǒng),包括測(cè)試用例服務(wù)器、至少一個(gè)測(cè)試監(jiān)控端、至少一個(gè)測(cè)試執(zhí)行端、以及為每個(gè)測(cè)試執(zhí)行端配置的守護(hù)管理器。還公開(kāi)一種分布式自動(dòng)化測(cè)試方法,包括1)測(cè)試監(jiān)控端從測(cè)試用例服務(wù)器獲取測(cè)試用例腳本列表生成測(cè)試用例執(zhí)行列表,然后通過(guò)守護(hù)管理器啟動(dòng)測(cè)試執(zhí)行端后,提交測(cè)試用例執(zhí)行列表到對(duì)應(yīng)的測(cè)試執(zhí)行端;2)測(cè)試執(zhí)行端接收后從測(cè)試用例服務(wù)器獲取測(cè)試用例腳本并執(zhí)行,生成測(cè)試日志文件和結(jié)果統(tǒng)計(jì)文件;完成本次測(cè)試后,通知測(cè)試監(jiān)控端;3)測(cè)試監(jiān)控端從測(cè)試執(zhí)行端提取生成的測(cè)試日志文件和結(jié)果統(tǒng)計(jì)文件,進(jìn)行本地分析處理。本發(fā)明方案可以實(shí)現(xiàn)自動(dòng)化測(cè)試中的多監(jiān)控、分布式監(jiān)控、并行分析、測(cè)試用例集中管理。文檔編號(hào)H04L12/26GK101252471SQ20081008577公開(kāi)日2008年8月27日申請(qǐng)日期2008年3月20日優(yōu)先權(quán)日2008年3月20日發(fā)明者劉宗昌,樊志強(qiáng),沙金剛,許生海申請(qǐng)人:中興通訊股份有限公司