陳慶芬
中國電子科技集團公司第三十八研究所 安徽 合肥 230088
隨著雷達設備規模的顯著增加,面臨的狀態監測和維修保障任務越來越復雜。健康管理(PHM)是用于雷達裝備狀態監測和維修保障的一項新技術,已在國內外先進的武器裝備上成功應用。在雷達裝備中也迫切需要使用這項新技術,以便提升雷達故障預測、狀態監測和維修保障的能力。
B/S模型結構可實現數據管理與用戶管理更大的靈活性與開放[1]。在B/S結構下,在客戶端只需要安裝瀏覽器及相關協議軟件,即可訪問服務器。軟件的開發、維護與升級只需在服務器端操作,縮短了系統開發周期,降低了維護費用[2]。
本文介紹了雷達健康管理軟件和B/S架構技術的基本概念和應用背景,重點對B/S架構的雷達健康管理軟件測試方法進行了論述,介紹了適用于雷達健康管理軟件功能測試、性能測試、接口測試等的具體方法和自動化測試工具。
雷達健康管理是指利用雷達海量的測試數據、故障診斷結果、維修資源信息以及其他相關信息,對雷達系統的健康狀態和執行任務的能力進行實時分析評估及預測,并根據分析評估結果自動進行維修決策,以實現雷達全壽命周期維修保障的自主化和智能化。
在靜態測試階段,選取靜態分析工具Find Bugs和代碼質量工具Sonar Qube對代碼質量進行檢查和管理。
Find Bugs,是Eclipse、IDEA等開發環境下的一個插件工具。檢查類或者jar文件,將字節碼與缺陷模式進行對比以發現可能存在的問題可以檢查出包括空指針引用、無限遞歸循環等問題。Find Bugs還為用戶提供定制Bug Pattern的功能,可以根據需求自定義Find Bugs的代碼檢查條件。
Sonar Qube是一個代碼質量管理平臺。通過量化的方式度量代碼質量的變化,從而可以方便地對不同規模和種類的工程進行代碼質量管理。支持超過25種編程語言。可以集成不同的測試工具,代碼分析工具,以及持續集成工具。開發中使用提供重復代碼、編碼標準、單元測試、代碼覆蓋率、代碼復雜度、潛在Bug、注釋和軟件設計報告提供了指標歷史記錄、計劃圖和微分查看提供了完全自動化的分析。
Selenium 2是一套基于WEB應用的測試工具,通過它來執行模仿用戶在網頁上的操作的測試腳本,測試人員可以對Web應用進行功能測試[3]。
Selenium測試直接運行在瀏覽器中,像真正的用戶在操作;通過記錄與瀏覽器的交互以創建測試用例,可以使用播放選型重新運行測試用例,不需要任何編程邏輯來編寫其測試腳本??梢詼y試與瀏覽器的兼容性,測試系統功能,支持自動生成Java、.Net、Perl等不同語言的測試腳本,支持在瀏覽器包括IE(7、8、9、10、11),Mozilla Firefox,Safari,Opera等。
對基于大數據平臺的B/S架構雷達健康管理軟件性能測試主要包括三個主要的方面:一是數據攝取和吞吐量,在這個階段,測試人員驗證系統使用來自各種數據源的數據有多快。測試涉及隊列在給定時間內處理不同標識的消息。它還包括如何快速地將數據插入到底層數據存儲中,例如插入到MongoDB和Cassandra數據庫中的速率;二是數據處理,它涉及驗證執行查詢或Map Reduce作業的速度。它還包括當底層數據存儲填充在數據集中時,測試使用隔離規則方式處理數據;三是子組件性能,雷達健康管理軟件由多個組件組成,必須單獨測試這些組件。例如,查詢、計算的速度等。
Postman是一款功能強大的網頁調試與發送網頁HTTP請求的Chrome插件模擬各種HTTP requests:從常用的GET、POST到RESTful的PUT、DELETE等等。甚至還可以發送文件、送出額外的header人性化的Response整理。一般在用其他工具來測試的時候,response的內容通常都是純文字的raw,但如果是JSON,就是塞成一整行的JSON。這會造成閱讀的障礙,而Postman可以針對response內容的格式自動美化。JSON、XML或是HTML都會整理成我們可以閱讀的格式內置測試腳本語言,且支持編寫測試腳本,可以快速地檢查request的結果,并返回測試結果。
本文首先對雷達健康管理軟件呈現的智能化、組網化、大數據的趨勢進行了分析,并結合B/S架構設計對數據管理與用戶管理具有更大的靈活性與開放性等特點,對B/S架構應用于雷達健康管理軟件設計的必要性進行了分析。本文內容主要對基于B/S架構的雷達健康管理軟件測試方法進行了論述,提出了靜態測試、功能測試、性能測試和接口測試的測試思路。結合實際項目應用,深入闡述了目前主要使用的各類自動化測試工具的使用特點及方法。使用本文介紹的方法,提高了雷達健康管理軟件測試的有效性、深入性、覆蓋度及測試效率,也為后續基于大數據平臺的雷達健康管理軟件測試打下了良好的基礎。