產品體驗中心 下載與支持 產品社區(qū) 澤眾云   合作代理 |  咨詢電話:400-035-7887/021-6072 5088
當前位置:澤眾軟件測試網- 技術文章 -正文

什么是軟件缺陷?缺陷分析的目的是什么?

發(fā)布時間:2020-06-17

如今,不少公司通過bug分析來改進產品質量、優(yōu)化研發(fā)流程和項目管理方式。很多時候項目開發(fā)周期難以控制,原因之一就是缺乏缺陷數(shù)據(jù)的統(tǒng)計與分析,及缺陷的預防機制。

什么是缺陷分析

什么是軟件缺陷?

通常意義上的缺陷:程序中存在的錯誤,俗稱bug。

廣義上的缺陷:項目計劃、需求規(guī)格說明書、設計文檔、測試用例、用戶手冊等存在的錯誤或問題??梢哉f在軟件工程整個生命周期中,任何導致無法滿足用戶所要求的的功能活導致系統(tǒng)失敗的問題都都屬于缺陷的范疇。

再說說什么是缺陷分析?

通常意義上的缺陷分析:包含兩個階段,一是發(fā)現(xiàn)bug后進行bug定位和排查原因的活動;二是系統(tǒng)測試結束前后對軟件開發(fā)各個階段產生的缺陷進行分類、分析和匯總統(tǒng)計,改進缺陷度量和分析的模型,編寫分析報告的活動。這個活動中可能會伴隨著其他活動,比如輸出缺陷預防的方案。畢竟我們做分析的最終目的是為了提高產品質量和優(yōu)化項目管理流程。

廣義上的缺陷分析:對應“廣義缺陷”的定義,對項目開發(fā)的整個生命周期中出現(xiàn)的各類問題(不局限于bug)進行分類和分析,進而改進項目管理過程的活動。

發(fā)現(xiàn)bug后進行缺陷分析可以幫助我們:

1、排查是否有遺漏的同類缺陷:

比如我們發(fā)現(xiàn)某個bug產生的根源是因為開發(fā)修改了某個接口,我們會推測其他調用該接口的模塊可能也存在風險。這種情況我們就可以更好的保障測試范圍沒有遺漏。

2、驗證代碼邏輯的合理性:

開發(fā)人員水平參差不齊,對于同一個功能可能有多種實現(xiàn)方式,年輕的程序員非??赡苓x擇較差的實現(xiàn)方式,他們的修復可能不但更復雜,也可能會引入新的bug。而有經驗的測試員可以指導程序員更簡單高效的方式。這個過程中的分析經歷,無論是對測試員還是程序員都是一種經驗的積累。

3、有助于確定開發(fā)人員是否真正修復了bug:

如果不了解bug產生的原因,很多時候測試人員無法確定bug是否被正確修復。筆者多次遇到這種情況,有N種情況都可能導致bug的出現(xiàn)但程序員只修復了其中一種情況;有時候對于一些偶發(fā)性的bug,如果不清楚原因,就很可能無法設計出正確的測試方式,進而導致不能保證bug被真正修復(這種情況中,程序員沒有提交本地的修復代碼到主干,測試人員可能都不清楚)。

4、改善缺陷分類。

通過缺陷分析結果的反饋,改進缺陷度量分類標準和分析目標,提高缺陷分析結果的準確性。

5、有助于項目結束后的分析。

出現(xiàn)時bug不做分析,項目結束后想做分析可能都做不到了。

對哪些bug進行分析?

軟件缺陷的范圍很廣,不僅僅指在測試過程中發(fā)現(xiàn)的缺陷,而是指在整個軟件生命周期中發(fā)現(xiàn)的所有缺陷。但是否所有的缺陷都需要分析呢?顯然不是。做分析之前首先要明確我們的目的,目的的不同也決定了分析內容的不同。比如有的團隊,可能只需要對上線后發(fā)現(xiàn)的漏測bug進行分析;有的團隊需要對上線后暴露的bug以及軟件測試階段發(fā)現(xiàn)的典型bug進行分析。需要根據(jù)團隊需要進行確定。

系統(tǒng)測試結束前后的缺陷分析可能幫助我們:

1、確定當前產品的質量狀況

指導后期工作重點,明確產品上線前回歸測試以及上線后重點關注的模塊:比如上線前一般需要再重點測試缺陷集中的區(qū)域。

2、明確缺陷發(fā)展趨勢,確定是否可以結束測試

我們都知道bug是找不完的,缺陷發(fā)展趨勢是作為判斷是否可以結束測試的重要標志。如果發(fā)現(xiàn)趨勢不正常,那缺陷分析可以幫助我們制定出遏制缺陷發(fā)生的措施、降低缺陷數(shù)量。

3、發(fā)現(xiàn)測試員工作技能上的不足,提升人員能力。筆者作為測試經理的那些年,經常需要通過測試員提交的bug,來分析每個測試員存在的弱項,從而判斷產品測試的質量,以及制定測試員的培訓方案。

4、提升開發(fā)和測試人員的素質以及責任心,改進測試流程,優(yōu)化測試方式。

有經驗的測試經理對于一個項目可能出現(xiàn)的bug總數(shù)量,對于每個模塊可能隱藏的bug數(shù)量,以及每天測試人員應該發(fā)現(xiàn)的bug數(shù)量會有一個估計。如果實際情況偏離了預估,測試經理需要做的其中一項工作就是考慮是否目前的測試流程和測試方式存在不足。

5、改善項目管理流程。

質量是生產出來的,不是檢驗出來的。軟件產品的生產過程決定了所開發(fā)出的軟件的質量,提高軟件質量是軟件生產過程中各項活動的共同目標??梢酝ㄟ^bug中反映出來的問題,優(yōu)化項目管理過程,促進對軟件生產過程的質量控制與管理。

6、預防缺陷發(fā)生。

目前多數(shù)測試人員都是在項目送測后進行檢測,這是一種“事后檢測”行為,我們希望找到一些方式來“事前控制”。

7、提高項目成功率。

時間成本是衡量項目成功的一個重要因素,而項目無法如期交付的原因之一就是花費過多的時間在修改bug上,如果上一條能推進,可以在很大程度上縮短項目周期。

8、提高軟件開發(fā)和測試效率。

CMMI4認證需要或改善組織的軟件能力成熟度。認證CMMI4要求在項目中定量管理,建立組織級過程性能,構成完整的量化管理,采用統(tǒng)計或其它定量方法管理軟件過程,并通過對過程中出現(xiàn)的方法,技術等問題進行因果分析和尋找解決方案。

相關閱讀:

如何選擇Bug管理工具?常用Bug管理工具的功能有哪些?

如何使用和管理測試用例?測試用例管理的主要功能有哪些?

【免費工具下載】Bug管理、用例管理、報表管理、團隊管理、文檔管理

本文內容不用于商業(yè)目的,如涉及知識產權問題,請權利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。
滬ICP備07036474號 2003-2024 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨詢

添加客服微信 歡迎咨詢測試工具和測試服務

微信客服
問題
反饋
產品
畫冊

掃描二維碼下載澤眾軟件企業(yè)宣傳冊

產品畫冊
返回
頂部

方案咨詢

×
提交信息

電話咨詢,400-035-7887,安排專業(yè)技術售前給您解答(產品試用、技術交流、服務咨詢和商務報價)。

您的信息已成功提交!

我們的客服人員稍后會與您聯(lián)系