軟件缺陷的優先級和嚴重性

軟件缺陷(Defect),常常又被叫做Bug。所謂軟件缺陷,即爲計算機軟件或程序中存在的某種破壞正常運行能力的問題、錯誤,或者隱藏的功能缺陷。缺陷的存在會導致軟件產品在某種程度上不能滿足用戶的需要。IEEE729-1983對缺陷有一個標準的定義:從產品內部看,缺陷是軟件產品開發或維護過程中存在的錯誤、毛病等各種問題;從產品外部看,缺陷是系統所需要實現的某種功能的失效或違背。在軟件開發生命週期的後期,修復檢測到的軟件錯誤的成本較高。

缺陷的優先級:

1.Resolve Immediately:缺陷必須被立即解決。
2.Normal Queue:缺陷需要正常排隊等待修復或列入軟件發佈清單。
3.Not Urgent:缺陷可以在方便時被糾正。
缺陷的嚴重性:

軟件測試錯誤嚴重程度
.Critical:不能執行正常工作功能或重要功能。或者危及人身安全。
2.Major:嚴重地影響系統要求或基本功能的實現,且沒有辦法更正。(重新安裝或重新啓動該軟件不屬於更正辦法)
3.Minor:嚴重地影響系統要求或基本功能的實現,但存在合理的更正辦法。(重新安裝或重新啓動該軟件不屬於更正辦法)
4.Cosmetic:使操作者不方便或遇到麻煩,但它不影響執行工作功能或重要功能。
5.Other:其它錯誤。
同行評審錯誤嚴重程度
1.Major:主要的,較大的缺陷
2.Minor:次要的,小的缺陷
級別:
嚴重性和優先級是表徵軟件測試缺陷的兩個重要因素,它影響軟件缺陷的統計結果和修正缺陷的優先順序,特別在軟件測試的後期,將影響軟件是否能夠按期發佈與否。
對於軟件測試初學者而言,或者沒有軟件開發經驗的測試工程師,對於這兩個概念的理解,對於它們的作用和處理方式往往理解的不徹底,實際測試工作中不能正確表示缺陷的嚴重性和優先級。這將影響軟件缺陷報告的質量,不利於儘早處理嚴重的軟件缺陷,可能影響軟件缺陷的處理時機。
什麼是缺陷的嚴重性和優先級
嚴重性(Severity)顧名思義就是軟件缺陷軟件質量的破壞程度,即此軟件缺陷的存在將對軟件的功能和性能產生怎樣的影響。
軟件測試中,軟件缺陷的嚴重性的判斷應該從軟件最終用戶的觀點做出判斷,即判斷缺陷的嚴重性要爲用戶考慮,考慮缺陷對用戶使用造成的惡劣後果的嚴重性。
優先級是表示處理和修正軟件缺陷的先後順序的指標,即哪些缺陷需要優先修正,哪些缺陷可以稍後修正。
確定軟件缺陷優先級,更多的是站在軟件開發工程師的角度考慮問題,因爲缺陷的修正順序是個複雜的過程,有些不是純粹技術問題,而且開發人員更熟悉軟件代碼,能夠比測試工程師更清楚修正缺陷的難度和風險。
缺陷的嚴重性和優先級的關係
缺陷的嚴重性和優先級是含義不同但相互聯繫密切的兩個概念。它們都從不同的側面描述了軟件缺陷軟件質量和最終用戶的影響程度和處理方式。
一般地,嚴重性程度高的軟件缺陷具有較高的優先級。嚴重性高說明缺陷軟件造成的質量危害性大,需要優先處理,而嚴重性低的缺陷可能只是軟件不太盡善盡美,可以稍後處理。
但是,嚴重性和優先級並不總是一一對應。有時候嚴重性高的軟件缺陷,優先級不一定高,甚至不需要處理,而一些嚴重性低的缺陷卻需要及時處理,具有較高的優先級。
修正軟件缺陷不是一件純技術問題,有時需要綜合考慮市場發佈和質量風險等問題。例如,如果某個嚴重的軟件缺陷只在非常極端的條件下產生,則沒有必要馬上解決。另外,如果修正一個軟件缺陷,需要重新修改軟件的整體架構,可能會產生更多潛在的缺陷,而且軟件由於市場的壓力必須儘快發佈,此時即使缺陷的嚴重性很高,是否需要修正,需要全盤考慮。
另一方面,如果軟件缺陷的嚴重性很低,例如,界面單詞拼寫錯誤,但是如果是軟件名稱或公司名稱的拼寫錯誤,則必須儘快修正,因爲這關係到軟件和公司的市場形象。
處理缺陷的嚴重性和優先級的常見錯誤
正確處理缺陷的嚴重性和優先級不是件非常容易的事情,對於經驗不是很豐富的測試和開發人員而言,經常犯的錯誤有以下幾種情形:
第一,將比較輕微的缺陷報告成較高級別的缺陷和高優先級,誇大缺陷的嚴重程度,經常給人“狼來了”的錯覺,將影響軟件質量的正確評估,也耗費開發人員辨別和處理缺陷的時間。
第二,將很嚴重的缺陷報告成輕微缺陷和低優先級,這樣可能掩蓋了很多嚴重的缺陷。如果在項目發佈前,發現還有很多由於不正確分配優先級造成的嚴重缺陷,將需要投入很多人力和時間進行修正,影響軟件的正常發佈。或者這些嚴重的缺陷成了“漏網之魚”,隨軟件一起發佈出去,影響軟件的質量和用戶的使用信心。
因此,正確處理和區分缺陷的嚴重性和優先級,是軟件測試人員和開發人員,以及全體項目組人員的一件大事。處理嚴重性和優先級,既是一種經驗技術,也是保證軟件質量的重要環節,應該引起足夠的重視。
如何表示缺陷的嚴重性和優先級
缺陷的嚴重性和優先級通常按照級別劃分,各個公司和不同項目的具體表示方式有所不同。
爲了儘量準確的表示缺陷信息,通常將缺陷的嚴重性和優先級分成4級。如果分級超過4級,則造成分類和判斷尺度的複雜程度,而少於4級,精確性有時不能保證。
具體的表示方法機可以使用數字表示,也可以使用文字表示,還可以數字和文字綜合表示。使用數字表示通常按照從高到底或從低到高的順序,需要軟件測試前達成一致。例如,使用數字1,2,3,4分別表示輕微、一般、較嚴重和非常嚴重的嚴重性。對於優先級而言,1,2,3,4可以分標表示低優先級、一般、較高優先級和最高優先級。
如何確定缺陷的嚴重性和優先級
通常由軟件測試人員確定缺陷的嚴重性,由軟件開發人員確定優先級較爲適當。但是,實際測試中,通常都是由軟件測試人員在缺陷報告中同時確定嚴重性和優先級。
確定缺陷的嚴重性和優先級要全面瞭解和深刻體會缺陷的特徵,從用戶和開發人員以及市場的因素綜合考慮。通常功能性的缺陷較爲嚴重,具有較高的優先級,而軟件界面類缺陷的嚴重性一般較低,優先級也較低。
對於缺陷的嚴重性,如果分爲4級,則可以參考下面的方法確定:
1 – 非常嚴重的缺陷,例如,軟件的意外退出甚至操作系統崩潰,造成數據丟失。  2 – 較嚴重的缺陷,例如,軟件的某個菜單不起作用或者產生錯誤的結果;  3 - 軟件一般缺陷,例如,本地化軟件的某些字符沒有翻譯或者翻譯不準確;  4 -軟件界面的細微缺陷,例如,某個控件沒有對齊,某個標點符號丟失等;
對於缺陷的優先性,如果分爲4級,則可以參考下面的方法確定:
1 –最高優先級,例如,軟件的主要功能錯誤或者造成軟件崩潰,數據丟失的缺陷。  2 – 較高優先級,例如,影響軟件功能和性能的一般缺陷;  3 -一般優先級,例如,本地化軟件的某些字符沒有翻譯或者翻譯不準確的缺陷;  4 – 低優先級,例如,對軟件的質量影響非常輕微或出現機率很低的缺陷;
其他注意事項
比較規範的軟件測試,使用軟件缺陷管理數據庫進行缺陷報告和處理,需要在測試項目開始前對全體測試人員和開發人員進行培訓,對缺陷嚴重性和優先級的表示和劃分方法統一規定和遵守。
在測試項目進行過程中和項目接收後,充分利用統計功能統計缺陷的嚴重性,確定軟件模塊的開發質量,評估軟件項目實施進度。統計優先級的分佈情況,控制開發進度,使開發按照項目儘快進行,有效處理缺陷,降低風險和成本。
爲了保證報告缺陷的嚴重性和優先級的一致性,質量保證人員需要經常檢查測試和開發人員對於這兩個指標的分配和處理情況,發現問題,及時反饋給項目負責人,及時解決。
對於測試人員而言,通常經驗豐富的人員可以正確的表示缺陷的嚴重性和優先級,爲缺陷的及時處理提供準確的信息。對於開發人員來說,開發經驗豐富的人員嚴重缺陷的錯誤較少,但是不要將缺陷的嚴重性作爲衡量其開發水平高低的主要判斷指標,因爲軟件的模塊的開發難度不同,各個模塊的質量要求也有所差異。

發佈了25 篇原創文章 · 獲贊 8 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章