常用軟件缺陷預防技術和缺陷分析技術

發表于:2008-09-24來源:作者:點擊數: 標簽:缺陷預防軟件技術
說到軟件缺陷預防技術吧,其實什么是缺陷預防,就是說能把缺陷消滅在萌芽狀態,就是能在缺陷還沒產生出來就已經被扼殺了,這也是 軟件測試 者所追求的最高境界。一般的軟件測試屬于后來彌補型,產生 bug 之后再來修改,但是bug發現越晚,修改掉花的代價就越


說到軟件缺陷預防技術吧,其實什么是缺陷預防,就是說能把缺陷消滅在萌芽狀態,就是能在缺陷還沒產生出來就已經被扼殺了,這也是軟件測試者所追求的最高境界。一般的軟件測試屬于后來彌補型,產生bug之后再來修改,但是bug發現越晚,修改掉花的代價就越大,所以軟件缺陷預防技術就是項目生命周期的早期消滅bug。

一般常用的缺陷預防有幾個階段,需求階段,設計階段,編碼階段。

第一,在需求階段,最重要的事情是需求驗證。一般驗證的幾個大項是,功能是否完整,是否考慮性能,有沒有模糊需求,有沒有考慮安全性,有沒有冗余和錯誤的需求,需求是不是過于苛刻,需求是不是矛盾等方面。一般常用的方法是列出需求檢查表,并進一步執行需求/測試 矩陣。

第二,設計階段,這個階段主要通過技術評審測試邏輯設計。常用比較規范的作法是建立過程/數據矩陣,也就是CRUD矩陣,把過程影射到實體,把整個程序的數據的生命周期(建立,更新,讀取,刪除)反映出來。

第三,編碼階段,這個階段預防措施主要有統一編碼規范,代碼評審,單元測試。統一代碼規范一般是開發經理統一要求,代碼評審則是互相評審或者開發leader進行評審,最后最重要的則是單元測試,就是一般說的白盒測試。

再來說缺陷分析吧,很多很高深的分析技術也不很實用,我只介紹一點常用的分析方法。

1.模塊的缺陷分布,一般用柱狀圖或餅狀圖,就是每一個功能模塊發現bug的比例,發現bug最多的模塊證明在發布以后需要更多的維護。

另外,歷史數據可以參照,譬如上一個版本在哪個模塊發現的bug比例對這個版本就是一個參考。如果,某個模塊發現bug的比例比上個版本大幅下降,則很可能說明該模塊還需要更多測試。

2.缺陷的起因分布,一般用柱狀圖或餅狀圖,一般可分為架構缺陷、功能缺陷、易用性缺陷、性能缺陷、安全性缺陷、界面文字缺陷。一般如果架構缺陷占的比例較大,則說明設計有很大問題。

3.按照不同發現人員的缺陷分布,一般用柱狀圖或餅狀圖,一般分為測試人員發現,開發人員發現,beta測試發現,外部客戶發現。如果測試人員發現的bug低于某個比例,證明質量保證測試不足。

4.按照不同方式的缺陷分布 ,一般有需求審查,設計測試,代碼走查,JAD,手工測試,自動化測試,白盒測試。一般來說,如果通過需求審查,設計測試,代碼走查,JAD發現的bug比重很低則說明測試前期重視不夠,另外,在手工測試和自動化測試之間的比例也能說明自動化測試的貢獻度。

5.缺陷差額分析,就是已經發現的和已經解決的曲線關系,以時間為橫軸,兩者越接近說明產品質量越高

6.按照時間段的缺陷分布,一般用時間為橫軸的曲線圖表示,主要說明在哪個階段發現的bug最多,對測試總結有指導意義

7.Rayleigh分析,就是俗稱的零缺陷追蹤法,一般截至某個時間點發現的缺陷總數和時間有一個函數關系(一個復雜的數學函數),一般用這個函數來推測經過多少天測試之后軟件中大概還有多少個bug,以及交付到用戶手中之后大概還能出現多少個bug。

 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97