一種分布式綜合業務自動化測試系統及方法
2023-04-25 15:47:36 1
專利名稱:一種分布式綜合業務自動化測試系統及方法
技術領域:
本發明涉及軟體測試技術領域,尤其涉及一種分布式綜合業務自動化測試系統及
方法。
背景技術:
隨著社會的進步、人民生活水平的提高,軟體日益滲透到我們生活的方方面面,而 隨著軟體應用的擴展及深入,軟體系統也越來越複雜,為了降低成本、縮短軟體交付時間、 提高軟體穩定性,軟體企業從未放棄對測試效率提升的追求。 對於比較成熟的軟體產品,軟體開發組織一般會使用自動化測試工具,然而,對於 複雜的軟體系統,既需要完成某一子系統的界面及業務測試,又需要完成跨越多個子系統 之間的綜合業務測試,同時一般還需要解決分布式問題。 對於單一軟體子系統的測試,可分別採用針對不同業務類型的測試工具,如 GUI (Graphical User Interface,圖形用戶界面)測試工具或性能測試工具,而對於一個軟 件子系統的不同業務之間或者多個軟體子系統之間的自動化測試,這些以往'強大'的測試 工具就顯得力不從心了。 目前尚未提出對這類具有分布式特點的不同子系統之間綜合業務測試的自動化 測試解決方案,但此類需求卻呈日益增長之勢,尤以電信軟體系統為甚。
發明內容
本發明所要解決的技術問題在於,提供一種分布式綜合業務自動化測試系統及方 法,用於解決現有自動化測試工具及測試方案,只能進行單項業務測試或單個子系統測試, 而無法實現綜合業務類型測試的問題。 為了解決上述問題,本發明提出了一種分布式綜合業務的自動化測試系統,包括 分布式布置的客戶端、調度伺服器、測試子系統,用於對分布式布置的被測系統進行測試, 其中 所述客戶端,用於按邏輯關係組織測試項生成測試任務,開始測試後將測試任務 發送給調度伺服器,並從調度伺服器接收查看測試報告; 所述調度伺服器,用於解析測試任務,按所述邏輯關係調度測試項,將各測試項分 發至對應的測試子系統; 所述測試子系統,用於解析、執行測試項對被測系統進行測試,並收集測試項執行 報告並上報給調度伺服器,由調度伺服器匯總生成測試任務報告給客戶端進行報告查看。
進一步地,所述分布式布置的客戶端、調度伺服器、測試子系統、被測系統是通過 網絡協議連接的,其中 —個調度伺服器為至少一個所述客戶端和至少一個相同的或不相同的測試子系 統服務; —個所述客戶端只能與一個所述調度伺服器建立連接, 一個所述客戶端同時運行
4一個或多個測試任務; —個所述測試子系統只能與一個所述調度伺服器連接,以及只能與一個被測系統建立連接; —個所述被測系統與一個或多個所述測試子系統有連接關係。 進一步地,所述測試項,是測試子系統可識別並執行的一系列操作的集合,每個測
試項都有一個類型標識,該類型標識與測試子系統的種類一一對應。 進一步地,所述邏輯關係是指測試項支持的分支、循環、並發的調度規則,以及延時、賦值的輔助調度規則。 進一步地,所述客戶端進一步還用於對測試任務進行實時狀態監控,調度伺服器在測試任務調度過程中,將測試任務的執行狀態信息發送到客戶端進行實時監控;所述客戶端對所述調度伺服器的調度狀態進行暫停、恢復和停止操作。 進一步地,所述測試任務採用邏輯層次文件夾形式,在測試任務文件夾下包含任務文件和至少一個測試套文件夾; 每個測試套文件夾下包含一個測試套文件和至少一個測試用例文件夾; 每個測試用例文件夾下包含一個測試用例文件和至少一個測試項文件夾,每個測
試項文件夾包含一個測試項文件。 本發明還提供一種分布式綜合業務的自動化測試方法,在分布式布置的客戶端、調度伺服器、測試子系統、被測系統中,分別相應執行下述步驟 A、在客戶端按邏輯關係組織測試項生成測試任務,開始測試後將測試任務發送給調度伺服器; B、調度伺服器解析測試任務,按所述邏輯關係調度測試項,將各測試項分發至對應的測試子系統,由測試子系統解析執行測試項對被測系統進行測試;
C、測試子系統收集測試項執行報告並上報給調度伺服器匯總生成測試任務報告,調度伺服器將測試任務報告發送給客戶端。 進一步地,所述測試項,是測試子系統可識別並執行的一系列操作的集合,每個測試項都有一個類型標識,該類型標識與測試子系統的種類一一對應。 進一步地,所述測試任務採用邏輯層次文件夾形式,在測試任務文件夾下包含任務文件和至少一個測試套文件夾; 每個測試套文件夾下包含一個測試套文件和至少一個測試用例文件夾; 每個測試用例文件夾下包含一個測試用例文件和至少一個測試項文件夾,每個測
試項文件夾包含一個測試項文件; 所述邏輯關係是指測試項支持的分支、循環、並發的調度規則,以及延時、賦值的輔助調度規則。 進一步地,步驟B中進一步包括,在客戶端對測試任務進行實時狀態監控在測試任務調度過程中,調度伺服器將測試任務的執行狀態信息發送到客戶端進行實時監控;在所述客戶端對所述調度伺服器的調度狀態進行暫停、恢復和停止操作。 在本發明的分布式綜合業務自動化測試系統及方法中,測試任務主要元素是測試項,測試任務根據測試需求選擇或新建合適的測試項,然後對這些測試項進行循環、分支、並行、延時等邏輯控制,測試項及測試項的控制邏輯組成測試任務。這就使得測試任務的生成、編輯更加靈活,在該測試系統下可掛載更多的類型的被測系統進行測試,使得測試手段及類型更加豐富。使得本發明的分布式綜合業務自動化測試系統及方法更具有靈活性及廣泛適用性。 本發明的分布式綜合業務自動化測試系統及方法中,綜合業務主要體現在測試項的差異上,每個測試項都有一個類型標識,該類型標識與測試子系統的種類一一對應,在測試任務調度時,調度伺服器根據測試項的類型標識並按照空閒優先或用戶指定優先規則選擇最合適的測試子系統,進而將該測試項發送給測試子系統解析執行。由於在一個測試任務中可以包含不同種類的測試項,所以在測試任務執行時可以對多個被測系統進行測試,並可控制測試的時序,從而實現綜合業務的自動化測試。 本發明的分布式綜合業務自動化測試系統及方法中,分布式主要體現在客戶端、調度伺服器和測試子系統的通信上,他們之間的通信主要是以例如TCP協議的網絡協議為基礎的控制流和數據流通信,因此各模塊都可駐留在不同的計算機中,只要他們共存於一個網絡即可,這就使得測試可以擺脫物理空間上的限制。 綜上所述,本發明的分布式綜合業務自動化測試方法及系統,通過系統中客戶端、調度伺服器和測試子系統之間進行網絡連接實現了分布式,而對測試項類型的區分、測試項運行的測試子系統的指定以及測試用例中對結構化測試腳本的支持,實現了多業務複雜測試場景的支持;同時該系統還支持多測試任務並發、順序、定時等執行方式,並可控制測試任務中各部分是否運行;通過使用此系統,可以極大的擴展測試的廣度和深度,給測試帶來極大的效率提升。
圖1是本發明的自動化測試系統的結構示意圖; 圖2是本發明的自動化測試方法的流程圖; 圖3是本發明的調度伺服器102模塊圖; 圖4是本發明的測試子系統103的模塊圖; 圖5是本發明的客戶端101的模塊圖; 圖6是本發明的自動化測試方法的執行流程圖; 圖7是本發明的調度伺服器註冊響應流程圖; 圖8是本發明的測試任務文件結構圖; 圖9是本發明的調度伺服器測試任務調度流程圖; 圖10是本發明的測試子系統的執行流程圖。
具體實施例方式
為使本發明的目的、技術方案和優點更加清楚,以下結合附圖對本發明作進一步地詳細說明。 本發明為了解決分布式的多個系統之間的綜合業務自動化測試問題,提出了一種分布式綜合業務自動化測試方法及系統。其中,所述測試系統屬於一個測試平臺,與針對具體業務的測試子系統無明顯聯繫,通過擴展,可將任何針對具體業務的測試子系統掛接在該測試平臺之下,故而測試子系統不是本發明重點關注的內容。
6
本發明測試系統構建的測試平臺引入了測試項的概念,測試項是測試子系統可以
識別並執行的基礎測試腳本,每個測試項都有一個類型標識,該類型標識與測試子系統的
種類一一對應。該測試平臺提供的功能,可以將多種類的測試項組裝成結構化的測試腳本,
形成測試任務,通過腳本的調度,從而可以支持多業務的綜合測試功能。當然,該測試平臺
與被測系統之間是支持分布式部署的。這就使得測試任務的生成、編輯更加靈活,在該測試
系統下可掛載更多的類型的被測系統進行測試,使得測試手段及類型更加豐富。使得本發
明的分布式綜合業務自動化測試系統及方法更具有靈活性及廣泛適用性。 如圖1所示,顯示了一種分布式綜合業務的自動化測試系統,包括分布式布置的
客戶端101、調度伺服器102、測試子系統103,用於對分布式布置的被測系統104進行測試,
其中 所述客戶端IOI,用於按邏輯關係組織測試項生成測試任務,開始測試後將測試任務發送給調度伺服器,並從調度伺服器接收查看測試報告; 所述調度伺服器102,用於解析測試任務,按所述邏輯關係調度測試項,將各測試項分發至對應的測試子系統; 所述測試子系統103,用於解析、執行測試項對被測系統104進行測試,並收集測試項執行報告並上報給調度伺服器,由調度伺服器匯總生成測試任務報告給客戶端進行報
告查看。 所述分布式布置的客戶端101、調度伺服器102、測試子系統103、被測系統104之間的連接方式可以進一步限定為 —個調度伺服器為至少一個所述客戶端和至少一個相同的或不相同的測試子系統服務; —個所述客戶端只能與一個所述調度伺服器建立連接, 一個所述客戶端同時運行多個測試任務; —個所述測試子系統只能與一個所述調度伺服器連接,以及只能與一個被測系統建立連接; —個所述被測系統與一個或多個所述測試子系統有連接關係。 所述客戶端與所述調度伺服器之間、測試子系統與所述調度伺服器之間的通信都
是採用TCP協議的形式,其中客戶端和測試子系統都只與調度伺服器進行通信,通信的方
式包括控制流和數據流兩類,控制流用來響應各種控制命令,數據流用來進行測試任務、測
試項或測試報告的傳輸。 在上述圖l所示的自動化測試系統中,進一步地實施時,可以只包含一個調度伺服器102 ;至少一個客戶端101,與所述調度伺服器102進行連接;至少一個測試子系統103,與所述調度伺服器102進行連接;若干被測系統104,所述測試子系統103隻能與一個被測系統104建立連接,而一個所述被測系統104可能與多個所述測試子系統103有連接關係。 所述調度伺服器102,用於完成客戶端及各測試子系統註冊與管理,測試任務的解析、調度,測試任務中各測試項的分發,測試報告的搜集、整理,多級變量支持等。結合圖1,調度伺服器102負責管理至少一個客戶端101和至少一個測試子系統103 ;接收並解析客戶端101發來的各測試任務;對各測試任務進行調度和狀態監控;生成各測試任務的報告;響應客戶端101的各種控制命令;按照一定規則將測試任務中的測試項發送給測試子系統 103執行; 所述客戶端101,負責用例編輯、用例管理,實時運行狀態監控,報告查看,用例運 行控制及其它一些輔助功能。 一套測試系統中可以有多個客戶端,各客戶端獨立工作。結 合圖l,客戶端負責與用戶交互,用戶可通過客戶端101新建測試任務、運行測試任務並對 運行狀態進行控制、監控測試任務運行狀態、接收和解析測試任務運行報告;
所述測試子系統103,用於針對一被測系統執行某類測試,如GUI測試,性能測試 等。測試子系統接收調度伺服器發來的測試項並解析執行,最後匯總測試項報告並返回到 調度伺服器102並進入等待測試項狀態; 所述被測系統104,用於作為測試對象,是測試子系統103的作用對象,測試子系 統通常通過TCP/IP或駐留的方式控制被測系統104,從而執行特定的測試,尤其是測試子 系統103針對被測系統104執行測試項。 基於圖l所示的自動化測試系統,本發明的分布式綜合業務的自動化測試方法, 如圖2所示,包括 A、在客戶端按邏輯關係組織測試項生成測試任務,開始測試後將測試任務發送給 調度伺服器; B、調度伺服器解析測試任務,按所述邏輯關係調度測試項,將各測試項分發至對 應的測試子系統,由測試子系統解析執行測試項對被測系統進行測試;
C 、測試子系統收集測試項執行報告並上報給調度伺服器匯總生成測試任務報告, 在客戶端對測試任務進行報告查看。 其中,客戶端主要是自動化測試系統與測試人員的圖形用戶接口 ,測試人員可通 過所述客戶端編寫測試任務,監控執行狀態,查看報告等。 一個所述客戶端只能與一個所述 調度伺服器建立連接, 一個所述客戶端可同時運行多個測試任務。 其中,調度伺服器接收客戶端編寫的測試任務,對測試任務邏輯進行調度,並在調 度過程中將測試任務中的測試項按照一定的分發規則發送到各所述的測試子系統執行,並 接收所述的測試子系統的測試項執行報告,匯總後返回到客戶端,在測試任務調度過程中, 所述調度伺服器會將測試任務的執行狀態信息發送到客戶端,以便用戶進行實時監控。同 時,用戶在所述客戶端可對所述調度伺服器的調度狀態進行暫停、恢復和停止操作。所述調 度伺服器支持多測試任務並發調度。 其中,所述測試子系統輸入為測試項,測試項為測試子系統待執行的一系列操作 的集合,測試項具有統一的結構,內容根據所述測試子系統的不同而不同,測試項內容只在 所述測試子系統中進行解析、執行,所述測試子系統在執行完測試項後,必須向所述調度服 務器返回特定格式的測試項執行報告。 一個所述測試子系統只能與一個所述調度伺服器連 接。 下面結合附圖對本發明自動化測試的方法及系統進行詳細說明。
本發明的圖1所示的自動化測試系統中,所述調度伺服器102為其核心,如圖3所 示,顯示了所述調度伺服器102的模塊結構圖。所述調度伺服器102包括消息通訊模塊 301 ;文件傳輸模塊(伺服器端)302 ;異常處理模塊303 ;子系統註冊模塊304 ;子系統管理 模塊305 ;子系統查詢模塊306 ;測試任務控制模塊307 ;測試任務解析模塊308 ;測試任務
8/項映射模塊309 ;測試任務調度模塊310 ;測試任務報告模塊311。其中 所述消息通訊模塊301,用於完成與客戶端之間以及與測試子系統之間的網絡消
息通信; 所述文件傳輸模塊(伺服器端)302,用於為客戶端及測試子系統提供文件傳輸服 務; 所述異常處理模塊303,用於為其它模塊提供異常狀態處理通用服務; 所述子系統註冊模塊304,用於響應客戶端及測試子系統的註冊請求,按一定的規
則為各測試子系統分配相應的資源,並在註冊成功後將測試子系統移交給子系統管理模塊
305 ; 所述子系統管理模塊305,用於完成客戶端和各測試子系統的維護,該模塊協調其 它模塊完成各子系統的定位; 所述子系統查詢模塊306,用於為客戶端提供測試子系統查詢服務,以便在客戶端 編寫測試任務時,用戶可為測試任務中各測試項指定運行的測試子系統,從而協助完成綜 合業務測試; 所述測試任務控制模塊307,用於負責測試任務的資源分配、檢索和銷毀,可響應 客戶端的任務控制命令。 所述測試任務解析模塊308,用於對客戶端發過來的測試任務進行解析,從而將測 試任務轉化為調度伺服器可識別、可調度的格式; 所述測試任務/項映射模塊309,用於維護測試任務/項、客戶端和測試子系統之 間的對應關係,協助進行任務調度; 所述測試任務調度模塊310,用於對測試任務的測試邏輯進行識別、調度,是調度 伺服器的核心模塊; 所述測試任務報告模塊311,用於完成測試任務報告的生成、統計功能,為客戶端 提供完整的測試任務運行報告源文件;同時協助客戶端完成測試任務運行狀態的監控,使 用戶掌握測試任務的運行情況。 圖1所示的自動化測試系統中,所述業務測試子系統103的模塊結構圖如圖4所 示,該業務測試子系統103包括 消息通訊模塊401,用於完成測試子系統與調度伺服器之間的網絡消息通信;
文件傳輸模塊(客戶端)402,用於接收調度伺服器所發送的測試項文件及上傳測 試項執行報告和報告附屬文件使用; 異常處理模塊403,用於為其它模塊提供異常狀態處理通用服務;
部署模塊404,用於處理測試子系統與被測系統之間的交互通道的建立,以便測試 子系統可以控制被測系統,實現方式依具體情況而定,可採取TCP/IP通信方式或測試子系 統直接駐留被測系統等方式; 註冊模塊405,用於負責測試子系統與調度伺服器的註冊; 測試項解析模塊406,用於對接收到的測試項中各種執行指令的解析,從而轉變為 測試子系統可以執行的形式; 所述測試項調度模塊407,用於負責測試項中各執行指令的執行調度; 所述調度控制模塊408,用於負責對指令調度的控制,進行調度開始、暫停、繼續、停止等控制; 所述測試項報告模塊409,用於提供指令執行報告的收集,以及測試項執行完後測 試項報告的整理。 圖1所示的自動化測試系統中,所述客戶端101的模塊構成圖如圖5所示,該客戶 端101包括 消息通訊模塊501,用於完成測試子系統與調度伺服器之間的網絡消息通信;
文件傳輸模塊_客戶端502,用於為接收調度伺服器所發送的測試項文件及上傳 測試項執行報告和報告附屬文件使用; 異常處理模塊503,用於為其它模塊提供異常狀態處理通用服務;
子系統註冊模塊504,用於向調度伺服器註冊; 測試任務管理模塊505,用於測試任務的新建、修改、刪除、導入、導出等; 子系統查詢模塊506,用於向調度伺服器查詢可用的測試子系統,以便為不同的測
試項分配運行的測試子系統; 支撐模塊507,用於為測試任務管理模塊提供變量支持,參數管理,測試任務同步 等輔助功能; 測試用例編輯模塊508,用於編輯測試任務中最重要的測試用例,可以編輯結構化 的用例; 運行監控模塊509,用於在調度伺服器進行測試任務運行調度時,可在客戶端觀察 到測試任務運行情況; 任務運行控制模塊510,用於對測試任務的運行狀態進行控制,支持測試任務啟 動、暫停、停止功能,與調度伺服器一塊實現測試任務的運行態控制。 如圖6所示,顯示了本發明的一種分布式綜合業務自動化測試的方法的具體執行 流程,包括如下步驟 第一步601 :啟動調度伺服器; 第二步602 :啟動測試子系統進行部署和向調度伺服器註冊;
第三步603 :啟動客戶端並向調度伺服器註冊; 第四步604 :在客戶端新建並編輯測試任務,所述測試任務由測試項按邏輯關係
組成,為測試任務選擇或添加針對不同測試子系統的測試項; 第五步605 :在客戶端為測試項指定運行的測試子系統; 第六步606 :在客戶端啟動測試任務; 第七步607 :調度伺服器解析、調度測試任務; 第八步608 :在客戶端監控測試任務運行狀態; 第九步609 :測試子系統解析並執行測試項; 第十步610 :測試子系統返回測試項報告; 第十一步611 :調度伺服器收集匯總測試任務報告; 第十二步612 :客戶端接收測試任務報告; 第十三步613 :在客戶端查看並分析測試任務報告。 在圖6所示的本發明的自動化測試方法中,第二步602和第三步603的註冊活動 中,調度伺服器註冊處理過程如圖7所示
10
步驟開始調度伺服器收到子系統(客戶端/測試子系統)註冊消息; 步驟701 :將註冊消息放進待處理消息隊列,並激活註冊線程; 步驟702 :註冊線程檢測消息隊列長度是否為空?; 步驟703 :如果註冊線程發現消息隊列為空,則轉入休眠狀態; 步驟704 :如果註冊線程發現消息隊列不為空時,取隊列第一個消息; 步驟705 :註冊線程向所述子系統管理模塊305申請子系統編號;此子系統編號後
續將作為該子系統的唯一標識,是子系統查詢模塊306查詢的結果,可用來為測試項標識
運行的測試子系統。 步驟706 :子系統管理模塊305對申請編號的子系統進行有效性檢查,檢測該子系 統是否註冊過; 步驟707 :如申請編號的子系統曾經註冊過,則分配原編號,轉步驟709 ;
步驟708 :如申請編號的子系統未註冊過,則分配新編號,轉步驟709 ;
步驟709 :註冊線程判斷註冊的子系統的類型; 步驟710 :註冊線程將註冊的子系統移交子系統管理模塊305管理; 步驟711 :註冊線程構造註冊響應消息,並發送給註冊的子系統。 在完成一個註冊消息的處理之後,可以返回步驟701繼續處理下一個消息。 在圖6所示的本發明的自動化測試方法中,第四步609中,測試任務採用文件夾的
形式進行管理,其結構如圖8所示 測試任務文件夾801下包含一個叫task, xml的文件802和至少一個測試套文件 夾803 ;每個測試套文件803夾下包含一個叫suit, xml的文件804和至少一個測試用例文 件夾805 ;每個測試用例文件夾805下包含一個叫case, xml的文件806和至少一個測試項 文件夾807 ;每個測試項文件夾807包含一個測試項文件808,該文件格式為xml,名稱可根 據需要進行命名。 測試任務文件層次中,各層次中的xml文件(除測試項文件808外)中都有一部 分內容專門標識與該xml文件平級的各目錄之間的關係,在該xml文件中,每一個同級目錄 都對應一個邏輯節點,各邏輯節點有兩個ID號,一個作為自身標識,另一個標識作為調度 時下一個要運行的同級邏輯節點的ID ;調度規則為測試套只支持順序調度,測試用例支 持順序和循環,而在測試用例case, xlm中的測試項支持分支、循環、並發等調度規則,並輔 助諸如延時、賦值等輔助調度規則協助調度。 測試任務調度時,各調度規則及測試任務中各目錄都被解析為邏輯節點,在調度
上一級邏輯節點時,會查找該邏輯節點對應的下級調度規則,採用深度優先的方式對各級
邏輯節點進行調度,邏輯節點的調度方式見下文調度伺服器相關部分。 在圖6所示的本發明的自動化測試方法中,第七步607中,調度伺服器調度流程如
圖9所示 步驟901 :在解析完測試任務後,所述調度伺服器找到該測試任務第一個節點;
步驟902 :所述調度伺服器將該第一個節點加入到調度隊列尾部並喚醒調度線 程; 步驟903 :調度線程讀取調度隊列; 步驟904 :調度線程判斷調度隊列是否為空;
步驟905 :如果調度隊列為空,則調度線程進行休眠狀態,等待被激活;
步驟906 :如果調度隊列不為空,則取調度隊列首節點;
步驟907 :調度線程判斷讀取的節點是否是第一次運行; 步驟908 :如果不是第一次運行,則進行報告處理,最後將該節點下一邏輯節點加 到調度隊列中,並轉到步驟903繼續調度; 步驟909 :如果是第一次運行,如該首節點是測試項邏輯節點,則根據該測試項類 型及指定的運行子系統編號,查找該測試子系統並通過FTP方式或其它方式發送該節點到 相應的測試子系統,同時將節點的定位信息加入到計數器並發送執行測試項消息,之後進 入步驟903繼續調度;如果是非測試項邏輯節點,則調用邏輯節點相應方法後進入步驟903 繼續調度。
步驟910 :調度伺服器收到子系統發送來的測試項報告消息後,首先查找該報告
對應的邏輯節點並與計數器中的記錄進行匹配; 0148] 步驟911 :調度伺服器判斷計數器中是否有該報告對應節點的定位信息; 0149] 步驟912 :如果計數器中沒有與收到報告對應節點的定位信息,則丟棄該報告; 0150] 步驟913 :如果計數器中有節點的定位信息與之匹配,則清除該節點在計數器中
的定位記錄並找到該邏輯節點;
0151] 步驟914 :調度伺服器判斷是否找到報告對應的邏輯節點;如果未找到則轉入步 驟912做丟棄處理;如果找到則轉入步驟902繼續激活調度。 0152] 在圖6所示的本發明的自動化測試方法中,測試子系統執行流程如圖10所示 步驟1001 :開始使用測試子系統
測試子系統首先開始部署被測系統,完成兩者之間交互通道的建立; 判斷是否部署成功;如果部署失敗則轉異常處理1006 ; 如果部署成功則向調度伺服器進行註冊; 判斷是否註冊成功;失敗則轉異常處理1006 ; 如果註冊成功則監聽調度伺服器消息; 收到調度伺服器消息時,首先進行消息解析; 判斷消息類型;
如果消息屬於調度控制消息,則進行調度控制,處理完畢後發送響應
0153] 0154] 0155] 0156] 0157] 0158] 0159] 0160] 0161]
步驟1002 步驟1003 步驟1009 步驟1005 步驟1007 步驟1008 步驟1009 步驟1010 消息1016 ; 0162] 步驟IOII 0163] 步驟1012 0164] 步驟1013 0165] 步驟1019 0166] 步驟1015 0167] 步驟1016
如果是測試項運行消息,則首先下載測試項; 對測試項中執行指令進行解析; 對測試項中執行指令進行調度執行;
將各指令執行情況及相關附件進行收集整理,匯總成測試項報告; 將測試報告上傳到調度伺服器;
向調度伺服器發送測試項響應消息;之後繼續監聽埠,處理其它消息。 本發明的分布式綜合業務自動化測試系統及方法,通過系統中客戶端、調度服務 器和測試子系統之間進行網絡連接實現了分布式,而對測試項類型的區分、測試項運行的 測試子系統的指定以及測試用例中對結構化測試腳本的支持,實現了多業務複雜測試場景
12的支持;同時該系統還支持多測試任務並發、順序、定時等執行方式,並可控制測試任務中 各部分是否運行;通過使用此系統,可以極大的擴展測試的廣度和深度,給測試帶來極大的 效率提升。 以上所述僅為本發明的實施例而已,並不用於限制本發明,對於本領域的技術人 員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、 等同替換、改進等,均應包含在本發明的權利要求範圍之內。
權利要求
一種分布式綜合業務的自動化測試系統,其特徵在於,包括分布式布置的客戶端、調度伺服器、測試子系統,用於對分布式布置的被測系統進行測試,其中所述客戶端,用於按邏輯關係組織測試項生成測試任務,開始測試後將測試任務發送給調度伺服器,並從調度伺服器接收查看測試報告;所述調度伺服器,用於解析測試任務,按所述邏輯關係調度測試項,將各測試項分發至對應的測試子系統;所述測試子系統,用於解析、執行測試項對被測系統進行測試,並收集測試項執行報告並上報給調度伺服器,由調度伺服器匯總生成測試任務報告給客戶端進行報告查看。
2. 如權利要求1所述的自動化測試系統,其特徵在於,所述分布式布置的客戶端、調度伺服器、測試子系統、被測系統是通過網絡協議連接 的,其中一個調度伺服器為至少一個所述客戶端和至少一個相同的或不相同的測試子系統服務;一個所述客戶端只能與一個所述調度伺服器建立連接,一個所述客戶端同時運行一個 或多個測試任務;一個所述測試子系統只能與一個所述調度伺服器連接,以及只能與一個被測系統建立 連接;一個所述被測系統與一個或多個所述測試子系統有連接關係。
3. 如權利要求1所述的自動化測試系統,其特徵在於,所述測試項,是測試子系統可識別並執行的一系列操作的集合,每個測試項都有一個 類型標識,該類型標識與測試子系統的種類一一對應。
4. 如權利要求1所述的自動化測試系統,其特徵在於,所述邏輯關係是指測試項支持的分支、循環、並發的調度規則,以及延時、賦值的輔助 調度規則。
5. 如權利要求1所述的自動化測試系統,其特徵在於,所述客戶端進一步還用於對測試任務進行實時狀態監控,調度伺服器在測試任務調度 過程中,將測試任務的執行狀態信息發送到客戶端進行實時監控;所述客戶端對所述調度 伺服器的調度狀態進行暫停、恢復和停止操作。
6. 如權利要求1所述的自動化測試系統,其特徵在於,所述測試任務採用邏輯層次文件夾形式,在測試任務文件夾下包含任務文件和至少一 個測試套文件夾;每個測試套文件夾下包含一個測試套文件和至少一個測試用例文件夾; 每個測試用例文件夾下包含一個測試用例文件和至少一個測試項文件夾,每個測試項 文件夾包含一個測試項文件。
7. —種分布式綜合業務的自動化測試方法,其特徵在於,在分布式布置的客戶端、調度 伺服器、測試子系統、被測系統中,分別相應執行下述步驟A、 在客戶端按邏輯關係組織測試項生成測試任務,開始測試後將測試任務發送給調度 伺服器;B、 度伺服器解析測試任務,按所述邏輯關係調度測試項,將各測試項分發至對應的測試子系統,由測試子系統解析執行測試項對被測系統進行測試;C、測試子系統收集測試項執行報告並上報給調度伺服器匯總生成測試任務報告,調度伺服器將測試任務報告發送給客戶端。
8. 如權利要求7所述的自動化測試方法,其特徵在於,所述測試項,是測試子系統可識別並執行的一系列操作的集合,每個測試項都有一個類型標識,該類型標識與測試子系統的種類一一對應。
9. 如權利要求7所述的自動化測試方法,其特徵在於,所述測試任務採用邏輯層次文件夾形式,在測試任務文件夾下包含任務文件和至少一個測試套文件夾;每個測試套文件夾下包含一個測試套文件和至少一個測試用例文件夾;每個測試用例文件夾下包含一個測試用例文件和至少一個測試項文件夾,每個測試項文件夾包含一個測試項文件;所述邏輯關係是指測試項支持的分支、循環、並發的調度規則,以及延時、賦值的輔助調度規則。
10. 如權利要求7所述的自動化測試方法,其特徵在於,步驟B中進一步包括,在客戶端對測試任務進行實時狀態監控在測試任務調度過程中,調度伺服器將測試任務的執行狀態信息發送到客戶端進行實時監控;在所述客戶端對所述調度伺服器的調度狀態進行暫停、恢復和停止操作。
全文摘要
本發明公開了一種分布式綜合業務的自動化測試系統及方法,測試系統包括分布式布置的客戶端、調度伺服器、測試子系統,對分布式布置的被測系統進行測試,客戶端按邏輯關係組織測試項生成測試任務,開始測試後將測試任務發送給調度伺服器,並從調度伺服器接收查看測試報告;調度伺服器解析測試任務,按所述邏輯關係調度測試項,將各測試項分發至對應的測試子系統;所述測試子系統解析、執行測試項對被測系統進行測試,並收集測試項執行報告並上報給調度伺服器,由調度伺服器匯總生成測試任務報告給客戶端進行報告查看。本發明支持多業務複雜測試場景,支持多測試任務執行,極大的擴展測試的廣度和深度,給測試帶來極大的效率提升。
文檔編號G06F11/36GK101727389SQ200910222629
公開日2010年6月9日 申請日期2009年11月23日 優先權日2009年11月23日
發明者張宏強 申請人:中興通訊股份有限公司