Gompertz 缺陷分析法

Gompertz 缺陷分析法

軟件缺陷管理過程不僅包含軟件缺陷記錄和統計,更重要的是對缺陷數據進行細緻、深入的分析。缺陷分析是缺陷管理中的一個重要環節,有效的缺陷分析不僅可以評價軟件質量,同時可以幫助項目組很好地掌握和評估軟件的研發過程,進而改進研發過程,未對缺陷進行分析就無法對研發流程進行改進。此外,還能為軟件新版本的開發提供寶貴的經驗,進而在項目開展之前,制定準確、有效的項目控制計劃,為開發高質量的軟件產品提供保障。

常用的缺陷分析方法有:根本原因缺陷分析法、四象限缺陷分析法、ODC 缺陷分析法、Rayleigh缺陷分析法和Gompertz 缺陷分析法。

本節我們來學習Gompertz 缺陷分析法.

Gompertz 是一種可靠性增長模型,是由Virene 提出的。該模型的公式為

Gompertz 缺陷分析法

,其中R 是隨時間t 變化的可靠性指標,a 為當測試時間或階段t 趨於無窮大時R 的極值,ab 為系統測試初始值,即t=0 時R 的初值,c 為形狀參數,c 值越大,則可靠性增長越慢,反之則增長越快。模型中a、b、c 參數值為估值,通常是一個經驗值。

在軟件測試領域中,Gompertz 模型主要用於分析軟件測試的充分性及軟件缺陷發現率。其原理是使用Gompertz 函數畫出擬合曲線,再畫出實際測試過程中每天累積的缺陷曲線,比較這兩條曲線進而分析測試的充分性和軟件缺陷發現率。

每天發現的缺陷數據及累積缺陷數見表9-9。

Gompertz 缺陷分析法

Gompertz 模型估算缺陷增長趨勢與累積缺陷趨勢圖如圖9-26 所示。

Gompertz 缺陷分析法

從圖中可以看出,執行測試15 天發現的缺陷數為97 個,Gompertz 擬合曲線估算值為102 個,缺陷發現率為95.1%。

Gompertz 模型雖然可以很好地估算軟件中存在的缺陷數,但在使用時也有一定的約束條件:

(1)參數a、b、c 的值通常是一個經驗值,不易確定。

(2)要求被測試的對象特性一致,即測試的複雜度、規模、測試組織、測試執行的測試用例等需要一致,不能存在較大的差異。

(3)測試輪次應該不少於2 次,否則無法使用Gompertz 模型進行分析。

基於以上原因,在實際工作中,Gompertz 模型用來分析軟件測試的充分性和發現缺陷率的頻率較低,特別是基於第二個約束條件,在工作中可能很難保證對象特性的一致,每個測試版本的測試用例數可能都存在差別。


分享到:


相關文章: