天天看點

深入BUG分析

一、認識BUG

軟體BUG是由于軟體開發者的疏忽和失誤造成的。

軟體BUG是軟體生命周期内發現和未被發現的所有問題總和。

全面品質管理和全程軟體測試:軟體BUG不單指軟體測試階段發現的軟體系統的功能性錯誤,還應包括軟體開發過程中需求、設計、開發等階段評審過程發現的問題,以及軟體釋出後客戶發現并回報的問題,同時還包括那些隐藏在軟體内部未被發現的問題。

所有軟體BUG都應被有效管理。

二、擷取BUG

擷取BUG資料是進行BUG分析的第一步,完整、清晰的BUG資料記錄是進行BUG管理和分析的關鍵。

将BUG按屬性進行記錄,以适應不同次元、不同名額的分析需要。

深入BUG分析

圖1 BUG屬性

軟體BUG的生存環境和生命周期決定了軟體開發過程中的人、過程、組織等各個環節、各種方法和措施都會造成BUG的産生,通過BUG分析可以發現軟體開發環節、方法和措施的不足,通過多元度、多層次的分析發現BUG的産生根源和改進方法,通過改進提高軟體産品品質,提升人、過程、組織的能力和适應性。

三、管理BUG

管理的目的在于使管理對象能夠規範、高效工作,從管理中擷取更高收益。

軟體BUG管理的目的在于實作BUG管理的标準化、流程化、規範化,使軟體開發過程中發現的BUG都能夠被完整記錄、有效跟蹤。同時使用統計分析方法,發現BUG産生的原因、研究預防和解決方法、有效實施,實作軟體、過程、人群組織的持續改進。

軟體BUG管理過程和工具應滿足資訊錄入、跟蹤查詢和統計分析三類主要功能。

深入BUG分析

圖2 BUG管理

四、分析BUG

分析就是将研究對象的整體分為各個部分、方面、因素和層次,分别加以考察、認識。

軟體BUG分析是将軟體生命周期中所有BUG作為研究對像,分析BUG産生的階段、産生的子產品、産生的原因,發現軟體生命周期中過程、階段、技術、人群組織存在的問題,以及軟體開發過程中各關鍵環節和要素之間的協作問題,通過調整、改進和控制,提高軟體品質、節省軟體成本,提升組織生産力,傳遞優質軟體成果。

1.BUG分析的目的

基本BUG分析是基于測試階段發現的BUG,通過BUG的分布和趨勢研究,發現BUG産生的根源,及早采取調整和控制措施,預防和控制問題的蔓延和新問題的産生,提升軟體品質。

深入BUG分析是基于軟體生命周期中的所有BUG,使用統計分析方法,通過BUG的共性發現軟體生命周期中技術、人、過程、項目群組織存在的問題,揭示軟體品質、過程品質、人員能力、組織能力之間的關系,加強軟體精細化管理,促進人、過程、組織持續性改進。

2.BUG分析的根本

品質不是檢查出來的,而是生産出來的。

人創造了軟體,建構了軟體品質,同時也産生了大量BUG。人是軟體生産的主體,衆多不同個性和技術能力的人組成了軟體組織,人的軟體活動構成了軟體的生産過程。

人決定了軟體的品質,軟體BUG分析的根本最終落腳于對人的分析。通過BUG分析發現軟體生命周期中人的缺陷和不足(技術、溝通、規範性等),制定有針對性的方法和訓練提高人員技術能力、溝通能力,增強軟體過程人為活動的規範性,減少人為的疏忽和失誤,最終建構有效的軟體過程,提升組織的綜合生産力,提高軟體成果傳遞品質。

深入BUG分析

圖3 BUG分析根本

3.BUG分析的層次

軟體BUG分析分為四個層次:基本分析、過程分析、人員分析、組織分析。

通過BUG的層次分析,提升BUG的使用品質,發現軟體生命周期中存在的問題,推動人、過程、組織的持續改進,展現BUG的價值。

BUG分析基于不同分析名額的BUG數量統計展開分析,常見方式有占比、趨勢、分布、對比等方法,使用餅圖、折線圖、柱狀圖、散點圖等進行圖形化展示。

深入BUG分析

圖4 BUG分析層次

1)BUG的基本分析

BUG的基本分析是BUG其它層次分析的基礎。

BUG的基本分析基于軟體項目的目前的BUG資料資訊,通過聚類分析方法展示BUG在目前軟體項目中的分布情況、發展趨勢,評價目前軟體及項目品質。常見分析名額包括BUG狀态、解決狀态、嚴重程度、軟體子產品、軟體版本等。

BUG的基本分析的不足在于隻局限于BUG産生的階段(多集中于測試階段)和軟體本身,針對項目目前某個子產品或是功能的品質進行評價,缺少對項目整體和軟體開發全局的認識。

2)BUG的過程分析

BUG的過程分析基于組織的度量目标和标準化過程定義,對比BUG的統計資料,對軟體過程進行了有效控制,對軟體過程和軟體開發品質進行評價,并及時進行糾偏和整改。

BUG的過程分析的不足在于仍然隻關注軟體本身,隻關注過程而忽視了細節,重視對比标準的偏差而不能發現産生偏差的原因并制定有效的糾偏方案。

3)BUG的人員分析

BUG的人員分析關注BUG産生的最根本的因素“人”,基于BUG的基本分析和過程分析,發現人在軟體生命周期中存在的缺陷和不足,通過合理調配人員、增加教育訓練、加強管控等方式,減少軟體過程中人的疏忽和失誤,從根本上促進軟體過程改進,提升軟體品質,降低軟體成本,為項目的精細化管理提供資料支撐。

BUG的人員分析的不足在于獲得的分析結果隻能反映到某個項目或某個團隊的生産能力現狀和改進結果,不能提供給組織進行參考,無法提升BUG的分析價值和作用。

4)BUG的組織分析

BUG的組織分析關注組織的良性生存與發展,組織的強大在于儲存現有核心競争力的同時,發現和彌補不足、擴大競争優勢。BUG的組織分析基于BUG的人員、過程和基本分析,為組織内其它項目的評估、管理提供有價值的參考資訊;為組織内相關職能部門的工作改進方案提供資料支撐,實作組織資源的合理配置;關能及時發現組織中存在的漏洞,及時改正、持續改進,保證組織的營運的高效、可持續、健康發展。

BUG的組織分析将BUG分析的視角從細節擴充到過程、從個人發展到組織,自下而上形成支撐,自上而下産生影響,極大提高了BUG的使用品質和使用效率,将BUG價值極大化。

五、深入BUG分析

深入BUG分析

圖5深入BUG分析

1.BUG是軟體生命周期中的重要的資料,應當被足夠的重視和利用。

2.注意組織内BUG資料積累,使用标準流程和成熟的缺陷管理工具對BUG進行管理,并通過缺陷工具提供的分析方法對BUG進行基本分析。

3.深入BUG分析,提高BUG使用品質,挖掘BUG使用價值。

4.基于BUG資料統計,加強階層化分析。按項目、過程、階段、子產品、技術、人等不同次元和層次,在同一軟體的生命周期内進行縱向關聯分析,不同軟體之間進行橫向對比分析,擷取多元度、多層次分析資料,實作精益化軟體開發、度量和管理。

繼續閱讀