陳霄,馬煦,陳茜
(北京衛(wèi)星導航中心)
導航監(jiān)測站的建立是一個十分復雜的工程。在這個工程的過程中,調(diào)試并進行修改是不可避免的。但是由于這項工程的復雜性,無論多么細小的改動都可能會產(chǎn)生巨大的影響。為了保證導航監(jiān)測站可靠穩(wěn)定運行,每一次修改之后都需要對設備的軟、硬件進行回歸測試以設備的質(zhì)量及系統(tǒng)的穩(wěn)定運行。此外,對設備軟件、硬件的任何一次修改都可能產(chǎn)生新的軟、硬件問題。設備軟、硬件的改變的原因可能是發(fā)現(xiàn)了錯誤,也可能是需要增加新的功能。在修改的過程中,有可能發(fā)生以下幾種情況:由于對錯誤的理解不正確,只修改了錯誤的外表而忽略了錯誤本身;其它未修改項受到修改項的影響而產(chǎn)生新的問題;錯誤跟蹤系統(tǒng)和管理系統(tǒng)的漏洞而引起錯誤漏檢。在實際的工程應用中,如果每次修改都進行全面檢測,工程量是十分巨大的?;貧w測試可以確定修改是否達到預期目的。此外,修改是否破壞了系統(tǒng)的原有功能也是需要進行相應的測試。由于系統(tǒng)及設備的復雜性,如何提高回歸測試的效率是一個十分重要的問題。
常用的回歸測試方法有:基于完全執(zhí)行的回歸測試、基于風險的回歸測試、基于修改代碼的回歸測試、基于全硬件的維護回歸測試。
所謂的基于完全執(zhí)行的回歸測試,就是采用修改后的版本,重新對所有的測試用例進行測試,看測試結(jié)果是否都滿足預期要求,從而判斷回歸測試是否通過。由于該方法需要運用所有的測試用例,易于自動化運行與實現(xiàn)。而且,該方法比較安全、可靠。但是由于采用了所有的測試用例,因此測試成本較高,費用龐大。因此,往往只有非常重要的系統(tǒng)才會采用這個測試方法。
所謂基于風險用例的測試方法則是以風險指標來評價并進行測試的。該方法是首先需要對所有的測試用例進行風險等級劃分。經(jīng)過程序部分相對穩(wěn)定的用例的風險等級較低,反之就越高。每次修改的時候,根據(jù)修改項的大小,確定風險等級,就可以選擇相應的測試用例范圍。該方法成本低,且對于任何范圍的軟件回歸測試都適用。此外,它的精度也高于基于完全執(zhí)行的回歸測試方法。
所謂基于修改代碼的回歸測試目是只是針對修改的部分進行重新測試,測試范圍與基于完全執(zhí)行的回歸測試方法相同。測試用例的選擇對該方法是十分重要的。通過對修改后的代碼段進行分析,得到受到修改的代碼段的測試用例的集合。只要對該測試用例集進行測試就可以了。
基于全硬件的維護回歸測試就是設備元器件損毀更換后進行功能性能測試。這是最常見的維護測試,一般都有維護記錄。
導航監(jiān)測站回歸測試流程包括:導航監(jiān)測站設備運行故障,導航監(jiān)測站設備故障分析,導航監(jiān)測站設備故障排除,導航監(jiān)測站設備回歸測試(選擇測試方法),導航監(jiān)測站設備狀態(tài)評估等。導航監(jiān)測站回歸測試流程圖如圖1所示。
某導航監(jiān)測站2014年3月監(jiān)控軟件均報警:“第X波束出站功率超出門限,出站功率為0,數(shù)據(jù)合成單元DCU第X波束MPU 1 min內(nèi)入站總正確幀數(shù)為0”;每個監(jiān)控界面都顯示發(fā)送終端均故障,16路脈沖分配單元中的2路故障。所有GEO衛(wèi)星RDSS載荷出站通道TWTA螺旋極電流均為0。經(jīng)檢查發(fā)現(xiàn)某站時間頻率系統(tǒng) 8.16 Mpps分配器A7由于出現(xiàn)故障掉電無法提供信號;RDSS收發(fā)分系統(tǒng)在A7送來主路信號出現(xiàn)異常后,無法切換選擇時間頻率系統(tǒng)8.16 Mpps分配器B7送來的備路信號,導致了 10個波束中斷。使用備件替換故障時間頻率系統(tǒng)8.16 Mpps分配器A7后,RDSS業(yè)務收發(fā)分系統(tǒng)恢復正常。該故障后采取了基于全硬件的維護回歸測試與基于完全執(zhí)行的回歸測試。采取基于全硬件的維護回歸測試合理,采取基于完全執(zhí)行的回歸測試是由于導航系統(tǒng)服務及其重要。
圖1 導航監(jiān)測站回歸測試流程圖
某導航監(jiān)測站數(shù)管系統(tǒng)2008年8月進行了出所測試,測試包括安裝測試、外部接口測試、功能測試、性能測試、壓力測試、可用度測試6個測試大項。測試共進行了兩輪,之后系統(tǒng)進行長時間穩(wěn)定性測試。
第一輪測試共執(zhí)行了454個用例,447個用例通過,7個用例沒有通過,測試一次通過率為98.5%。第一輪測試遇到4個問題,問題級別均為3級。
針對測試中發(fā)現(xiàn)的問題提交了軟件問題報告,研制方給出了問題處理意見,并進行了修改。問題匯總見表1。
在之后的回歸測試中,共執(zhí)了7個用例,7個均通過,且沒有發(fā)現(xiàn)任何問題。
經(jīng)過兩輪測試后,測試用例通過率達到100%。數(shù)管系統(tǒng)可以提交進行正式的出所測試評審。
該出所測試發(fā)現(xiàn)的問題采取了基于風險的回歸測試、基于修改代碼的回歸測試。
表1 導航監(jiān)測站數(shù)管系統(tǒng)出所測試問題匯總表
由于回歸測試的重復性,往往會使測試者感到疲勞。為此,有必要采用一些策略來避免這個問題。比如,新、老測試者的合理分工等等。
通過海量工程實踐與導航產(chǎn)業(yè)服務需求,綜合使用基于完全執(zhí)行的回歸測試、基于風險的回歸測試、基于修改代碼的回歸測試、基于全硬件的維護回歸測試等方法進行回歸測試有利于提高系統(tǒng)設備的可靠性與完好性,隨著測試維護程序的規(guī)范與操作人員熟練度的提高,基于完全執(zhí)行的回歸測試、基于全硬件的維護回歸測試會使用頻率越來越少,而基于風險及修改代碼的回歸測試將成為導航監(jiān)測站回歸測試的主要方法。
[1]馬軍勇.軟件回歸測試研究[J].電子測試,2009(6).
[2]馬煦.導航監(jiān)測站遠程維護方法[J].現(xiàn)代導航,2013(10).
[3]王小麗.軟件回歸測試用例選取方法研究[J].空間控制技術與應用,2010(3).
[4]唐凌遙.軟件回歸測試中測試策略的改進方法[J].電網(wǎng)技術,2008(2).
[5]高建華,殷定媛.回歸測試中路徑覆蓋生成技術研究與應用[J].小型微型計算機系統(tǒng),2009(3).
[6]張巖.回歸測試方法的研究與分析[J].現(xiàn)代計算機,2011(31).