深入BUG分析

2021-08-21 20:01:19 字數 3347 閱讀 6540

一、認識bug

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

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

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

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

二、獲取bug

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

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

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

三、管理bug

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

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

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

四、分析bug

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

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

1.bug分析的目的

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

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

2.bug分析的根本

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

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

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

3.bug分析的層次

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

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

bug分析基於不同分析指標的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分析

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

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

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

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

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

6.利用第三方資料分析工具,高效的對bug資料進行抽取、清洗、轉換,基於強大的分析功能實現bug分析的多維度、多層次動態分析展示,提公升bug的分析效果,實現bug視覺化、精細化管理,為軟體組織的精益化管理提供多方位的資料支援。

Bug產生原因的深入分析

一 前後端使用架構導致 前端使用es7 react node使用,在開發方面增大了工作量 後端屬於大資料基礎上做各種條件篩選,在具體實現上採用了 重記憶體 方案,即 1 將資料定時更新到記憶體中 2 在記憶體中做多條件的篩選 帶來的問題就是 1 fullgc問題 導致需要大記憶體伺服器 2 定時資料...

bug程度分析

此欄位描述 bug 的嚴重等級。blocker,critical,major,normal,minor,trivial,enhancement blocker 會擋掉所有開發中 測試中的工作 critical 系統發生 crash 資料遺失 嚴重的記憶體流失 major 功能出現較大型的問題 nor...

定位到bug之後,分析bug

1.抓包分析 web測試過程中,怎麼判斷前端bug還是後端bug?可以通過抓包工具來進行抓包分析。大多數的瀏覽器都有自帶的抓包外掛程式,如firefox的firebug外掛程式,chrome 360急速模式 搜狗高速模式自帶的developtools外掛程式,f12開啟抓包後,在network中可以...