,
(西南電子技術研究所 天奧軟件測評中心,成都 610036)
航空電子系統(tǒng)是飛機上所有電子設備的總和,涵蓋通信、導航、雷達、電子戰(zhàn)、飛行控制和管理等各個功能子系統(tǒng),同時也包括這些系統(tǒng)間用于信息交換和資源共享的信息綜合系統(tǒng),通過機載網(wǎng)絡和軟硬件技術組成一個有機的整體。隨著航空電子技術不斷發(fā)展,現(xiàn)代飛機的體系架構已由分離式、聯(lián)合式逐漸向模塊化、高度綜合化方向發(fā)展,系統(tǒng)功能越來越復雜,軟件實現(xiàn)的功能在航空電子系統(tǒng)中所占的比重越來越大,航空機載軟件具有嵌入式、實時性、結構復雜、高安全關鍵等級等特點[1],航空機載軟件已成為決定航空電子系統(tǒng)乃至整個航空器質量的關鍵[2]。
由于軟件是航空機載裝備的重要組成部分,機載軟件質量問題愈顯突出,甚至成為機載計算機軟件能否發(fā)揮其優(yōu)越性能的一個制約因素[1],軟件測試是保障航空機載軟件質量可靠性的重要手段,也是機載軟件全生存周期缺陷管理和分析的關鍵環(huán)節(jié)。目前航空機載軟件測試是由國家授權的軟件測評機構依據(jù)國標、國軍標、中國民用航空規(guī)章以及國際通行標準(DO-178B/C等)考察航空機載產(chǎn)品中的軟件是否符合研制總要求、軟件研制任務書、軟件需求規(guī)格說明、軟件設計說明等技術文件中明確的要求和實現(xiàn)方式。軟件測試質量的好壞直接影響軟件測試結果的有效性。但由于航空機載軟件的復雜性和特殊性,雖然解決了如何測試的問題,但軟件測試質量如何評價是軟件測試今后發(fā)展過程中需要面對的問題[3]。建立軟件測試質量模型和選擇科學、合理的評價方法是軟件測試質量評價的兩個基本問題,也是當前軟件測試質量評價研究中的難點。國內外學者從測試過程、可靠性增長、缺陷殘留風險、測試效率和測試成本等多個角度提出了許多有重要意義的軟件測試質量評價方法[4-6],但缺乏從軟件研制全生存周期進行量化評價的方法。
本文針對高安全關鍵航空機載軟件測試質量評價難題,提供一種能夠降低軟件維護成本,提高軟件測試質量,全生存周期軟件測試質量評價度量方法,以幫助軟件研發(fā)人員和項目管理人員客觀、公正的量化軟件測試質量,從而持續(xù)提高軟件質量[7-8]。
根據(jù)航空機載設備研制管理要求,航空機載設備研制生存周期分為F方案研制階段、C型件研制階段、S型件研制階段、D定型階段和P使用階段[9],如圖1所示。航空機載軟件研制生存周期包括系統(tǒng)分析與設計、軟件需求、軟件設計、軟件編碼、軟件集成、軟件驗收、系統(tǒng)集成、軟件鑒定/定型、軟件運行與維護。航空機載軟件測試階段包括研制過程測試階段、三方測評階段[10]、鑒定/定型測評階段、用戶使用階段。根據(jù)航空機載設備研制要求和型號軟件工程化要求,航空機載軟件在C型件研制階段需開展研制過程測試質量度量,在S型件研制階段需開展三方測評質量度量,在D定型階段需開展鑒定/定型測評質量度量,三方測評和鑒定/定型測評質量度量是從缺陷的探測程度來衡量研制過程測試工作的質量,在P使用階段需將軟件產(chǎn)品交付用戶使用后開展的用戶使用質量度量,在一定時間內暴露出來缺陷數(shù)量的多少也是評價軟件測試質量的一個重要維度。
圖1 航空機載設備研制階段和軟件測試階段對應關系圖
航空機載軟件測試質量評價模型包括階段層、活動層和度量元層(見圖2)。階段層包括研制過程測試質量、三方測評質量、鑒定/定型測評質量和用戶使用質量4個階段,活動層包括測試需求分析和策劃質量、測試設計和實現(xiàn)質量、測試執(zhí)行質量和測試總結質量4項活動,度量元層包含18種度量元(見表1),度量元的含義及計算方法見指標描述,度量元的取值范圍采用歸一化處理。針對機載軟件測試評價開展的時機、技術和管理要求,度量元的種類和數(shù)量可以不同,因項目需要而設置。
航空機載軟件研制過程測試是由研制單位按照項目總體測試要求開展的軟件內部測試工作,包括測試需求分析和策劃、測試設計和實現(xiàn)、測試執(zhí)行和測試總結4項活動,研制過程測試質量根據(jù)測試策劃質量、測試設計質量、測試執(zhí)行質量和測試總結質量進行質量度量。測試策劃質量包括顯性需求覆蓋率、隱性需求覆蓋率、測試策略充分性和測試環(huán)境差異性4種度量元,測試設計質量包括測試需求覆蓋率、測試用例顆粒度2種度量元,測試執(zhí)行質量包括測試用例執(zhí)行率、回歸測試用例比例和軟件缺陷接受率3種度量元,測試總結質量包括組織資產(chǎn)貢獻度、測試工具分析度和測試人員能力分析度3種度量元。
表1 軟件測試質量度量元
圖2 航空機載軟件測試質量評價模型
在研制過程測試后,項目總體單位委托具有軟件測評資質的測評機構依據(jù)三方測評方案和實驗室質量管理體系開展第三方測評。三方測評質量是從缺陷的探測程度來衡量軟件測試工作的質量,由于測試不可能實現(xiàn)窮舉,需在一定的時間和人力成本內進行,因此所有的測試工作理論上均不可能探測到所有缺陷,即不存在完美的軟件或系統(tǒng)。三方測評質量采用三方測評結果與研制過程測試結果進行對比的方式進行質量評價,三方測評質量包含三方測評缺陷發(fā)現(xiàn)率和三方測評嚴重缺陷發(fā)現(xiàn)率2個度量元,屬于減分項。
在三方測評后,項目主管機關委托具有軟件測評資質的測評機構依據(jù)鑒定/定型測評方案和實驗室質量管理體系開展鑒定/定型測評,鑒定/定型測評質量采用鑒定/定型測評結果與研制過程測試結果和三方測評結果進行對比的方式進行質量評價,鑒定/定型測評質量包括鑒定/定型測評缺陷發(fā)現(xiàn)率和鑒定/定型測評嚴重缺陷發(fā)現(xiàn)率2個度量元,屬于減分項。
在鑒定/定型測評后,航空機載軟件灌裝于機載裝備并交付用戶,在一定時間內用戶使用過程中暴露出來的問題數(shù)量也是評價軟件測試質量的一個重要維度,用戶使用質量采用用戶使用結果與研制過程測試結果、三方測評結果和鑒定/定型測評結果進行對比的方式進行質量評價,用戶使用質量包括用戶使用缺陷發(fā)現(xiàn)率和用戶使用嚴重缺陷發(fā)現(xiàn)率2個度量元,屬于減分項。
航空機載軟件測試質量采用下面6個步驟對被測軟件測試質量進行評價。
第一步:確定研制過程測試階段中測試需求分析和策劃、測試設計和實現(xiàn)、測試執(zhí)行、測試總結4項活動的權重系數(shù)a,權重系數(shù)按順序定義為{a0,a1,a2,a3...ai},且滿足式(1)。每個活動ai包含若干度量元,確定每個度量元的權重系數(shù)b,按順序定義為{b0,b1,b2……bm},滿足式(2);收集研制過程測試階段各度量元數(shù)值M(k),ai活動的質量評價數(shù)值為ti,由式(3)得出;按照式(4)計算出研制過程測試質量評價值T1。
(1)
(2)
(3)
(4)
第二步:確定三方測評階段中三方測評缺陷發(fā)現(xiàn)率和三方測評嚴重缺陷發(fā)現(xiàn)率兩個度量元的權重系數(shù),收集三方測評階段兩個度量元數(shù)值,計算出三方測評質量評價值T2。
第三步:確定鑒定/定型測評階段中鑒定/定型測評缺陷發(fā)現(xiàn)率和鑒定/定型測評嚴重缺陷發(fā)現(xiàn)率兩個度量元的權重系數(shù),收集鑒定/定型測評階段兩個度量元數(shù)值,計算出鑒定/定型測評質量評價值T3。
第四步:確定用戶使用階段中用戶使用缺陷發(fā)現(xiàn)率和用戶使用嚴重缺陷發(fā)現(xiàn)率兩個度量元的權重系數(shù),明確一段時間內收集用戶使用階段兩度量元數(shù)值,計算出用戶使用質量評價值T4。
第五步:按照式(5)計算航空機載軟件測試質量評價值T。
T=T1-T2-T3-T4
(5)
第六步:航空機載軟件測試質量評價值T與航空機載軟件研制單位組織測量庫的質量評價基準值進行比較,最終確定航空機載軟件測試的質量優(yōu)劣。
某航空機載軟件研制單位采用圖1的質量評價模型擬對3個被測對象(A、B、C)開展軟件測試質量定量評價。假設研制過程測試質量總分為100,三方測評質量總分為10、鑒定/定型測評質量總分為20,用戶使用質量總分為30,其中屬于減分項的質量總分為50。研制單位組織測量庫的質量評價基準值為優(yōu)秀(大于等于80分)、合格(大于等于60分且小于80分)和不合格(小于60分)。
步驟1:設置航空機載軟件研制過程測試4項活動的權重分別為{0.4,0.3,0.2,0.1};研制過程測試、三方測評、鑒定/定型測評和用戶使用的度量元采取默認平均權重方式確定權重。
步驟2:獲取3個待評價對象的18種度量元數(shù)值,如表2的待評價對象列。
步驟3:分別計算3個待評價對象的研制過程測試質量評價值T1,三方測評質量評價值T2,鑒定/定型測評質量評價值T3和用戶使用質量評價值T4,并根據(jù)式(5)分別計算3個待評價對象的計算航空機載軟件測試質量評價值T。
表2 度量元樣本采集數(shù)據(jù)表
步驟4:3個待評價對象的航空機載軟件測試質量評價值T分別與研制單位組織測量庫的質量評價基準值進行比較,確定3個待評價對象軟件測試質量優(yōu)劣,評價結果分別為:A優(yōu)秀,C合格,B不合格。
表3 質量評價計算分值
軟件測試是提高航空機載軟件產(chǎn)品質量和降低軟件維護成本的重要手段之一。本文介紹了一種航空機載軟件測試質量評價方法,通過實際工程實踐表明,該方法具有計算過程簡單、評價要素完整、評價模型合理和評價結果客觀的特點。其主要創(chuàng)新點在于:一是將典型缺陷和可復用測試用例組織資產(chǎn)貢獻度納入度量元體系,其作用是鼓勵測試人員將好的測試用例和典型的軟件缺陷納入組織資產(chǎn)管理,便于積累測試經(jīng)驗、沉淀測試成果和提高測試技能,達到反哺軟件研發(fā)的目的;二是根據(jù)航空機載軟件研制全生存周期特點,除軟件研制過程測試外,將三方測評質量、鑒定/定型測評質量和用戶使用質量納入航空機載軟件測試質量評價模型,使得評價要素更完整、評價模型更合理和評價結果更客觀。