何斌
(河北省秦皇島市91404 部隊(duì),河南 秦皇島066000)
近些年,軟件密集型系統(tǒng)在裝備中的占比迅速增長(zhǎng),且這一趨勢(shì)正在加快,軟件已成為裝備組成的主要部分。在實(shí)際裝備使用中發(fā)現(xiàn),系統(tǒng)發(fā)生故障或失效更多的是由于軟件缺陷引起的,軟件缺陷率成為影響軟件可靠性的關(guān)鍵。按現(xiàn)有裝備管理流程裝備軟件經(jīng)過(guò)自測(cè)試、第三方軟件測(cè)試、裝備試驗(yàn)等過(guò)程,可以認(rèn)為軟件缺陷率降為較低的水平,但實(shí)際上交付部隊(duì)的裝備軟件缺陷率可能仍處在較高的水平且這一狀況無(wú)法準(zhǔn)確計(jì)量。如何有效分析預(yù)測(cè)裝備軟件缺陷率已成為軟件試驗(yàn)可靠性評(píng)價(jià)的重要研究?jī)?nèi)容。
Rayleigh 模型是一種常用軟件缺陷分析預(yù)測(cè)方法。Rayleigh分析模型通過(guò)生命周期各階段缺陷發(fā)現(xiàn)情況得到缺陷Rayleigh曲線,用于評(píng)估軟件質(zhì)量、預(yù)測(cè)軟件現(xiàn)場(chǎng)質(zhì)量。所以Rayleigh 模型可對(duì)裝備軟件缺陷分析預(yù)測(cè)并用于軟件試驗(yàn)可靠性評(píng)價(jià),是一種有效軟件質(zhì)量評(píng)估方法。但在實(shí)際工作中發(fā)現(xiàn)兩方面問(wèn)題限制了Raleigh 分析的應(yīng)用,一方面在試驗(yàn)階段很難準(zhǔn)確采集生命周期各階段缺陷數(shù)據(jù)尤其是開(kāi)發(fā)與自測(cè)試階段的數(shù)據(jù);另一方面基于試驗(yàn)階段可獲取的軟件缺陷數(shù)據(jù)(主要為軟件測(cè)試、軟件試驗(yàn)缺陷數(shù)據(jù))與Rayleigh 模型分析結(jié)果有一定的出入。為解決上述問(wèn)題本文提出基于件測(cè)試與試驗(yàn)數(shù)據(jù)的Raleigh 軟件缺陷分析,并改進(jìn)Raleigh 模型使其更加符合實(shí)際。
Rayleigh 模型可以預(yù)測(cè)軟件開(kāi)發(fā)全生命周期的缺陷分布,是一種常用的可靠性模型。Rayleigh 模型是Weibull 分布系列中的一種。Weibull 分布又稱韋伯分布、韋氏分布或威布爾分布,由瑞典物理學(xué)家Wallodi Weibull 于1939 年引進(jìn),是可靠性分析及壽命檢驗(yàn)的理論基礎(chǔ)。Weibull 分布的標(biāo)志性特征之一是其概率的尾部逐漸地趨近于零但達(dá)不到零。Rayleigh 模型應(yīng)用于軟件可靠性評(píng)估領(lǐng)域,主要利用軟件缺陷在軟件生命同期時(shí)間的分布符合Rayleigh 曲線的規(guī)律。
Rayleigh 模型的累積分布函數(shù)(CDF)和概率密度函數(shù)(PDF)為:
通常情況在軟件試驗(yàn)階段,試驗(yàn)人員能較為準(zhǔn)確地掌握軟件測(cè)試缺陷及試驗(yàn)數(shù)據(jù),故研究基于這兩組數(shù)據(jù)Rayleigh 缺陷分析有較強(qiáng)的現(xiàn)實(shí)意義。通過(guò)研究大量過(guò)往的裝備軟件測(cè)試與軟件試驗(yàn)缺陷數(shù)據(jù)發(fā)現(xiàn),軟件缺陷數(shù)據(jù)整體上并不符合Rayleigh 曲線。實(shí)際裝備軟件缺陷示意曲線如下:
圖1 實(shí)際軟件測(cè)試及試驗(yàn)缺陷分布圖
實(shí)際裝備軟件測(cè)試與試驗(yàn)缺陷數(shù)據(jù)有以下幾個(gè)特點(diǎn):
(1)整體上并不符合Rayleigh 曲線;
(2)單組缺陷數(shù)據(jù)仍符合Rayleigh 曲線;
(3)軟件測(cè)試發(fā)現(xiàn)累積缺陷通常高于軟件試驗(yàn)發(fā)現(xiàn)累積缺陷。
分析形成這一現(xiàn)象主要原因?yàn)椋很浖y(cè)試與軟件試驗(yàn)分別由不同的人員組織實(shí)施,在工作經(jīng)驗(yàn)、知識(shí)結(jié)構(gòu)上有差異且互補(bǔ);軟件測(cè)試與軟件試驗(yàn)在測(cè)試方法及實(shí)施環(huán)境上有巨大的差異;軟件測(cè)試在開(kāi)展在軟件試驗(yàn)之前能發(fā)現(xiàn)大量易發(fā)現(xiàn)缺陷。
綜合上述原因,對(duì)用于軟件試驗(yàn)評(píng)估的Rayleigh 模型進(jìn)行如下改進(jìn):
(1)缺陷數(shù)據(jù)主要基于軟件測(cè)試與軟件試驗(yàn)發(fā)現(xiàn)的數(shù)據(jù);(2)Rayleigh 曲線由軟件測(cè)試數(shù)據(jù)與軟件試驗(yàn)數(shù)據(jù)兩組相對(duì)獨(dú)立的數(shù)據(jù)組成,缺陷總數(shù)K 由兩組按比例構(gòu)成,即:
K=Ki+Kj
式中:Ki為軟件測(cè)試發(fā)現(xiàn)累積缺陷,Kj為軟件試驗(yàn)發(fā)現(xiàn)累積缺陷,按經(jīng)驗(yàn)Ki≈K*0.8。
按實(shí)際對(duì)模型改為:
式中:tμ為軟件測(cè)試時(shí)間(周數(shù))。
利用改進(jìn)后的Rayleigh 模型在試驗(yàn)階段對(duì)“XXX 型雷達(dá)軟件”進(jìn)行缺陷預(yù)測(cè)。此雷達(dá)軟件進(jìn)入性能試驗(yàn)之前已完成軟件測(cè)試,測(cè)試周期為7 周。軟件測(cè)試發(fā)現(xiàn)缺陷分布如下表所示:
表1 軟件測(cè)試發(fā)現(xiàn)缺陷分布
根據(jù)改進(jìn)后的Rayleigh 模型,軟件試驗(yàn)階段軟件缺陷預(yù)測(cè)為72。使用Rayleigh 模型生成的模擬值見(jiàn)表2、表3:
表2 軟件測(cè)試發(fā)現(xiàn)缺陷與Rayleigh 模擬缺陷表
表3 軟件試驗(yàn)發(fā)現(xiàn)缺陷與Rayleigh 模擬缺陷表
Rayleigh 模型模擬密度函數(shù)(PDF)與實(shí)際數(shù)據(jù)圖如圖2 所示:
圖2 PDF 模擬值與實(shí)際數(shù)據(jù)圖
通過(guò)實(shí)例數(shù)據(jù)比對(duì),改進(jìn)后的Rayleigh 模型模擬數(shù)據(jù)與實(shí)際數(shù)據(jù)分布形狀基本一致,數(shù)值誤差處于可接受范圍之內(nèi)。
作者通過(guò)軟件測(cè)試與試驗(yàn)實(shí)際經(jīng)驗(yàn)數(shù)據(jù)對(duì)Rayleigh 模型進(jìn)行了改進(jìn)。改進(jìn)后的Rayleigh 模型更加符合軟件測(cè)試及試驗(yàn)缺陷發(fā)現(xiàn)規(guī)律,可以在軟件試驗(yàn)階段比較真實(shí)地對(duì)軟件試驗(yàn)缺陷進(jìn)行預(yù)測(cè)。通過(guò)實(shí)例驗(yàn)證了改新模型對(duì)軟件測(cè)試、試驗(yàn)缺陷發(fā)現(xiàn)有更好的擬合度,可以有效指導(dǎo)軟件試驗(yàn)缺陷預(yù)測(cè)與軟件可靠性評(píng)估。
該模型尚有一些問(wèn)題需進(jìn)一步深入研究。下一步重點(diǎn)對(duì)已完成的軟件測(cè)試及試驗(yàn)的項(xiàng)目數(shù)據(jù)進(jìn)行挖掘分析,總結(jié)設(shè)定軟件測(cè)試與試驗(yàn)發(fā)現(xiàn)缺陷的最佳數(shù)量比,從而更加精確進(jìn)行缺陷預(yù)測(cè)。