軟體缺陷的度量、分析和統計
一、缺陷度量
缺陷的度量方法比較多,其中常用的度量方法有:缺陷密度(軟體缺陷在規模上的分佈)、缺陷率(缺陷在時間上的分佈)、整體缺陷清除率、階段性缺陷清除率、缺陷趨勢、預期缺陷發現率等。
1.缺陷密度=已知缺陷的數量/產品規模。產品規模的度量單位可以是文件頁、程式碼行、功能點。
2.缺陷率的通用概念是一定時間範圍內的缺陷數與錯誤機率的比值。
3.整體缺陷清除率=已發現的缺陷/潛在的缺陷。由於潛在的缺陷不容易估算,所以將潛在的缺陷設定為已發現的缺陷+以後發現的缺陷。
先引入幾個變數。F為描述軟體規模用的功能點;D1為在軟體開發過程中發現的所有缺陷數;D2為軟體釋出後發現的缺陷數;D為總的缺陷數。因此D=D1+D2。
對於應用軟體專案,從不同的角度估算軟體質量:
質量=D2/F
缺陷注入率=D/F
整體缺陷清除率=D1/D
4.缺陷趨勢是在一定週期時間或一定階段內,產生/發現缺陷的動向或規律,是缺陷率按時間或按階段增長/下載的動態分佈。
5.缺陷發現率是描述特定時間段內發現缺陷數的一種度量指標。計算測試人員各自發現的缺陷數總和除以各自花費的測試時間總和。
缺陷發現率=∑提交缺陷個數/∑執行測試的有效時間(小時)
缺陷發現率可以當做幫助自己判斷測試是否可以結束、預測產品釋出日期的重要度量。如果缺陷發現率降到規定水平一下,通常都會做好產品釋出的準備。
二、缺陷分析
缺陷分析是將軟體開發各個階段產生的缺陷資訊進行分類和彙總統計,計算分析指標,編寫分析報告的活動。缺陷分析也可以用來評估當前軟體可靠性,並且預測軟體產品的可靠性變化。另外通過缺陷分析達到缺陷預防的目標,是缺陷管理的核心任務之一。
缺陷分析的步驟:
1.記錄缺陷。記錄缺陷不應僅滿足於記錄缺陷的表面症狀。而是要試圖發現缺陷的根本原因。在測試的時候不應將產品看作一個黑盒,而應向開發人員那樣瞭解產品的內在,包括深入原始碼,理解產品的設計和實現。
2.對缺陷進行分類,找出那些關鍵的缺陷型別,進一步分析缺陷產生的根源,針對性制定改進措施。缺陷分析非常關鍵的一步就是尋找一個預防類似缺陷再次發生的方法。
3.缺陷預防分析,它是整個缺陷分析過程的核心。缺陷分析提供了兩個非常重要的引數,一個是缺陷數量的趨勢,另一個是缺陷修復的趨勢。缺陷趨勢就是將每個月新生成的缺陷、每月被解決的缺陷數和每月遺留的缺陷繪製成缺陷趨勢圖。
4.最後一步就是編寫缺陷分析報告,繪製缺陷分析圖。
缺陷分鐘中,常用的主要缺陷引數有4個:1狀態——缺陷的當前狀態;2優先順序;3嚴重性;4起源——熬製缺陷的起源故障及其位置或排除該缺陷需要修復的構建。
三、缺件缺陷統計
1.軟體功能模組的缺陷統計
2.軟體嚴重程度統計
3.缺陷型別統計(例如:介面、功能、架構、邏輯/演算法、需求文件、其他)
4.缺陷趨勢圖