計算機軟件測試異常處理系統及測試方法
【技術領域】
[0001 ]本發明具體涉及一種計算機軟件測試異常處理系統及測試方法。
【背景技術】
[0002]電力領域中應用的計算機系統在軟件測試過程中不可避免會受到各種測試用例錯誤和測試環境異常的干擾。如果測試軟件發生異常,會造成軟件測試結果錯誤和生產服務失效的風險。為了提高生產系統軟件質量,滿足軟件測試中功能測試自動化的要求,通常需要包含自動化測試實時異常處理功能,這對測試軟件平臺本身的可靠性又提出了較高要求,使測試目標系統在發生異常時,自動化測試平臺仍然能可靠的運行,捕獲異常發生的上下文并記錄異常處理的情況、提供有效的異常處理手段、滿足異常處理實時性要求,為提升軟件質量提供技術手段。
[0003]由此可見,系統中所采用的異常處理技術必須進行測試和分析,從而保證所設計的異常處理系統真正實現能夠對預定異常正確處理的目標,然而在實驗中開發的自動化測試平臺面臨著如何在測試執行前進行測試的問題,如果在系統出現問題時再對其進行測試和分析,就會造成重大損失,因此必須系統投入使用之前,進行異常模擬和異常分析,進而評價系統穩定性能力。
[0004]異常處理技術是用于驗證異常處理系統設計正確性和評價容錯性能的重要方法。現有的異常處理技術大部分采用異常處理工具實現,但是,可識別并捕獲的異常種類比較單一,并且同時只能夠向一臺測試對象服務器進行異常處理,不適用于對分布式集群計算機的異常處理測試需求。
【發明內容】
[0005]本發明的目的之一在于提供一種能夠實時處理測試系統的各類異常狀態、并且能夠同時對多臺測試對象進行異常處理的計算機軟件測試異常處理系統。
[0006]本發明的目的之二在于提供一種所述的計算機軟件測試異常處理系統所應用的異常處理方法。
[0007]本發明提供的這種計算機軟件測試異常處理系統,包括控制與調度服務器、通信計算機組服務器、文件緩存服務器、測試用例數據庫服務器和測試對象服務器;控制與調度服務器、測試用例數據庫服務器、通信計算機組服務器和測試對象服務器通過計算機網絡連接在一起,文件緩存服務器與控制與調度服務器連接,通信計算機組服務器與測試對象服務器連接;控制與調度服務器用于管理、控制整個自動化測試流程;通信計算機組服務器用于監聽并接收控制與調度服務器發送來的測試任務信息,并執行相應的測試操作,同時反饋測試過程和測試結果給控制與調度服務器;文件緩存服務器用于保存與異常處理自動化測試相關的所有文件和腳本,通過文件系統服務下載到指定的服務器;測試用例數據庫服務器用于收集和存儲異常處理實驗生成的所有結果。
[0008]所述的計算機軟件測試異常處理系統,還包括服務狀態監控計算機;服務狀態監控計算機與控制與調度服務器連接,用于將控制與調度服務器發送的任務執行進展相關數據顯示輸出,還用于實時顯示測試對象服務器的系統關鍵性能參數。
[0009]所述的計算機軟件測試異常處理系統,還包括異常處理管理服務器;異常處理管理服務器通過計算機網絡與測試異常處理系統連接,用于計算機軟件測試異常處理系統的管理人員和運行維護人員對計算機軟件測試異常處理系統的運行參數進行編輯和設置。
[0010]所述的通信計算機組服務器包括兩臺通信計算機;一臺通信計算機作為測試代理服務器作為測試數據發生器,實現根據控制與調度服務器的命令產生負載信息;另一臺通信計算機作為測試代理服務器,用于執行向對應的測試對象服務器執行異常處理、觀察系統對異常的反應、并結合負載變化分析系統相關性能,并將分析結果上傳控制與調度服務器。
[0011]所述的文件和腳本,包括關鍵字驅動腳本、數據驅動腳本及混合驅動測試用例腳本、異常處理服務引擎和測試監控日志服務。
[0012]所述的計算機軟件測試異常處理系統采用基于開源的自動化測試框架STAF構建,具體包括應用層、代理層和實現層;應用層為運行在控制與調度服務器的應用程序,利用關系型數據庫和文件系統來管理自動化測試過程中的數據和信息,并提供人機界面;代理層為運行在應用層和實現層中間,實現任務代理和負責執行用戶從界面中提交的自動化測試任務;實現層運行在自動化測試控制服務器最底層的STAF進程及其提供的包括STAX、文件系統、時鐘同步、日志的服務。
[0013]所述的應用層包括視圖層、控制器和模型;視圖層用于提供人機界面和信息交互;控制器負責分析用戶請求并調用模型處理、用于實現模型與視圖層之間的數據交互、提供人機交互界面需要顯示的事件并響應給視圖層,還負責數據的組織,然后交由模型中的STAF文件服務傳輸或者交由測試用例數據庫存儲;模型封裝了各類業務邏輯,用于在控制器的調用下實現相應的邏輯動作和處理。
[0014]所述的模型包括測試策略生成管理模塊、用戶管理模塊、測試代理資源管理模塊、動態部署與發布模塊、測試任務調度管理模塊、測試日志管理模塊、結果回收模塊、結果分析模塊和結果顯示模塊;測試策略生成管理模塊用于接收測試參數或測試參數文件,并根據所述測試參數或測試參數文件生成命令控制字;用戶管理模塊用于管理系統用戶信息,并控制系統訪問權限;測試代理資源管理模塊用于管理整個測試系統中的測試機資源,對這些資源進行合理分配利用;動態部署與發布模塊用于根據人工測試流程采用消息觸動機制,應用文件系統服務將文件緩存服務器上保存的相應程序及腳本分發到測試環境中;測試任務調度管理模塊負責自動化測試任務的操作;測試日志管理模塊用于管理包括自動化測試任務的實時運行日志、測試報告、歷史記錄信息;結果回收模塊用于實時收集目標系統面對異常的不同反應,并根據所述反映生成異常處理結果;結果分析模塊用于分析從測試對象服務器傳來的異常處理結果,并計算指標和生成結果報表;結果顯示模塊用于將結果分析模塊發送的結果報表顯示在用戶界面上,同時保存于數據庫中。
[0015]本發明還公開了所述計算機軟件測試異常處理系統的測試方法,包括如下步驟:
51.確定測試對象,將所有測試對象與所述計算機軟件測試異常處理系統連接在同一網絡中;
52.控制與調度服務器從文件緩存服務器上下載配置文件和運行腳本; 53.根據配置文件,控制與調度服務器將下載的配置文件和運行腳本分發到各個通信計算機組服務器;
54.控制與調度服務器檢查測試對象服務器的運行狀態;
55.控制與調度服務器通過通信計算機組服務器向測試對象服務器施加負載,并對測試對象服務器進行異常處理;
56.異常處理完成后,測試用例數據庫服務器和通信計算機組服務器將收集和存儲的異常處理實驗結果上傳給控制欲調度服務器。
[0016]本發明采用基于開源的自動化測試框架STAF構建自動化測試平臺,利用控制與調度服務器對多臺測試對象服務器進行同時測試,并利用開源的自動化測試工具構建各類型測試模型和運行腳本,因此本發明能夠實時處理測試系統的各類異常狀態、并且能夠同時對多臺測試對象進行異常處理,并且能夠實時記錄異常處理結果,實現異常處理的自動化和實時化。
【附圖說明】
[0017]圖1為本發明的計算機軟件測試異常處理系統的功能模塊圖。
[0018]圖2為本發明的方法流程圖。
圖3為本發明的方法流程示意圖。
【具體實施方式】
[0019]如圖1所示為本發明的計算機軟件測試異常處理系統的功能模塊圖:本發明提供的這種計算機軟件測試異常處理系統,包括控制與調度服務器、通信計算機組服務器、文件緩存服務器、測試用例數據庫服務器、測試對象服務器、服務狀態監控計算機和異常處理管理服務器;控制與調度服務器、測試用例數據庫服務器、通信計算機組服務器和測試對象服務器通過計算機網絡連接在一起,文件緩存服務器與控制與調度服務器連接,通信計算機組服務器與被測計算機連接;控制與調度服務器用于管理、控制整個自動化測試流程;通信計算機組服務器用于監聽并接收控制與調度服務器發送來的測試任務信息,并執行相應的測試操作,同時反饋測試過程和測試結果給控制與調度服務器;文件緩存服務器用于保存與異常處理自動化測試相關的所有文件和腳本,通過文件系統服務下載到指定的服務器;測試用例數據庫服務器用于收集和存儲異常處理實驗生成的所有結果;服務狀態監控計算機與控制與調度服務器連接,用于將控制與調度服務器發送的任務執行進展相關數據顯示輸出,還用于實時顯示測試對象服務器的系統關鍵性能參數;異常處理管理服務器通過計算機網絡與測試異常處理系統連接,用于計算機軟件測試異常處理系統的管理人員和運行維護人員對計算機軟件測試異常處理系統的運行參數進行編輯和設置。
[0020]所述的通