當(dāng)前位置:澤眾軟件測試網(wǎng)- 技術(shù)文章 -正文

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

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

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

什么是缺陷分析

什么是軟件缺陷?

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

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

再說說什么是缺陷分析?

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

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

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

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

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

2、驗(yàn)證代碼邏輯的合理性:

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

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

如果不了解bug產(chǎn)生的原因,很多時(shí)候測試人員無法確定bug是否被正確修復(fù)。筆者多次遇到這種情況,有N種情況都可能導(dǎo)致bug的出現(xiàn)但程序員只修復(fù)了其中一種情況;有時(shí)候?qū)τ谝恍┡及l(fā)性的bug,如果不清楚原因,就很可能無法設(shè)計(jì)出正確的測試方式,進(jìn)而導(dǎo)致不能保證bug被真正修復(fù)(這種情況中,程序員沒有提交本地的修復(fù)代碼到主干,測試人員可能都不清楚)。

4、改善缺陷分類。

通過缺陷分析結(jié)果的反饋,改進(jìn)缺陷度量分類標(biāo)準(zhǔn)和分析目標(biāo),提高缺陷分析結(jié)果的準(zhǔn)確性。

5、有助于項(xiàng)目結(jié)束后的分析。

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

對哪些bug進(jìn)行分析?

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

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

1、確定當(dāng)前產(chǎn)品的質(zhì)量狀況

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

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

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

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

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

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

5、改善項(xiàng)目管理流程。

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

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

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

7、提高項(xiàng)目成功率。

時(shí)間成本是衡量項(xiàng)目成功的一個(gè)重要因素,而項(xiàng)目無法如期交付的原因之一就是花費(fèi)過多的時(shí)間在修改bug上,如果上一條能推進(jìn),可以在很大程度上縮短項(xiàng)目周期。

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

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

相關(guān)閱讀:

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

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

【免費(fèi)工具下載】Bug管理、用例管理、報(bào)表管理、團(tuán)隊(duì)管理、文檔管理

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

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

微信客服
問題
反饋
產(chǎn)品
畫冊

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

產(chǎn)品畫冊
返回
頂部

方案咨詢

×
提交信息

電話咨詢,400-035-7887,安排專業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報(bào)價(jià))。

您的信息已成功提交!

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