陳 蘇
(福建省計量科學(xué)研究院,福建 福州 350001)
隨著嵌入式系統(tǒng)越來越廣泛地應(yīng)用于社會各個領(lǐng)域,人們在生產(chǎn)、生活中都不可避免地接觸到各式各樣的嵌入式軟件,而嵌入式軟件的質(zhì)量很大程度上影響到嵌入式系統(tǒng)的可靠運(yùn)行. 因此對嵌入式軟件進(jìn)行合理有效的測試,并給出量化的定義和評價,對保證其質(zhì)量至關(guān)重要.
目前,國內(nèi)從事軟件質(zhì)量評測工作的第3方機(jī)構(gòu)對嵌入式軟件的測試基本套用普通軟件質(zhì)量評價體系. 由于嵌入式軟件和普通軟件有一定的區(qū)別,它不僅要求其準(zhǔn)確性、安全性和穩(wěn)定性等方面能夠滿足實(shí)際應(yīng)用的需要,而且還要求盡可能地進(jìn)行優(yōu)化,以減少對系統(tǒng)資源與硬件的消耗. 顯然直接套用普通軟件質(zhì)量評價體系是不太合適的,需要根據(jù)嵌入式軟件的質(zhì)量模型[1]設(shè)計其外部質(zhì)量評價方法并量化評價結(jié)果.
嵌入式軟件產(chǎn)品質(zhì)量與普通軟件產(chǎn)品質(zhì)量相同,也分為內(nèi)部質(zhì)量、外部質(zhì)量與使用質(zhì)量. 內(nèi)部質(zhì)量度量是從設(shè)計和開發(fā)的角度出發(fā)[2],更多關(guān)注的是軟件源代碼、數(shù)據(jù)結(jié)構(gòu)設(shè)計、文檔過程管理等方面,在度量過程中不受其他軟件及硬件的影響; 外部質(zhì)量是指軟件在模擬環(huán)境或真實(shí)環(huán)境下執(zhí)行過程中所被測量和評價的質(zhì)量; 使用質(zhì)量是指用戶在真實(shí)系統(tǒng)環(huán)境下使用軟件所達(dá)到其需求目標(biāo)的程度,并不是指軟件本身的屬性. 對于第3方軟件檢測機(jī)構(gòu)來說,更多的是關(guān)注嵌入式軟件外部質(zhì)量,本文也僅對嵌入式軟件外部質(zhì)量的度量進(jìn)行討論.
進(jìn)行嵌入式軟件質(zhì)量度量要遵循軟件產(chǎn)品評價過程[3],包括:確定評價需求、規(guī)定評價、設(shè)計評價與執(zhí)行評價4個階段. 具體來說就是:① 確定質(zhì)量度量評價模型,根據(jù)需求選擇需要測試的質(zhì)量特性[4]; ② 確定度量指標(biāo)的權(quán)重與選擇需要測試的測量元; ③ 制定評價計劃,即測試計劃[5]; ④ 根據(jù)測試計劃進(jìn)行度量并給出量化的評價結(jié)果.
嵌入式軟件外部質(zhì)量通過建立質(zhì)量模型來度量[6,7]. 本文根據(jù)GB/T 30961-2014中對嵌入式軟件外部質(zhì)量度量特性的描述,將其外部質(zhì)量特性分為功能性、可靠性、易用性、效率、可維護(hù)性和可移植性共6個特性作為一級評價指標(biāo). 每一個特性又可分為若干個子特性,總計26個子特性,以此作為二級評價指標(biāo). 指標(biāo)細(xì)分情況如圖 1 所示.
圖 1 嵌入式軟件外部質(zhì)量特性細(xì)分圖Fig.1 External quality characteristic subdivision diagram of embedded software
圖 1 中每個子特性應(yīng)至少包含一個測量元,GB/T 30961-2014中對外部質(zhì)量模型定義的測量元總計100個. 本文限于篇幅,不對每個測量元做詳細(xì)描述. 對于某個嵌入式軟件質(zhì)量度量而言,并不是標(biāo)準(zhǔn)內(nèi)定義的所有特性與測量元都必須涉及到,而是可以根據(jù)該軟件的特點(diǎn)、領(lǐng)域、規(guī)模等因素選取具有較大測試意義的特性與測量元,忽略掉一些意義不大的特性與測量元,如果有特殊的測試需求,則可以根據(jù)需求自定義一些測量元,定義測量元時需與標(biāo)準(zhǔn)規(guī)范格式一致[8].
要量化度量結(jié)果,首先要確定一個標(biāo)度V,我們把嵌入式軟件最終評價結(jié)果設(shè)定在0~1區(qū)間內(nèi),越趨近于1則表明軟件質(zhì)量越好. 根據(jù)以往評測經(jīng)驗(yàn),建議質(zhì)量評價等級劃分為
0.9≤V≤1為優(yōu)秀;
0.8≤V<0.9為良好;
0.6≤V<0.8為合格;
0.6以下為不合格.
等級劃分也可根據(jù)實(shí)際測試需求進(jìn)行調(diào)整. 一級評價指標(biāo)所占軟件整體質(zhì)量的權(quán)重,可以根據(jù)專家評價法確定:即組織行業(yè)內(nèi)專家、資深技術(shù)員組成評審小組,通過對軟件規(guī)模、特點(diǎn)、測試需求等各個評價對象進(jìn)行分析和評定,確定各個指標(biāo)的權(quán)重,如表 1 所示.
表中:∑Ai=1.
表 1 一級評價指標(biāo)權(quán)重表
二級評價指標(biāo)的權(quán)重根據(jù)其所設(shè)計的測量元數(shù)量來確定. 以功能性指標(biāo)為例,如果其5個二級指標(biāo)總共設(shè)計了N個測量元,那么每個二級指標(biāo)的權(quán)重如表 2 所示.
其他特性依此類推不再闡述.
表 2 二級評價指標(biāo)權(quán)重表
一、二級評價指標(biāo)權(quán)重確定好之后,就可以對每個子特性設(shè)計測量元. 為方便計算評分,需對每個測量元做“歸一化”處理,即將所有測量元的得分取值范圍映射到0~1這一區(qū)間上,越趨近于1代表該測量元評價結(jié)果越好.
對每個測量元設(shè)計一定數(shù)量的測試用例進(jìn)行測試,通過計算測試用例執(zhí)行通過率,來確定單個測量元得分Ti,即
(1)
通過計算單個二級評價指標(biāo)下所有測量元得分率來確定單個二級評價指標(biāo)得分
(2)
根據(jù)二級指標(biāo)的權(quán)重,計算單個一級評價指標(biāo)得分
Ui=∑(Wi×Bi) ; (3)
根據(jù)一級評價指標(biāo)權(quán)重確定軟件最終評價得分
SCORE=∑(Ui×Ai) .(4)
以本單位所測某公司電腦橫機(jī)智能控制系統(tǒng)為例,說明評價方法在實(shí)際測試中的運(yùn)用. 在該測試實(shí)例中,專家評審組根據(jù)系統(tǒng)測試需求以及系統(tǒng)規(guī)格說明書等資料,選取并確定一級評價指標(biāo)權(quán)重; 之后根據(jù)選取測量元,確定二級指標(biāo)權(quán)重. 如表 3 所示.
根據(jù)系統(tǒng)測試需求,對每個測量元設(shè)計適當(dāng)數(shù)量的測試用例,經(jīng)過標(biāo)準(zhǔn)規(guī)范的測試,計算每個測量元的得分,根據(jù)2.3節(jié)步驟按式(1)~式(4) 逐級計算,得出所有一級指標(biāo)得分:
功能性U1=(0.957×0.5)+
(0.915×0.33)+(1×0.17)=0.95;
可靠性U2=(0.9×0.34)+
(0.95×0.33)+(1×0.33)=0.95;
易用性U3=(1×0.125)+(0.95×0.25)+
(0.963×0.5)+(1×0.125)=0.969;
效率U4=(0.933×0.5)+
(0.917×0.5)=0.925;
可移植性U5=(1×1)=1.
系統(tǒng)各級指標(biāo)得分如表 4 所示.
表 3 測試系統(tǒng)評價指標(biāo)權(quán)重表
該軟件最終得分為
SCORE=∑(Ui×Ai) =(0.95×0.3)+
(0.95×0.3)+(0.969×0.1)+
(0.925×0.25)+(1×0.05)=0.948.
根據(jù)評價標(biāo)準(zhǔn),則該軟件外部質(zhì)量評價結(jié)果為優(yōu)秀.
表 4 測試系統(tǒng)評價得分表
本文建立了規(guī)范合理的嵌入式軟件外部質(zhì)量度量模型,并運(yùn)用到實(shí)際項(xiàng)目檢測中,把外部質(zhì)量度量結(jié)果量化地展示出來,使得測試人員與用戶對該軟件的質(zhì)量有更直觀的理解. 該方法簡單可行,可供第3方軟件評測機(jī)構(gòu)借鑒參考[9,10],不足之處需要在未來的檢測工作中不斷提高與改進(jìn).