軟件測試缺陷分析務實篇

發表于:2011-11-04來源:未知作者:領測軟件測試網采編點擊數: 標簽:軟件測試缺陷
摘要: 測試活動作為IT項目和產品開發一個重要的環節,通過發現產品或組件的缺陷,并反饋給開發組修復驗證這些缺陷,從而在一定程度上保證了外發產品的質量。對這些測試活動發現的缺陷進行深入的分析,可以有助于我們進行質量預測、進行過程改進、量化

  摘要:

  測試活動作為IT項目和產品開發一個重要的環節,通過發現產品或組件的缺陷,并反饋給開發組修復驗證這些缺陷,從而在一定程度上保證了外發產品的質量。對這些測試活動發現的缺陷進行深入的分析,可以有助于我們進行質量預測、進行過程改進、量化的衡量產品質量。

  關鍵詞:

  測試分析、過程改進、質量預測、過程能力、缺陷

  正文:

  項目研發過程中,我們通過單元測試、集成測試、系統測試發現了大量的缺陷。我們把這些Bug輸入到Excel或者其他測試管理系統中,跟蹤其解決。一旦Bug fix完成后,大多數情況下我們就把這份bug list束之高閣,偶爾能想到的用途就是拿出來衡量測試組的績效,或者用來評估開發組的質量表現。

  一般來說質量分析有以下幾中情況

  利用缺陷引入-發現矩陣分析

  缺陷有發現階段和引入階段兩個重要指標,發現階段和引入階段可以是軟件生命周期的各個階段,根據這兩個階段可以繪制出一個矩陣,從而分析出軟件開發各個環節的開展質量,找到最需要改進的環節。

  開始例子分析之前先解釋一下缺陷引入-發現矩陣的一些概念。

  矩陣的每行表示該階段或活動發現的各階段產生的缺陷數;矩陣的每列表示該階段或活動引入的缺陷泄露到后續各環節的缺陷數。

  缺陷移除率定義為:缺陷移除率=(本階段發現的缺陷數/本階段引入的缺陷數)*100%。如需求階段一共引入了15個缺陷,需求評審時候只發現了2個,設計過程中發現了10個,編碼和單元測試階段發現了兩個,還有一個直到系統測試階段才被發現。這樣,需求階段的缺陷移除率=2/15*100%=13%。它反映的是該活動階段的缺陷清除能力。

  反過來還有一個概念,缺陷泄露率,就是有多少本階段引入的缺陷沒有在本階段發現而是被泄露到后階段環節才被發現。其計算公式為:缺陷泄漏率=(下游發現的本階段的缺陷數/本階段注入的缺陷總數)*100%。顯然,它等于[1-缺陷移除率]。它反映的是本階段質量控制措施落實的成效。

  下面是一個分析例子:

  從上表可以看到,編碼過程的缺陷大部分依賴系統測試發現。單元測試和集成測試活動開展不夠深入。我們可以進一步分析這些系統測試出來的測試缺陷,是不是可以被更前端的評審/測試/設計討論活動所替代。詳細見“四、利用泄漏的下游缺陷回溯過程有效性”

  另外,我們看到,需求階段引入的缺陷絕大部分是在設計階段發現的。這可能是我們大部分項目的一個現實,需求不穩定、需求不明確,很多東西需要在設計過程中才能明確下來。也許從這個分析結果中給我們一個啟示,我們在設計評審時候,也需要重新審視我們的需求規格說明書,必要時候利用需求追蹤矩陣這樣的規矩方法來輔助我們發現上游需求的缺陷。把這樣的機制固化起來,作為我們標準研發過程的一個要素或者過程指導書。

  當然,實際規劃“缺陷引入-發現矩陣”時,可以依據自己的管理要求,對缺陷的發現活動和引入階段進行細分或初分,并且在Bug系統中提交時,需要準確的填寫這些屬性字段。

  利用缺陷的分布進行分析

  可以選某個階段的測試缺陷進行分析,按照這些缺陷對應的產品組成部分來匯總這些數據。利用這樣的分布,可以找出我們產品/項目的高危模塊來。這些模塊導致了我們產品的主要缺陷。主要用到的分析手段是數據透視表和柏拉圖。讓我們看看下面的例子:

  這是一個簡單的OA系統,它只有5個子系統。我們把這些子系統各有多少缺陷列出來,找到了改善質量的關鍵模塊是后臺交易模塊。

  像上圖,這是一個較為復雜的MIS系統,有近20個功能塊。這個時候,可以利用柏拉圖識別出占80%問題的那少數模塊,針對其采取強于其它產品組成部分的質量控制措施。

  需要指出的是:采用缺陷分布只是分析的第一步。它只不過提供了你分析影響產品質量的那些重點模塊,其信息不足以給出更深層次的原因。需要針對這些高危模塊進行進一步的分析,識別缺陷的產生根源。

  當然,也有人認為絕對數去衡量缺陷的分布并不合適,所以有些人也會把缺陷按照嚴重程度對應一定的權重系數折算成分析意義上的標準故障。如上表,折算系數為,嚴重*10,關鍵*5,一般*3,次要*1,優化*0。

  這種分析需要我們的bug系統建立產品組件的概念,使得缺陷填報人能夠正確的填報每個缺陷的產品組件位置。

  利用缺陷的階段分布模型進行質量預測

  假設我們為bug管理系統建立了“一、利用缺陷引入-發現矩陣分析”中描述的缺陷引入-缺陷發現階段信息,那么我們可以對相似的項目的缺陷階段分布進行度量,形成該類型項目的缺陷分布的過程模型。它給予我們的信息是:只要是這種類型的項目,按照相似的過程方法進行研發,那么其質量表現也是相似的。

  我們之所以作這樣的假設,是有一個前提,就是我們研發過程是高度一致的,并且過程的表現也是穩定的。這樣,我們得出的過程能力模型才具有可信度。

  下面是一個如何運用測試分布模型進行質量預測的例子:

  如果需求階段發現了10個缺陷,就可以預計到設計階段我大概要清除70個缺陷,依次可以估計到后階段各個環節的缺陷數,作為我們該階段工作的交付準則。并且,可以預測到產品發布后的使用表現會出現大約2個故障泄露到用戶手中。

  這種分析預測模型的建立,要求組織的測試/評審過程比較穩定。即組織整體達到CMMI三級成熟度,同時在VAL和VER(驗證和確認)過程域的達到CMMI四級的成熟度級別,即量化管理級別。

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

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