深入BUG分析

一、認識BUG

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

軟件BUG是軟件生命週期內發現和未被發現的所有問題總和。

全面質量管理和全程軟件測試:軟件BUG不單指軟件測試階段發現的軟件系統的功能性錯誤,還應包括軟件開發過程中需求、設計、開發等階段評審過程發現的問題,以及軟件發佈後客戶發現並反饋的問題,同時還包括那些隱藏在軟件內部未被發現的問題。

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

二、獲取BUG

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

將BUG按屬性進行記錄,以適應不同維度、不同指標的分析需要。

155704454.png

1 BUG屬性

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

三、管理BUG

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

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

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

155707676.png

2 BUG管理

四、分析BUG

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

軟件BUG分析是將軟件生命週期中所有BUG作爲研究對像,分析BUG產生的階段、產生的模塊、產生的原因,發現軟件生命週期中過程、階段、技術、人和組織存在的問題,以及軟件開發過程中各關鍵環節和要素之間的協作問題,通過調整、改進和控制,提高軟件質量、節省軟件成本,提升組織生產力,交付優質軟件成果。

1.BUG分析的目的

基本BUG分析是基於測試階段發現的BUG,通過BUG的分佈和趨勢研究,發現BUG產生的根源,及早採取調整和控制措施,預防和控制問題的蔓延和新問題的產生,提升軟件質量。

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

2.BUG分析的根本

質量不是檢查出來的,而是生產出來的。

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

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

155709825.png

3 BUG分析根本

3.BUG分析的層次

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

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

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

155711183.png

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分析

155713547.png

5深入BUG分析

1.BUG是軟件生命週期中的重要的數據,應當被足夠的重視和利用。

2.注意組織內BUG數據積累,使用標準流程和成熟的缺陷管理工具對BUG進行管理,並通過缺陷工具提供的分析方法對BUG進行基本分析。

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

4.基於BUG數據統計,加強層次化分析。按項目、過程、階段、模塊、技術、人等不同維度和層次,在同一軟件的生命週期內進行縱向關聯分析,不同軟件之間進行橫向對比分析,獲取多維度、多層次分析數據,實現精益化軟件開發、度量和管理。

5.使用數據挖掘方法,分析BUG的產生與軟件開發過程中的人、過程、組織間的關聯關係,發現BUG產生的深層次原因,研究解決方案,預防和降低BUG的產生,形成從BUG分析到組織生產能力提升的數據支撐,完成組織生產能力提升到個人素質增長的正向驅動。

6.利用第三方數據分析工具,高效的對BUG數據進行抽取、清洗、轉換,基於強大的分析功能實現BUG分析的多維度、多層次動態分析展示,提升BUG的分析效果,實現BUG可視化、精細化管理,爲軟件組織的精益化管理提供多方位的數據支持。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章