安茂波 王松考
摘要:衛(wèi)星通信地球站監(jiān)視控制軟件實現(xiàn)對地球站內(nèi)各類設備的綜合管理,管理的對象多、設備參數(shù)繁雜,軟件在交付前需對設備參數(shù)的覆蓋程度、各參數(shù)值域的正常及異常處理能力等進行全面測試。當前使用的測試方法主要是人工測試,測試時間長、用例數(shù)量有限,很難做到對所有設備參數(shù)的全域測試。結(jié)合工程應用,設計了基于模板的地球站監(jiān)控軟件自動測試工具,依據(jù)設備模型文件動態(tài)加載生成包含測試用例、測試規(guī)則在內(nèi)的測試模板,并基于各個參數(shù)定義的類型、值域等實現(xiàn)監(jiān)控參數(shù)的全覆蓋測試,記錄測試過程,生成測試報告。
關(guān)鍵詞:地球站監(jiān)控軟件;自動測試;模型文件;聯(lián)動參數(shù)
中圖分類號:TP391.4文獻標志碼:A文章編號:1008-1739(2019)10-69-3
0引言
衛(wèi)星通信地球站監(jiān)控軟件主要負責對地球站內(nèi)各種通信設備進行集中的監(jiān)視和控制,是實時掌握地球站整體運行狀態(tài)、及時處理異常問題和提高地球站智能化管理的重要保證[1]。地球站監(jiān)控軟件需要監(jiān)控的設備數(shù)量多、種類多、協(xié)議差異性大、專用性強,通過人工手動或者常用的LoadRunner、TestBed等商用測試工具難以實現(xiàn)對地球站監(jiān)控軟件監(jiān)控參數(shù)的全覆蓋測試[2-3]。
基于地球站監(jiān)控軟件松耦合、組件化的開放體系架構(gòu)[4],在不修改現(xiàn)有軟件主體的情況下,通過構(gòu)建測試模板,設計實現(xiàn)一種自動化的軟件測試方法,具備動態(tài)生成測試用例、自動生成測試報告、測試完畢自動恢復原有參數(shù)值的能力,在有效完成全覆蓋測試的同時,大大節(jié)省測試周期,提高工作效率。
人工定義全部測試或部分測試,測試期間可隨時終止測試用例并自動恢復參數(shù),并可隨測試自動計算平均控制響應時間和最大控制響應時間。
1地球站監(jiān)控軟件
1.1軟件組成
地球站監(jiān)控軟件主要實現(xiàn)對地球站被監(jiān)控設備的集中監(jiān)視和控制,為操作維護人員提供簡單、易用、智能化的地球站管理軟件,包括核心管理服務、設備模型單元、操作終端、網(wǎng)管代理、數(shù)據(jù)庫服務、軟件自維護、軟件自維護及數(shù)據(jù)總線服務,如圖1所示。
核心管理服務單元實現(xiàn)軟件模塊的加載、線程調(diào)度、消息轉(zhuǎn)發(fā)時序控制控制;設備模型單元實現(xiàn)參數(shù)解析、指令生成等設備監(jiān)視和控制功能的封裝;操作終端軟件單元為操作維護人員提供友好、易用的操作界面;數(shù)據(jù)庫服務單元負責存儲監(jiān)控過程中生成的給類事件、參數(shù)變化、告警故障等信息;數(shù)據(jù)總線服務單元負責在各軟件單元之間按統(tǒng)一的規(guī)范進行信息交互和流轉(zhuǎn);自動化測試單元負責根據(jù)被監(jiān)控設備數(shù)量和導出的XML模型文件生成測試用例[5],發(fā)送查詢指令和設置指令,生成測試報告[6]。
1.2參數(shù)屬性分類
①對于設備的各被測參數(shù),被賦予只讀、單設置、可讀寫及禁用等訪問屬性[7]。對于單設置、禁用屬性的參數(shù),由于無法閉環(huán)確認,不自動測試,需人工驗證確認。
②對于整數(shù)類型和浮點數(shù)類型,測試過程按參數(shù)的上限值、下限值及步進值進行遍歷測試。
③對于枚舉類型,根據(jù)設備模型配置文件中已知的值進行遍歷測試。
④對于字符串類型,按參數(shù)格式化中約定的字母組合進行遍歷測試。
1.3聯(lián)動參數(shù)
在許多被監(jiān)控設備中,部分監(jiān)控參數(shù)并不是孤立的,而是相互關(guān)聯(lián)、相互制約,一個參數(shù)值的變化會影響其他幾個參數(shù)的變化,這些相互關(guān)聯(lián)的參數(shù)就是聯(lián)動參數(shù)。對于具有關(guān)聯(lián)關(guān)系的聯(lián)動參數(shù),軟件會動態(tài)建立基于規(guī)則的臨時參數(shù)列表,在測試完成后釋放。
2自動測試軟件
2.1實現(xiàn)原理
自動測試軟件單元基于地球站監(jiān)控軟件中配置的設備類型、數(shù)量、各類設備內(nèi)參數(shù)、參數(shù)類型及參數(shù)屬性等信息生成測試模板,并按規(guī)則進行自動執(zhí)行和生成測試報告。
當啟動自動測試功能后,自動測試軟件單元首先循環(huán)檢索地球站監(jiān)控軟件中已經(jīng)加載運行的被監(jiān)控設備配置信息,將標識設備的指針插入動態(tài)測試隊列中。測試隊列構(gòu)建完成后,自動測試軟件依次對測試隊列中所有測試節(jié)點調(diào)用相應的測試函數(shù),并生成報告,測試過程如圖2所示。
2.2測試方法和功能
①常態(tài)化測試:軟件自動發(fā)現(xiàn)整站所有在線設備,并依次根據(jù)設備關(guān)聯(lián)的測試模板進行測試,對每個設備測試完成后自動生成測試報告保存到磁盤。
②指定設備測試:按需對單臺或多臺指定的設備執(zhí)行測試。
③指定參數(shù)測試:操作員可有選擇地針對一個或者幾個參數(shù)進行遍歷測試,以減少測試時間。
④保存/加載當前參數(shù):測試軟件在開始測試前將當前的工作參數(shù)存儲到文件中,在測試完成后,可一鍵將原參數(shù)配置恢復到被測試設備。
⑥強制終止測試:測試過程可按需由操作員強制終止,軟件只生成針對已測試設備的測試報告。
3測試流程
3.1自動測試的主要流程
自動測試時,軟件首先對所有在線設備進行檢查,確認對應的設備工作狀態(tài)是否正常。測試單元根據(jù)站內(nèi)配置的設備生成測試隊列,并循環(huán)所有參數(shù)對可控制參數(shù)生成待測模板。同時根據(jù)預先定義的聯(lián)動關(guān)系,對測試序列進行定義,先測試無聯(lián)動關(guān)系的參數(shù),再測試聯(lián)動參數(shù),具體測試流程如圖3所示。
①被監(jiān)控設備在線狀態(tài)檢測,建立在線設備列表;
②讀取設備模型文件,生成測試用例集合(包括聯(lián)動測試用例和非聯(lián)動測試用例);
③向被測試設備發(fā)送查詢命令,并根據(jù)查詢響應分析,對設備當前的工作狀態(tài)進行正確性檢查;
④依次測試無聯(lián)動關(guān)系的參數(shù);
⑤依次測試有聯(lián)動關(guān)系的參數(shù);
⑥恢復參數(shù)值。
⑦生成測試報告并按約定進行存儲。
3.2單個值的基本測試流程
①首先將該值發(fā)送到設備等待控制響應,如果控制失敗則退出測試,否則繼續(xù)測試。
②等待當前參數(shù)值是否與控制值一樣,如果超時則直接返回失敗。
③如果當前值與設置值一樣則返回成功。
3.3有聯(lián)動關(guān)系參數(shù)的測試流程
有聯(lián)動關(guān)系的測試與基本測試流程類似,只需在發(fā)送測試命令前檢測待測試值是否符合參數(shù)聯(lián)動關(guān)系。如果符合,按照基本流程執(zhí)行;如果不符合,測試需要計算設備當前參數(shù)需要改動哪些參數(shù)才可以測試當前值;如果計算測試值,則先對這些值進行測試,全部成功后再發(fā)送當前參數(shù)的測試,否則輸出無法測試該節(jié)點的報告信息。
3.4測試報告
測試完成后,軟件自動生成測試報告,報告內(nèi)容主要包括起始時間、結(jié)束時間、測試設備數(shù)量、參數(shù)數(shù)量、用例數(shù)量、正常測試用例數(shù)、異常測試用例數(shù)及原因等,如圖4所示。
4應用效果
自動化測試軟件單元已經(jīng)在工程應用中得到廣泛使用,工作效率明顯提升,表1是在工程應用中分別對調(diào)制解調(diào)器、TDMA終端、功放等設備進行對比后的測試記錄表。
5結(jié)束語
本文針對站內(nèi)監(jiān)控軟件在軟件開發(fā)、版本更新、軟件部署和設備更換等過程中,需要對設備監(jiān)視和控制功能的正確性、完整性進行全面驗證的應用需求,在不影響監(jiān)控軟件結(jié)構(gòu)的情況下,開發(fā)設計了基于設備模型的自動測試軟件單元,降低了地球站監(jiān)控軟件測試復雜度,縮短了測試時間、提高了測試的效率及覆蓋率,并在多個項目中得到推廣使用,取得了非常好的效果,并為其他軟件的測試工作的開展提供了示范作用。
參考文獻
[1] Gerard Maral,Michel Bousquet.Satellite Communications Systems 5th Edition[M].Chichester:John Wiley & Sons Ltd., 2009:432-434.
[2]韓柯,杜旭濤.軟件測試[M].北京:機械工業(yè)出版社,2003.
[3]趙瑞蓮.軟件測試[M].北京:高等教育出版社,2003:182-195.
[4]安茂波.基于模型的衛(wèi)星通信地球站監(jiān)控系統(tǒng)設計與實現(xiàn)[D].西安:西安電子科技大學,2013.
[5]梁月圓.軟件自動化測試方法研究及系統(tǒng)開發(fā)[D].西安:長安大學,2013.
[6]李凌.廣播電視地球站綜合設備管理系統(tǒng)的設計和實現(xiàn)[D].南寧:廣西大學,2015,65-72.
[7]杜江,劉楓.導航地球站軟件接口測試用例設計[J].時間頻率學報,2015,38(4):235-242.