• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 軟件缺陷預防技術和主要缺陷預防手段

    發表于:2010-01-18來源:作者:點擊數: 標簽:缺陷預防軟件技術
    說到 軟件缺陷 預防技術吧,其實什么是缺陷預防,就是說能把缺陷消滅在萌芽狀態,就是能在缺陷還沒產生出來就已經被扼殺了,這也是 軟件測試 者所追求的最高境界。一般的軟件測試屬于后來彌補型,產生 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.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>