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