軟件測試缺陷密度的計算方法
一、缺陷密度
基本的缺陷測量是以每千行代碼的缺陷數(Defects/KLOC)來測量的。稱爲缺陷密度(Dd),其測量單位是defects/KLOC。缺陷密度=缺陷數量/代碼行或功能點的數量。
二、計算方法
可按照以下步驟來計算一個程序的缺陷密度:
1. 累計開發過程中每個階段發現的缺陷總數(D)。
2. 統計程序中新開發的和修改的代碼行數(N)。
3. 計算每千行的缺陷數Dd=1000*D/N。例如,一個29.6萬行的源程序總共有145個缺陷,則缺陷密度是: Dd=1000*145/296000=0.49 defects/KLOC。
在缺陷密度度量中存在的兩個主要困難是:
1. 缺陷權值如何計算:是否將嚴重程度較輕的缺陷和較重的缺陷同等對待。
2. 代碼行怎麼統計:代碼行的數量可能會因編程人員的技術水平和所使用的語言不同而不同。
3. 對於黑盒測試人員,可能不太容易獲取到代碼行數。
爲了解決以上問題,缺陷密度計算方法可以改爲:
D/C 即缺陷總權值 除以 功能總權值
缺陷總權值計算方法 = Sum(缺陷數x該缺陷等級的權值)
權值可以根據自己項目的實際情況,進行擬定。
功能權值計算方法跟缺陷權值計算方法類似,項目經理根據各個功能模塊的複雜度擬出每一個模塊權值,爲了對不同項目缺陷密度的可比性,不同項目的功能權值要求要基本大致相同。
例如:
三、 具體實例
從度量庫《數據收集表》中提取數據分析。
說明:系統測試階段的缺陷嚴重等級分爲四級(提示、一般、嚴重、致命),按照嚴重等級爲一般做爲標準單位換算,4個輕微=1個一般,1個嚴重=2個一般,1個致命=3個一般;
缺陷嚴重性定義: 致命--系統崩潰,丟失數據或內存溢出等嚴重錯誤 ; 嚴重--主要功能或業務無效 ;一般--系統功能部分無效 ;提示--瑣碎-拼寫錯誤,文本未對齊,數據長度格式校驗等
系統測試發現缺陷密度:
序號 | 項目簡稱 | 項目有效代碼行數(KLOC) | 系統測試發現的缺陷數(個) | 缺陷密度 | 數據說明 | |||
輕微 | 一般 | 嚴重 | 致命 | |||||
1 | XXXXXXXX結算分析系統 | 139.06 | 8 | 44 | 91 | 39 | 2.481 | Dd(千行代碼測試缺陷密度)=[39*3+91*2+44*1+8*(1/4)]/139.06=2.481 |
2 | xxxx財務分析系統 | 139.06 | 94 | 118 | 55 | 12 | 2.067 | 同上 |
3 | ||||||||
4 |
計算出缺陷密度值,用該值與以前的項目的缺陷密度值進行比較,如果在此範圍,則可作爲一個測試充分的參考依據 ,上表計算出的的Dd=2.481,2.481都已經小於此表中對應值的下限5了,從一定角度上來說該項目測試還不充分!
質量目標 |
下限 |
中值 |
上限 |
優先級 |
備註 |
測試密度(測試用例/KL) |
25 |
35 |
60 |
高 |
若實際值與質量目標有偏差,請說明。 |
軟件測試計劃評審缺陷發現密度(個/頁) |
0.16 |
0.2 |
0.24 |
中 |
|
系統測試用例評審缺陷發現密度(個/KLOC) |
0 |
0 |
3 |
高 |
|
系統測試缺陷發現密度(個/KLOC) |
5 |
10 |
15 |
高 |
|
測試缺陷發現密度(個/KLOC) |
0 |
0 |
0 |
中 |
|
發佈後缺陷發現密度(個/KLOC) |
0 |
0 |
1.5 |
低 |
|