一、軟件缺陷的定義及主要類型
我們對軟件缺陷分析一下,所謂"軟件缺陷(bug)",即為計算機軟件或程序中存在的某種破壞正常運行能力的問題、錯誤,或者隱藏的功能缺陷。一般來說,軟件缺陷的屬性包括缺陷標識、缺陷類型、缺陷嚴重程度、缺陷優先級、缺陷來源、缺陷原因等。
進行軟件缺陷分析后,軟件缺陷的主要可以分為以下幾種類型:
(1)設計不合理;
2)功能、特性沒有實現或部分實現;
3)運行出錯,包括運行中斷、系統崩潰、界面混亂等;
4)與需求不一致,在執行TestCase時則為實際結果和預期結果不一致;
(5)用戶不能接受的其他問題,如存取時間過長、界面不美觀;
(6)軟件實現了需求未提到的功能。
二、軟件缺陷的級別、優先級及狀態
軟件缺陷有四種級別,分別為:致命的(Fatal),嚴重的(Critical),一般的(Major),微小的(Minor)。
A類—致命的軟件缺陷(Fatal): 造成系統或應用程序崩潰、死機、系統掛起,或造成數據丟失,主要功能完全喪失,導致本模塊以及相關模塊異常等問題。如代碼錯誤,死循環,數據庫發生死鎖、與數據庫連接錯誤或數據通訊錯誤,未考慮異常操作,功能錯誤等
B類—嚴重錯誤的軟件缺陷(critical):系統的主要功能部分喪失、數據不能保存,系統的次要功能完全喪失。問題局限在本模塊,導致模塊功能失效或異常退出。如致命的錯誤聲明,程序接口錯誤,數據庫的表、業務規則、缺省值未加完整性等約束條件
C類—一般錯誤的軟件缺陷(major):次要功能沒有完全實現但不影響使用。如提示信息不太準確,或用戶界面差,操作時間長,模塊功能部分失效等,打印內容、格式錯誤,刪除操作未給出提示,數據庫表中有過多的空字段等
D類—較小錯誤的軟件缺陷(Minor),使操作者不方便或遇到麻煩,但它不影響功能過的操作和執行,如錯別字、界面不規范(字體大小不統一,文字排列不整齊,可輸入區域和只讀區域沒有明顯的區分標志),輔助說明描述不清楚
E類- 建議問題的軟件缺陷(Enhancemental):由問題提出人對測試對象的改進意見或測試人員提出的建議、質疑。
常用的軟件缺陷的優先級表示方法可分為:立即解決P1、高優先級P2、正常排隊P3、低優先級P4。立即解決是指缺陷導致系統幾乎不能使用或者測試不能繼續,需立即修復;高優先級是指缺陷嚴重影響測試,需要優先考慮;正常排隊是指缺陷需要正常排隊等待修復;而低優先級是指缺陷可以在開發人員有時間的時候再被糾正。
正確評估和區分軟件缺陷的嚴重性和優先級,是測試人員和開發人員以及全體項目組人員的一件大事。這既是確保測試順利進行的要求,也是保證軟件質量的重要環節,應該要引起足夠的重視。這里介紹三種常用的技術工具供大家參考。
(1)20/80原則
管理學大師彼得杜拉克說過:做事情必須分清輕重緩急。最糟糕的是什么事都做,這必將一事無成。而意大利經濟學家柏拉圖則更明確提出:重要的少數與瑣碎的多數或稱20/80的定律。就是80%的有效工作往往是在20%的時間內完成的,而20%的工作是在80%的時間內完成的。因此,為了提高測試質量,必須清晰的認識到哪些軟件缺陷是最重要的,哪些軟件缺陷是最關鍵的。不要揀了芝麻,卻丟了西瓜。所以,只有抓住了重要的關鍵缺陷,測試效果才能產生最大的效益,這也是第一個原則---分清輕重緩急,把測試活動用在最有生產力的事情上。
(2)ABC法則
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/