帥建鋒
摘 要: 雷達軟件規(guī)模日益龐大,其軟件測試也變得非常復雜,測試需求追蹤逐步變成非常困難的任務(wù),目前急需解決雷達軟件中測試需求追蹤管理、文檔自動生成等問題。通過對軟件測試需求的識別與定位、軟件測試任務(wù)的分派,實現(xiàn)了雷達軟件測試需求的跟蹤、追溯,以及按標準模板產(chǎn)生相應的文檔,重點對實現(xiàn)該追蹤系統(tǒng)的關(guān)鍵技術(shù)進行了分析和描述。
關(guān)鍵詞: 雷達軟件; 軟件測試; 文檔追蹤; 需求管理; 文檔生成
中圖分類號:TP391.9 文獻標志碼:A 文章編號:1006-8228(2014)01-01-03
0 引言
未來戰(zhàn)場日益復雜的環(huán)境,促使雷達探測能力、環(huán)境適用能力得到顯著提升,隨著雷達軟件規(guī)模日益龐大,相應的軟件測試也變得非常復雜,軟件測試需求追蹤逐步變成非常困難的任務(wù)[1-2]。
軟件測試是一項工程化工作,按階段分為:軟件測試需求分析、軟件測試策劃、軟件測試設(shè)計、軟件測試執(zhí)行和軟件測試總結(jié)階段。軟件測試依據(jù)項目軟件需求規(guī)格說明進行測試分析,產(chǎn)生軟件測試需求規(guī)格說明,再依據(jù)測試需求規(guī)格說明進行測試設(shè)計,設(shè)計抽象軟件測試用例和具體的測試實例,再執(zhí)行測試用例并作測試記錄,隨后對測試結(jié)果進行統(tǒng)計分析,形成最終的測試報告[3]。
按照測試充分性要求,軟件測試需要覆蓋軟件需求規(guī)格說明中所規(guī)定的每一項能力需求,從而驗證該能力需求是否得以實現(xiàn)以及實現(xiàn)的效果。軟件需求覆蓋情況需要通過在每個文檔中建立需求追蹤矩陣來證明,包括《軟件需求規(guī)格說明》與《軟件測試需求規(guī)格說明》(或《軟件測試計劃》)的雙向追蹤矩陣,《軟件測試需求規(guī)格說明》(或《軟件測試計劃》)與《軟件測試說明》的雙向追蹤矩陣,《軟件測試說明》與《軟件測試記錄》的雙向追蹤矩陣。
測試人員通過人工的方式建立需求追蹤矩陣是一項很耗時的工作,一個雙向追蹤矩陣往往需要幾個小時才能完成,并且在建立過程中容易出錯,查找錯誤也非常費時。而雷達系統(tǒng)所包含的軟件數(shù)量眾多、規(guī)模較大,并且軍用軟件對軟件測評具體工作也提出很高要求,軟件文檔規(guī)模迅速增大,由原來的幾十頁增至數(shù)百頁,甚至上千頁,對此由人工完成追蹤工作,已經(jīng)變成非常困難的任務(wù)。
1 關(guān)鍵技術(shù)分析
1.1 目標表的識別與定位分析
軟件測試需求、軟件測試計劃、軟件測試說明和軟件測試記錄中均包含數(shù)量眾多、類型各異的表,除測試記錄外,其余文檔中均存在各種不同形狀的表,即使是測試記錄文檔,表的形狀也不完全相同。若在讀取目標表內(nèi)容的過程中,誤讀了被合并后的單元格,將造成程序異常。由此,首先需要解決的問題是在指定文檔中識別出目標表,我們所采取的算法過程[4]如下。
⑴ 確定識別指定目標表的條件:
⑵ 建立條件數(shù)組,并將目標表條件集存入數(shù)組:
⑶ 根據(jù)以下公式計算出文檔中所有的表:
⑷ 識別文檔中符合要求的目標表:
1.2 大文檔處理分析
Microsoft Word在處理文件過程中,會定時自動產(chǎn)生許多臨時文件,當出現(xiàn)意外斷電時,Word可通過這些臨時文件達到意外出錯時恢復文件的效果[5];當然,Word為了文件恢復而運行這些臨時文件是以犧牲速度為代價的。
軟件測試需求規(guī)格說明、軟件測試計劃、軟件測試說明和軟件測試記錄文檔,描述的內(nèi)容較多,文檔規(guī)模很容易達到上百頁。這些文檔包含有大量的表、圖形等內(nèi)容,在處理過程中,由于Word緩沖數(shù)據(jù)、進行頁面分析、重新分頁等任務(wù)造成速度較慢,而此時Word運行仍在運行大量臨時文件,造成響應速度非常慢。為此,軟件測試文檔追蹤系統(tǒng)采取措施減少臨時文件,以提高Word運行速度。
⑴ 計算出文檔中的目標表:
⑵ 文檔處理:
在系統(tǒng)設(shè)計過程中,考慮到大文檔的特性,對于規(guī)模T達到K文檔,可以建立文檔規(guī)模、計算機配置和處理時機之間的關(guān)系表。只要知道其中的兩個,就可以查出第三個的具體數(shù)值。
1.3 估計測試用例執(zhí)行日期
由于軟件測試用例與軟件測試記錄存在很大的相關(guān)性,故通過軟件測試說明能夠生成出軟件測試記錄模板。依據(jù)歷史數(shù)據(jù)的統(tǒng)計,通常測試人員的工作效率是能夠估計出來的,測試執(zhí)行過程中,每天執(zhí)行的測試用例數(shù)量也相差無幾,但由于現(xiàn)場測試條件或其他工作任務(wù)的干預,測試用例數(shù)量規(guī)模較多(多于100個)與規(guī)模較小時(100個以內(nèi)),測試過程的可控偏差也不相同,導致每天執(zhí)行的測試用例也不完全相同。按照PERT法估計[6]后,分派測試用例過程如下。
⑴ 依據(jù)測試項目策劃,定義相應測試周期:
⑵ 確定每天工作量偏差范圍:
⑶ 確定預期的每天測試工作量:
⑷ 確定每個測試用例的執(zhí)行日期:
2 仿真運算結(jié)果
2.1 目標表的識別與定位運行結(jié)果
在目標表的識別和定位設(shè)計時,要注意條件之間的組合性,以及找不到符合條件表的處理。以波束調(diào)度軟件為例,根據(jù)不同的條件組合,得出的目標表數(shù)組PTA如表1所示。
通常情況,在實際軟件測試過程中,很少有表的行數(shù)、列數(shù)是始終不變的,第1行的列數(shù)與第2行、第5行或其他任意行的列數(shù)各不相同。如果直接按行列讀取,當讀取到不存在的單元格時,就會出現(xiàn)程序異常。為此,需要解決讀取指定單元格的問題。測試項表、測試用例表、測試記錄表等,行數(shù)未知,列數(shù)也不能確定,故需采取異常處理機制,當出現(xiàn)異常時,程序仍然能夠正常向下執(zhí)行。
2.2 大文檔處理運行結(jié)果
按照MS Word處理時間最優(yōu)進行測試,對于不同的計算機硬件配置,程序優(yōu)化的性能測試結(jié)果見表2與表3。
將性能測試數(shù)據(jù)進行匯總,得到每個CSCI平均運行時間,如圖1和圖2所示。
處理結(jié)果:
2.3 估計測試用例執(zhí)行日期運行結(jié)果
在生成測試記錄模板過程中,確定每個測試用例的執(zhí)行時間是按照測試計劃確定的時間范圍進行初步確定,再依據(jù)一定的比例范圍進行偏差調(diào)整,由此確定測試記錄模板的時間。測試人員在執(zhí)行用例過程中,能夠按照此測試時間安排每天測試工作任務(wù)。
雷達資源管理、航跡跟蹤、波束調(diào)度CSCI的估計測試用例執(zhí)行日期如圖3、圖4和圖5所示。
3 結(jié)束語
軟件測試需求管理是軟件需求管理的一個重要組成部分。隨著雷達軟件規(guī)模的不斷擴大,其軟件測試需求管理的重要性也日益突出。本文研究了雷達軟件測試需求跟蹤與驗證技術(shù)的關(guān)鍵技術(shù),針對一些關(guān)鍵技術(shù)進行了詳細的闡述,同時給出了實現(xiàn)途徑。
采用本文給出的方法所設(shè)計的軟件測試文檔追蹤系統(tǒng)已經(jīng)在多個型號產(chǎn)品上使用,該系統(tǒng)能夠快速完成各級軟件需求追蹤、按模板要求自動產(chǎn)生測試文檔,極大提升了軟件測試人員的工作效率,取得了良好的效果。進一步的研究是針對各軍兵種雷達軟件的不同要求,完善軟件測試文檔追蹤系統(tǒng),以進一步適應軟件管理需求。
參考文獻:
[1] 何友,張晶煒.雷達數(shù)據(jù)處理及應用[M].電子工業(yè)出版社,2009.
[2] (美)George W. Stimson著,吳漢平等譯.機載雷達導論(第二版)[M].
電子工業(yè)出版社,2005.
[3] (美)Paul C. Jorgensen著,韓柯,杜旭濤譯.軟件測試(第二版)[M].機
械工業(yè)出版社,2007.
[4] (美)Benjamin L. Kovitz著,胡輝良,張罡等譯.實用軟件需求[M].機械
工業(yè)出版社,2005.
[5] Microsoft,How to run the sample code for the Office programs
from Knowledge Base articles,http://support.microsoft.com/kb/212536/EN-US.
[6] (美) William E. Perry著,高猛,馮飛等譯.軟件測試的有效方法(第3
版)[M].清華大學出版社,2008.