缺陷管理庫記錄了缺陷相關的資料,爲缺陷分析提供了詳細的信息,而只有正確的信息,才能保障正確的分析結果。html
軟件缺陷是指在產品說明、設計、編碼階段中的任何不足。通常要求將需求評審、設計評審、代碼檢查、測試、項目組內部發現、用戶反饋等幾種手段發現的缺陷都統一記錄在缺陷跟蹤系統中,進行統一管理、統計。而目前不少項目缺陷跟蹤系統中每每只包含了測試階段的缺陷統計,在此基礎上的缺陷分析勢必存在侷限性。前端
爲了便於缺陷定位、跟蹤和修改,須要收集儘可能多的有效信息,比較常見的缺陷信息以下:算法
在提交缺陷時,須要遵循如下5個原則:安全
這一步其實能夠理解成培養測試人員的觀察能力,信息收集能力。只有不斷觀察、收集正確信息,才能夠爲後續的偵查作好準備工做。網絡
缺陷分析是在造成缺陷管理庫的基礎上,對缺陷進行宏觀及微觀緯度的分析。經過缺陷分析,發現各類類型缺陷發生的機率,肯定缺陷集中的區域,明確缺陷的發展趨勢,追蹤和分析缺陷產生的緣由。在此分析基礎上,對軟件生命週期中各個角色、項目流程作改善和優化,提升軟件測試質量,提高測試效率。單元測試
缺陷分析僅僅是一種手段,而非最終目的。利用缺陷分析結論,反思和回溯缺陷產生的各個階段,思考如何避免相似問題,再也不踩坑,在下次測試中獲得提高,纔是咱們想要的結果。一樣的,缺陷分析的成果是一個持續改進優化閉環的過程,它是測試人員潛移默化中測試能力的提高,也是項目流程中各個角色共同保障產品質量意識的推進。例如缺陷分析發現不少需求缺陷是到測試階段才發現,那麼就有必要加大需求評審力度;缺陷分析發現開發修復缺陷引入新缺陷比例很高,那麼開發團隊在修復缺陷的時候要考慮到對周邊區域的影響,而且要通知相關區域的專家增強代碼審查。固然測試團隊也要儘量多的在相關區域作一些迴歸測試。你們能夠結合自身項目來利用缺陷分析優化項目實踐。測試
宏觀缺陷分析是指對缺陷信息進行分類和彙總,利用統計的方法計算分析相關指標,編寫缺陷分析報告的活動。宏觀缺陷分析的方法不少,這裏主要關注缺陷發展趨勢分析、缺陷分佈情況分析、缺陷注入-發現分析。優化
項目管理中一項很是重要但十分困難的工做就是平衡進度、質量和成本。測試人員能夠提供缺陷提交、缺陷修復的趨勢圖表,幫助管理者從中發現一些簡單的缺陷發展趨勢(這種缺陷能夠是本文論述的廣義缺陷發現手段肯定的,也能夠是單純的測試手段發現的),從而瞭解軟件質量趨勢。
這裏給出一個經常使用的分析圖,x軸表明時間,y軸表明如下四種類型缺陷的數量:ui
缺陷嚴重程度度量有助於識別不一樣嚴重程度缺陷在全部缺陷中的比重,有助於開發測試人員資源的計劃和分配。
這裏給出一個經常使用的缺陷嚴重程度分析圖,x軸表明時間,y軸表明各嚴重級別的缺陷數量。編碼
經過缺陷嚴重程度圖表,分析各嚴重程度缺陷發現趨勢,判斷產品質量是否趨於穩定。若是高嚴重程度的缺陷大量增長一般意味着產品質量出現問題。
按照缺陷對應的產品組成部分來彙總缺陷數據,利用這樣的分佈,能夠找出咱們產品高危模塊,針對高危模塊,調整測試策略。
正交缺陷分類法(Orthogonal Defect Classification,ODC)介紹了一種不一樣於你們經常使用的很是有效的軟件缺陷分類及分析方法,它定義了八個正交的缺陷屬性用於對缺陷的分類。所謂正交性是指缺陷屬性之間不存在關聯性,各自獨立,沒有重疊的冗餘信息。
關於ODC分析方法,須要結合實際項目,對不一樣屬性進行篩選,優化不一樣屬性對應的值。
軟件缺陷分析方法:ODC 這篇文章中詳細解釋了ODC各屬性及對應的值。
利用缺陷的兩個重要屬性:缺陷發現階段、缺陷注入階段,分析缺陷數據,繪製出"缺陷注入-發現矩陣",從中分析項目生命週期各個環節的質量,優化相關流程。
如上圖例子,需求階段一共注入了34個缺陷,需求評審時只發現了4個,設計過程當中發現了15個,編碼和單元測試階段發現了12個,系統測試階段發現3個。這樣,需求階段的缺陷移除率 4/34*100%=11.76%。這個結果說明,咱們須要從新審視需求評審,加大需求評審力度。另外,編碼階段的缺陷大部分依賴於系統測試發現,很顯然,項目開發過程當中的單元測試和集成測試活動開展不夠深刻。咱們能夠進一步分析這些系統測試出來的測試缺陷,是否是能夠被更前端的評審/測試/設計討論活動所替代。
微觀缺陷分析是指從單個有價值的缺陷入手,追蹤和分析缺陷產生的本質緣由。
並非全部的缺陷都有必要去作微觀缺陷分析,所以首先須要挑選"合適的缺陷"。這裏給出幾點建議
接着就是追蹤缺陷產生的真正緣由。網絡上有不少總結的分析方法,有"望、聞、問、切"診斷法,有"5W"法,還有"探案分析法"。其實我的以爲在這一步驟中,更多須要積累經驗,善於追根究底,多問爲何,多理解產品實現邏輯,產品設計思路,有了這些基礎以後,合理的推理分析便可。
下面這兩篇文章是很是好的結合實踐總結的微觀缺陷分析,你們能夠經過他們的分析積累經驗。