文章目錄
一:軟件缺陷
1.軟件缺陷的定義:
軟件缺陷(Defect),常常又被叫做Bug。所謂軟件缺陷,即爲計算機軟件或程序中存在的某種破壞正常運行能力的問題、錯誤,或者隱藏的功能缺陷。缺陷的存在會導致軟件產品在某種程度上不能滿足用戶的需要。
IEEE729-1983對缺陷有一個標準的定義:
從產品內部看: 缺陷是軟件產品開發或維護過程中存在的錯誤、毛病等各種問題;
從產品外部看: 缺陷是系統所需要實現的某種功能的失效或違背。在軟件開發生命週期的後期,修復檢測到的軟件錯誤的成本較高。
因此軟件缺陷就是指:軟件產品中所存在的問題,最終表現爲用戶所需要的功能沒有完全實現,沒有滿足用戶的需求。
2.哪些屬於軟件缺陷:
- 軟件未達到規格說明書表明的功能
- 軟件出現了規格說明說中指明不會出現的錯誤。
- 軟件功能超出了規格說明書指明的範圍
- 軟件未達到規格說明書雖未指明但應該達到的目標
- 軟件測試人員或用戶覺得不好
3.缺陷的表現形式
- 功能、特性沒有實現或者部分實現
- 設計不合理、功能不明確、邏輯不清楚或存在矛盾
- 實際結果和期望結果不同
- 沒有達到規格說明說要求的性能指標
- 運行出錯、崩潰、中斷、界面混亂
- 數據不正確、精度不夠、不完整或格式不統一
- 用戶不能接受的其它問題,如存取時間過長、界面不美觀
- 硬件或軟件存在其它問題
4.軟件缺陷的根源
- 交流不充分
客戶與開發人員、開發人員與測試人員等 - 軟件的複雜性
功能複雜、開發複雜、測試複雜 - 開發人員的錯誤
對需求的理解、開發壓力、能力與經驗 - 需求的變化
需求說明書、設計文檔、程序的變更 - 進度壓力
項目週期比較緊
二:軟件缺陷分類
1.缺陷狀態
2.缺陷的嚴重程度
3.缺陷的優先級
4.bug類型
三. 軟件缺陷的注意
1.缺陷報告的注意事項
- 儘量保證缺陷可以重現
- 簡潔、準確、完整
- 一個缺陷報告只寫一個缺陷
2.缺陷的書寫規範
- 標題簡潔、提供缺陷的本質信息即可
- 復現的步驟要詳細,用數字編號
- 實際結果要描述清楚復現後的結果
- 列出期望結果
- 提供附件
- 提供嚴重性屬性和其它公司需要填寫的屬性
注意: 要避免一些常見錯誤
(1) 避免使用情緒化語言和強調標點符號
(2) 避免使用模糊的詞語
(3) 避免使用自認爲幽默的語言,直接描述問題即可
(4) 避免提交不確定的缺陷
3.缺陷的處理流程
四:缺陷的其他
1.缺陷的跟蹤
新提交的缺陷爲“新建”狀態,在確認有效之後變爲“打開”狀態,開發人員修改後變爲“已修復”狀態,此時測試人員需要回歸測試,如果驗證問題已解決,狀態爲“已解決”,如果問題依然存在,狀態爲“打開”;
如果開發人員任務此缺陷可以延期修改,狀態爲“延期”;
注意此時必須由項目相關人員討論確定後,纔可以延期處理,否則狀態繼續爲“打開”
2.缺陷密度
每千行代碼的缺陷數;
缺陷密度=1000*缺陷個數/代碼行數
舉個栗子:
一個29.6萬行的源程序總共有145個缺陷,則缺陷密度爲:
缺陷密度=1000*145/296000=0.49 個/KLOC