專利名稱:多測試場景自動(dòng)調(diào)度系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)測試領(lǐng)域。
技術(shù)背景目前主流的測試工具廠家如Mercury, Compuware提供的工具 可定制啟動(dòng)場景的時(shí)機(jī),也能夠?qū)崿F(xiàn)以命令行(command line)方式在 Windows平臺(tái)上自動(dòng)運(yùn)行測試場景。另外,借助編寫簡單的腳本或者 任務(wù)計(jì)劃,可以實(shí)現(xiàn)多個(gè)測試場景的串行運(yùn)行。但測試場景的切換前后往往還需要開展多種有依賴關(guān)系、跨平臺(tái) 的準(zhǔn)備與清理工作,例如測試數(shù)據(jù)的更新、備份和恢復(fù),服務(wù)器軟 件的重新啟動(dòng),測試記錄的標(biāo)記與保存等工作?,F(xiàn)有的測試工具難以 粘合跨平臺(tái)的應(yīng)用,簡單的腳本或者任務(wù)計(jì)劃也難以滿足個(gè)性化、有 依賴關(guān)系、跨平臺(tái)的準(zhǔn)備與清理工作需求,因此尚沒有合適的方式組 織和復(fù)用這些測試準(zhǔn)備以及清理動(dòng)作,往往只能是針對(duì)實(shí)際的測試需 要,分別編寫和維護(hù)龐大的腳本,代價(jià)很大,復(fù)用程度低。因此,迫切需要本發(fā)明提出的多測試場景自動(dòng)調(diào)度工具。發(fā)明內(nèi)容本發(fā)明的目的是以通用的可靈活定制、擴(kuò)展、跨平臺(tái)的方式實(shí)現(xiàn) 多測試場景的自動(dòng)調(diào)度,能夠自動(dòng)在場景切換前后進(jìn)行準(zhǔn)備和清理工 作,復(fù)用典型的準(zhǔn)備和清理工作的代碼,降低多測試場景調(diào)度腳本的 開發(fā)工作量。另外,提供服務(wù)擴(kuò)展點(diǎn),實(shí)現(xiàn)不更改現(xiàn)有代碼即插入新 的服務(wù),提供較好的可擴(kuò)展性。根據(jù)本發(fā)明的一個(gè)方面,提供了一種多測試場景自動(dòng)調(diào)度系統(tǒng), 包括多個(gè)服務(wù)器,在每個(gè)服務(wù)器上部署包括準(zhǔn)備和清理服務(wù)的動(dòng)作庫;和與所述多個(gè)服務(wù)器相連的測試機(jī)器,在該測試機(jī)器上部署調(diào)度引擎和配置庫,其中所述配置庫包括場景定義文件,其特征在于在 執(zhí)行場景測試時(shí),調(diào)度引擎驗(yàn)證和解析配置庫中的場景定義文件,順 序執(zhí)行多個(gè)測試場景,并在場景切換前后的準(zhǔn)備和清理過程中與所述 多個(gè)服務(wù)器中的至少一個(gè)服務(wù)器交互,使所述至少一個(gè)服務(wù)器自動(dòng)執(zhí) 行動(dòng)作庫中的準(zhǔn)備或清理服務(wù)。根據(jù)本發(fā)明的另一方面,提供一種多測試場景自動(dòng)調(diào)度方法,包 括部署包括場景準(zhǔn)備和清理服務(wù)的動(dòng)作庫;部署調(diào)度引擎和包括場 景定義文件的配置庫;由調(diào)度引擎驗(yàn)證和解析所述配置庫中的場景定 義文件;以及順序執(zhí)行場景定義文件中的多個(gè)測試場景,并在場景切 換前后自動(dòng)執(zhí)行動(dòng)作庫中的準(zhǔn)備或清理服務(wù)。本發(fā)明能大大降低測試執(zhí)行的所需人力及手工執(zhí)行的出錯(cuò)率,并 使各項(xiàng)準(zhǔn)備、執(zhí)行、清理服務(wù)連貫、跨平臺(tái)執(zhí)行。
圖1示出了根據(jù)本發(fā)明一種實(shí)施方式的多測試場景自動(dòng)調(diào)度系統(tǒng) 的框圖;圖2示出了場景定義文件的數(shù)據(jù)結(jié)構(gòu);圖3示出了根據(jù)本發(fā)明一種實(shí)施方式的多測試場景自動(dòng)調(diào)度系統(tǒng) 的操作流程圖;圖4a示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的測試場景1;以及 圖4b示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的測試場景2。
具體實(shí)施方式
圖l示出了根據(jù)本發(fā)明一種實(shí)施方式的多測試場景自動(dòng)調(diào)度系統(tǒng) 1的框圖。該系統(tǒng)1包括執(zhí)行場景的機(jī)器10 (例如Windows PC)、 數(shù)據(jù)庫服務(wù)器11、應(yīng)用服務(wù)器12,三者之間通過本領(lǐng)域中公知的方式 相互通信,例如LAN、 WAN、 Internet等。機(jī)器10、服務(wù)器11和12 中的每一個(gè)都具有處理器、存儲(chǔ)器、輸入/輸出設(shè)備、顯示設(shè)備、網(wǎng)絡(luò)接口等常見的組件,這些組件都是本領(lǐng)域的普通技術(shù)人員熟知的,這 里沒有示出,也不具體解釋。本領(lǐng)域的技術(shù)人員可以理解,在該系統(tǒng) 1中可以根據(jù)需要增加其它服務(wù)器和執(zhí)行場景的機(jī)器,下面進(jìn)一步介紹幾個(gè)和本發(fā)明有關(guān)的概念。測試環(huán)境在本發(fā)明的一種實(shí)施方式中,為了運(yùn)行多測試場景自動(dòng)調(diào)度系統(tǒng)1,需要在執(zhí)行場景的機(jī)器10上部署Perl環(huán)境以及相應(yīng)的服務(wù)模塊, 例如網(wǎng)絡(luò)模塊、配置模塊等,這些服務(wù)模塊例如是Perl的一些插件, 實(shí)現(xiàn)遠(yuǎn)程登錄、控制等功能。配置庫配置庫14存放在執(zhí)行場景的機(jī)器10上,包括場景定義文件。場 景定義文件的數(shù)據(jù)結(jié)構(gòu)如困2所示,可用TXT或者XML描述。動(dòng)作庫動(dòng)作庫15是可擴(kuò)展的準(zhǔn)備與清理服務(wù)的集合,具體實(shí)現(xiàn)為一些 腳本執(zhí)行文件?;镜臏?zhǔn)備或清理服務(wù)包括執(zhí)行本地或遠(yuǎn)程主機(jī)OS shell腳本、獲取并更新測試數(shù)據(jù)、執(zhí)行Oracle數(shù)據(jù)庫statspack快照、 重啟Oracle/Tuxedo服務(wù)、同步機(jī)器時(shí)間、清理日志、上傳以及下 載文件、執(zhí)行通用的Windows bat/Unix shell 。準(zhǔn)備或者清理服務(wù)可 以根據(jù)任務(wù)定制、擴(kuò)展。在本發(fā)明的一種實(shí)施方式中,在整個(gè)系統(tǒng)運(yùn)行之前,利用 Windowsbat/Unix shell語言編寫腳本執(zhí)行文件,實(shí)現(xiàn)多個(gè)場景執(zhí)行 準(zhǔn)備與清理服務(wù)。編寫完畢,可根據(jù)需要將腳本執(zhí)行文件(即動(dòng)作庫) 上傳到不同類型的服務(wù)器(例如數(shù)據(jù)庫服務(wù)器U和應(yīng)用服務(wù)器12) 并授予執(zhí)行權(quán)限。調(diào)度引擎調(diào)度引奪13是整個(gè)系統(tǒng)的核心,用于解釋與執(zhí)行配置庫14中定義的工作流程,執(zhí)行過程中調(diào)度引擎13調(diào)用動(dòng)作庫15提供的服務(wù)完 成工作。調(diào)度引擎13能夠解析、驗(yàn)證依照預(yù)定規(guī)則定義的.txt文本或 XML方式的場景定義文件,然后順序執(zhí)行多個(gè)測試場景。調(diào)度引擎13在場景準(zhǔn)備和場景退出后提供兩個(gè)服務(wù)擴(kuò)展點(diǎn) (HOOKPOINT),并可在擴(kuò)展點(diǎn)桂接任意多個(gè)順序的服務(wù),滿足常用 的評(píng)測需求,并能夠根據(jù)需要采用外掛shell腳本的方式實(shí)現(xiàn)靈活的擴(kuò) 展。在驗(yàn)證場景定義文件之后,調(diào)度引擎13解析在場景定義文件(圖 2)的"場景準(zhǔn)備服務(wù)列表"、"場景清理服務(wù)列表,,中指定的服務(wù),并實(shí) 現(xiàn)服務(wù)的分發(fā)。所謂"分發(fā)",是指在調(diào)度引擎13的分發(fā)器中對(duì)"場景 準(zhǔn)備服務(wù)列表"和"場景清理服務(wù)列表"的服務(wù)名稱與參數(shù)進(jìn)行識(shí)別,然 后分發(fā)到各個(gè)處理子模塊中轉(zhuǎn)換為實(shí)際的動(dòng)作庫服務(wù)路徑與名稱,這 樣才能完成實(shí)際服務(wù)的執(zhí)行。在一個(gè)實(shí)施例中,處理子模塊是調(diào)度引 擎程序中的子程序,如數(shù)據(jù)庫重啟子模塊、應(yīng)用日志清理模塊。只要在分發(fā)器搜索到即執(zhí)行相應(yīng)的服務(wù)。服務(wù)執(zhí)行過程中,實(shí)時(shí) 輸出服務(wù)狀態(tài),并根據(jù)不同的服務(wù)狀態(tài)決定下 一個(gè)準(zhǔn)備/清理服務(wù)或者 測試內(nèi)容。在本發(fā)明的一種實(shí)施方式中,本發(fā)明設(shè)計(jì)的多測試場景自動(dòng)調(diào)度 工具調(diào)度引擎利用Perl語言實(shí)現(xiàn),利用其內(nèi)嵌的網(wǎng)絡(luò)服務(wù)、XML服 務(wù)、配置解析等常用API實(shí)現(xiàn)快速編程,發(fā)揮腳本語言的膠著多項(xiàng)應(yīng) 用的強(qiáng)大功能。圖3示出了根據(jù)本發(fā)明一種實(shí)施方式的多測試場景自動(dòng)調(diào)度系統(tǒng) 的工作流程困。在步驟31中,調(diào)度引擎13讀取并驗(yàn)證位于同一機(jī)器 10上的場景定義文件。在步驟32,調(diào)度引擎13解析"場景準(zhǔn)備服務(wù)列 表"21中的準(zhǔn)備動(dòng)作,對(duì)服務(wù)名稱和參數(shù)進(jìn)行識(shí)別。在步驟33,調(diào)度 引擎13根據(jù)步驟32中的識(shí)別結(jié)果將服務(wù)分發(fā)到相應(yīng)的處理子模塊, 在子模塊中轉(zhuǎn)換為實(shí)際的動(dòng)作庫服務(wù)路徑和名稱。然后調(diào)度引擎13 按照指定的服務(wù)路徑訪問相應(yīng)的數(shù)據(jù)庫,在通過執(zhí)行權(quán)限驗(yàn)證后,執(zhí) 行預(yù)先編寫并上傳到數(shù)據(jù)庫中的腳本執(zhí)行文件,完成場景準(zhǔn)備。在步驟34,調(diào)度引擎13檢查該場景準(zhǔn)備是否完成。實(shí)際中,可能由于多 種原因?qū)е聢鼍皽?zhǔn)備中斷,例如重啟數(shù)據(jù)庫失敗,登錄失敗等。如果 在步驟34的結(jié)果為"是",即場景準(zhǔn)備完成,過程前進(jìn)到步驟35,否 則返回到步驟33,繼續(xù)執(zhí)行場景準(zhǔn)備動(dòng)作。在步驟35,調(diào)度引擎13 在測試機(jī)器10上執(zhí)行測試場景。在步驟36,調(diào)度引擎13解析"場景 清理列表,,23中的場景清理動(dòng)作,對(duì)服務(wù)名稱和參數(shù)進(jìn)行識(shí)別。在步 驟37,類似于步驟33執(zhí)行上傳到相應(yīng)的服務(wù)器上的腳本執(zhí)行文件, 完成場景清理。在步驟38,檢查該場景清理是否完成?如果完成,前 進(jìn)到步驟39,否則返回到步驟37。在步驟39檢查是否所有的場景都 已完成,如果是,則過程結(jié)束,否則返回到步驟32準(zhǔn)備下一個(gè)場景執(zhí) 行過程。下面舉一個(gè)具體的例子來說明本發(fā)明的多測試場景自動(dòng)調(diào)度系統(tǒng)。比如某個(gè)測試任務(wù)中,有兩個(gè)測試場景場景l(fā)如困4a所示,在 測試場景執(zhí)行前需要重啟數(shù)據(jù)庫,同時(shí)要比較測試前后數(shù)據(jù)庫的狀態(tài)。 場景2如困4b所示,在測試場景執(zhí)行前需要清理應(yīng)用日志、重啟數(shù)據(jù) 庫,同時(shí)也要比較測試前后數(shù)據(jù)庫的狀態(tài)。在現(xiàn)有技術(shù)中,測試人員需要首先登陸到數(shù)據(jù)庫服務(wù)器,執(zhí)行重 啟數(shù)據(jù)庫,并執(zhí)行數(shù)據(jù)庫快照記錄數(shù)據(jù)庫狀態(tài)。然后啟動(dòng)測試工具, 執(zhí)行測試場景1。觀察到測試場景1執(zhí)行完畢,再次登陸到數(shù)據(jù)庫服 務(wù)器,執(zhí)行數(shù)據(jù)庫快照。然后登陸到應(yīng)用服務(wù)器,清理應(yīng)用日志,登 陸到數(shù)據(jù)庫服務(wù)器,執(zhí)行重啟數(shù)據(jù)庫,并執(zhí)行數(shù)據(jù)庫快照記錄數(shù)據(jù)庫 狀態(tài)。然后啟動(dòng)測試工具,執(zhí)行測試場景2。觀察到測試場景2執(zhí)行 完畢,再次登陸到數(shù)據(jù)庫服務(wù)器,執(zhí)行數(shù)據(jù)庫快照。整個(gè)測試過程中, 測試人員都需要一直在場,并且需要在不同服務(wù)器上進(jìn)行切換。在本發(fā)明的一種實(shí)施方式中,使用多場景自動(dòng)調(diào)度工具即可有效 地實(shí)現(xiàn)全流程自動(dòng)化,提高工作效率,減少人工失誤。使用自動(dòng)調(diào)度工具的流程如下1.場景1中,場景準(zhǔn)備服務(wù)包括"重啟Oracle數(shù)據(jù)庫"、"執(zhí)行 Oracle數(shù)據(jù)庫實(shí)例快照,,;場景清理服務(wù)包括"執(zhí)行Oracle數(shù)據(jù)庫實(shí)例快照"。場景2中,場景準(zhǔn)備服務(wù)包括"清理應(yīng)用日志","重啟Oracle 數(shù)據(jù)庫"、"執(zhí)行Oracle數(shù)據(jù)庫實(shí)例快照,,;場景清理服務(wù)包括"執(zhí)行 Oracle數(shù)據(jù)庫實(shí)例快照"。其中相同的服務(wù)是可以重用的,在調(diào)度引擎程序中增加"重啟 Oracle數(shù)據(jù)庫"、"執(zhí)行Oracle數(shù)據(jù)庫實(shí)例快照"、"清理應(yīng)用日志,,服 務(wù)的處理子模塊。編寫實(shí)現(xiàn)重啟數(shù)據(jù)庫(restartDB.sh ) 、 Oracle數(shù) 據(jù)庫實(shí)例快照(snapshot.sh)、刪除應(yīng)用日志文件(delLog.sh)的Shell腳 本,編寫后保存到動(dòng)作庫中。2. 搭建環(huán)境在執(zhí)行測試的機(jī)器10上部署perl環(huán)境以及調(diào)度引奪程序。 將重啟數(shù)據(jù)庫(restartDB.sh ) 、 Oracle數(shù)據(jù)庫實(shí)例快照 (snapshot.sh)腳本上傳到數(shù)據(jù)庫服務(wù)器11上,將刪除應(yīng)用日志文件 (delLog.sh)腳本上傳到應(yīng)用服務(wù)器12中,賦予執(zhí)行權(quán)限。3. 編寫場景定義文件如下所示(斜體字表示需要根椐實(shí)際填寫 的信息),定義測試場景的運(yùn)行順序,及測試場景準(zhǔn)備服務(wù)(before) 和清理服務(wù)(after ):scenario: ,/試游# J運(yùn)#爻斧名;浙試#采存放厚錄 卄before:重啟oracle數(shù)據(jù)庫(炎拔岸^批^,登^名,f^密碼, 炎井J^炎疾岸^辨辟本^購;執(zhí)行快照服務(wù)(炎蕃岸i農(nóng)^, 登^名,登求#竭,戎^缺厲辟本^ #);NULL| I after:執(zhí)行快照 服務(wù)(j農(nóng)名,f求名,登求#竭,戎存鍵庸辟本4購;NULLscenario:求^試場# 2適^^Jt斧i s;資y試脊果存放厚^ 卄before:清理應(yīng)用日志(i農(nóng)名,登^^,登錄,竭,戎存《,悉 ;5^^^^t^詢;重啟oracle數(shù)據(jù)庫(炎蕃岸i農(nóng)《登隸^,登 求資碎炎斤J^炎禁岸獎(jiǎng)辦辟本名稱);執(zhí)行快照服務(wù)(炎^ 脊錄名,登求資竭,戎^T鍵;C^本名#);NULL| lafter: 執(zhí)行快照服務(wù)(主機(jī)名,登錄名,登錄密碼,執(zhí)行快照腳本名稱);NUIX4.將場景定義文件放在執(zhí)行測試的機(jī)器10上,運(yùn)行多場景自動(dòng) 調(diào)度工具。調(diào)度引擎13根據(jù)場景定義文件定義的順序執(zhí)行,完成兩個(gè) 場景的測試,并在場景執(zhí)行前后分析場景準(zhǔn)備服務(wù)、場景清理服務(wù)列 表,分發(fā)處理并最后實(shí)現(xiàn)服務(wù)器上的相應(yīng)shell腳本的執(zhí)行。在運(yùn)行過 程中,調(diào)度引擎13根據(jù)不同的狀態(tài)決定下一個(gè)動(dòng)作執(zhí)行流向。例如, 如果執(zhí)行"重啟oracle數(shù)據(jù)庫"的狀態(tài)為不成功,即結(jié)束余下的所有動(dòng) 作。測試人員也可實(shí)時(shí)觀測到各項(xiàng)服務(wù)的運(yùn)行狀態(tài)。結(jié)論本發(fā)明的多測試場景自動(dòng)調(diào)度工具能夠解析TXT文本或XML 文本方式的場景定義文件并順序執(zhí)行多個(gè)測試場景。在場景準(zhǔn)備和場 景退出時(shí)提供兩個(gè)服務(wù)擴(kuò)展點(diǎn)(HOOKPOINT),并可在擴(kuò)展點(diǎn)掛接任 意多個(gè)順序的、異構(gòu)平臺(tái)的服務(wù),本發(fā)明定義了包括執(zhí)行本地或遠(yuǎn)程主機(jī)OS shell腳本、獲取并更 新測試數(shù)據(jù)、執(zhí)行Oracle數(shù)據(jù)庫statspack等基本的準(zhǔn)備或清理動(dòng)作, 滿足常用的需求,并能夠根據(jù)需要采用外挫shell腳本的方式很方便地 擴(kuò)展。本發(fā)明相對(duì)現(xiàn)有技術(shù)而言具有以下優(yōu)點(diǎn)和效果1.本發(fā)明解決 了目前尚無合適方式組織和復(fù)用多場景切換時(shí)的典型準(zhǔn)備或者清理動(dòng) 作的問題,大大降低了編寫和維護(hù)多場景調(diào)度腳本的代價(jià);2.本發(fā)明 以清晰的方式定義待自動(dòng)運(yùn)行的多個(gè)場景,并在適當(dāng)?shù)臅r(shí)候自動(dòng)完成 多個(gè)場景準(zhǔn)備或者清理動(dòng)作,極大的減少了人工干預(yù)并保證各項(xiàng)服務(wù) 連貫、跨平臺(tái)執(zhí)行;3.程序內(nèi)部以及場景定義文件提供服務(wù)擴(kuò)展點(diǎn), 實(shí)現(xiàn)插樁式擴(kuò)展服務(wù)。在上述描述和相關(guān)附圖中的教導(dǎo)下,本發(fā)明所屬領(lǐng)域的技術(shù)人員 將會(huì)認(rèn)識(shí)到本發(fā)明的很多修改方案和其他實(shí)施方式.因此,應(yīng)當(dāng)理解, 本發(fā)明不限于所披露的具體實(shí)施方式
,多種修改方案和其他實(shí)施方式也包括在本發(fā)明要求保護(hù)的范圍內(nèi)。雖然這里采用了特定的術(shù)語,但 是它們僅僅是用于一般性的描述含義,而不是限制目的。
權(quán)利要求
1. 一種多測試場景自動(dòng)調(diào)度系統(tǒng),包括多個(gè)服務(wù)器,在每個(gè)服務(wù)器上部署包括準(zhǔn)備和清理服務(wù)的動(dòng)作庫;和與所述多個(gè)服務(wù)器相連的測試機(jī)器,在該測試機(jī)器上部署調(diào)度引擎和配置庫,其中所述配置庫包括場景定義文件,其特征在于在執(zhí)行場景測試時(shí),調(diào)度引擎驗(yàn)證和解析配置庫中的場景定義文件,順序執(zhí)行多個(gè)測試場景,并在場景切換前后的準(zhǔn)備和清理過程中與所述多個(gè)服務(wù)器中的至少一個(gè)服務(wù)器交互,使所述至少一個(gè)服務(wù)器自動(dòng)執(zhí)行動(dòng)作庫中的準(zhǔn)備或清理服務(wù)。
2. 如權(quán)利要求1所述的系統(tǒng),其中,所述場景定義文件包括場 景準(zhǔn)備服務(wù)列表、場景執(zhí)行服務(wù)和場景清理服務(wù)列表。
3. 如權(quán)利要求2所述的系統(tǒng),其中,所述調(diào)度引擎包括分發(fā)器 和處理子模塊,在所述分發(fā)器中對(duì)場景準(zhǔn)備服務(wù)列表和場景清理服務(wù) 列表中的服務(wù)名稱與參數(shù)進(jìn)行識(shí)別,然后將服務(wù)分發(fā)到不同的處理子 模塊,在處理子模塊中將服務(wù)名稱和參數(shù)轉(zhuǎn)換為實(shí)際的動(dòng)作庫服務(wù)路 徑與名稱,以便與相應(yīng)的服務(wù)器交互。
4. 如權(quán)利要求1所述的系統(tǒng),其中,在場景執(zhí)行過程中,所述 調(diào)度引擎實(shí)時(shí)輸出服務(wù)狀態(tài),并根據(jù)不同的服務(wù)狀態(tài)決定下一個(gè)準(zhǔn)備 或清理服務(wù)或者測試內(nèi)容。
5. 如權(quán)利要求1所述的系統(tǒng),其中,所述調(diào)度引擎在場景準(zhǔn)備 和場景退出后提供兩個(gè)服務(wù)擴(kuò)展點(diǎn),并可在擴(kuò)展點(diǎn)掛接任意多個(gè)順序 的服務(wù)。
6. 如權(quán)利要求1所述的系統(tǒng),其中,所述調(diào)度引擎是利用Perl 語言實(shí)現(xiàn)的。
7. 如權(quán)利要求1所述的系統(tǒng),其中,所述動(dòng)作庫中的準(zhǔn)備和清 理服務(wù)被具體實(shí)現(xiàn)為腳本執(zhí)行文件。
8. 如權(quán)利要求7所述的系統(tǒng),其中,利用Winilowsbat/Unix shell語言編寫所述腳本執(zhí)行文件。
9. 如權(quán)利要求7所述的系統(tǒng),其中所述腳本執(zhí)行文件是在執(zhí)行 場景測試前預(yù)先編寫并上傳到相應(yīng)服務(wù)器中的。
10. 如權(quán)利要求l所述的系統(tǒng),其中,所述場景定義文件的格式 包括TXT和XML。
11. 如權(quán)利要求l所述的系統(tǒng),其中,所述測試機(jī)器是WindowsPC。
12. —種多測試場景自動(dòng)調(diào)度方法,包括 部署包括場景準(zhǔn)備和清理服務(wù)的動(dòng)作庫; 部署調(diào)度引擎和包括場景定義文件的配置庫; 由調(diào)度引擎驗(yàn)證和解析所述配置庫中的場景定義文件;以及 順序執(zhí)行場景定義文件中的多個(gè)測試場景,并在場景切換前后自動(dòng)執(zhí)行動(dòng)作庫中的準(zhǔn)備或清理服務(wù)。
13. 如權(quán)利要求12述的方法,其中,所述場景定義文件包括場 景準(zhǔn)備服務(wù)列表、場景執(zhí)行服務(wù)和場景清理服務(wù)列表。
14. 如權(quán)利要求13所述的方法,其中,由調(diào)度引擎驗(yàn)證和解析 所述配置庫中的場景定義文件的步驟包括對(duì)場景準(zhǔn)備服務(wù)列表和場 景清理服務(wù)列表中的服務(wù)名稱與參數(shù)進(jìn)行識(shí)別,將服務(wù)名稱和參數(shù)轉(zhuǎn) 換為實(shí)際的動(dòng)作庫服務(wù)路徑與名稱,以便執(zhí)行動(dòng)作庫中的準(zhǔn)備或清理 服務(wù)。
15. 如權(quán)利要求12所述的方法,其中,在場景執(zhí)行過程中,所 述調(diào)度引擎實(shí)時(shí)輸出服務(wù)狀態(tài),并根據(jù)不同的服務(wù)狀態(tài)決定下一個(gè)準(zhǔn) 備或清理服務(wù)或者測試內(nèi)容。
16. 如權(quán)利要求12所述的方法,其中,所述調(diào)度引擎在場景準(zhǔn) 備和場景退出后提供兩個(gè)服務(wù)擴(kuò)展點(diǎn),并可在擴(kuò)展點(diǎn)掛接任意多個(gè)順 序的服務(wù)。
全文摘要
本發(fā)明涉及多測試場景自動(dòng)調(diào)度系統(tǒng)。該系統(tǒng)包括多個(gè)服務(wù)器,在每個(gè)服務(wù)器上部署包括準(zhǔn)備和清理服務(wù)的動(dòng)作庫;和與多個(gè)服務(wù)器相連的測試機(jī)器,在該測試機(jī)器上部署調(diào)度引擎和配置庫,其中所述配置庫包括場景定義文件。在執(zhí)行場景測試時(shí),調(diào)度引擎驗(yàn)證和解析配置庫中的場景定義文件,順序執(zhí)行多個(gè)測試場景,并在場景切換前后的準(zhǔn)備和清理過程中與所述多個(gè)服務(wù)器中的至少一個(gè)服務(wù)器交互,使所述至少一個(gè)服務(wù)器執(zhí)行動(dòng)作庫中的準(zhǔn)備或清理服務(wù)。本發(fā)明解決了目前尚無合適方式組織和復(fù)用多場景切換時(shí)的典型準(zhǔn)備或者清理動(dòng)作的問題,大大降低了編寫和維護(hù)多場景調(diào)度腳本的代價(jià),極大的減少了人工干預(yù)并保證各項(xiàng)服務(wù)連貫、跨平臺(tái)執(zhí)行。
文檔編號(hào)G06F11/28GK101266566SQ20071008633
公開日2008年9月17日 申請(qǐng)日期2007年3月13日 優(yōu)先權(quán)日2007年3月13日
發(fā)明者夏紅莉, 楊潤華, 梁劍釗, 袁立宇, 陳劍波 申請(qǐng)人:中國電信股份有限公司