【摘 要】缺陷管理貫穿軟件開(kāi)發(fā)的整個(gè)過(guò)程,本文分析了系統(tǒng)測(cè)試階段的缺陷管理過(guò)程,發(fā)現(xiàn)缺陷并跟蹤缺陷直到缺陷得于解決,對(duì)缺陷數(shù)據(jù)進(jìn)行收集并統(tǒng)計(jì)分析和評(píng)估及缺陷預(yù)防的實(shí)施,提高軟件質(zhì)量。
【關(guān)鍵詞】系統(tǒng)測(cè)試缺陷管理
一、系統(tǒng)測(cè)試概述
軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程,從測(cè)試范圍角度,軟件測(cè)試可分為單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試等。系統(tǒng)測(cè)試是把集成測(cè)試后的軟件和硬件、人員、資源等相關(guān)元素結(jié)合起來(lái),在真實(shí)的環(huán)境中對(duì)系統(tǒng)進(jìn)行測(cè)試,挖掘出軟件中隱藏的缺陷,從而保證軟件的質(zhì)量,系統(tǒng)測(cè)試的流程為:需求獲取與評(píng)審,測(cè)試策略制定,系統(tǒng)測(cè)試設(shè)計(jì),用例開(kāi)發(fā),測(cè)試準(zhǔn)備,測(cè)試執(zhí)行,發(fā)現(xiàn)剔除缺陷周期,測(cè)試周期結(jié)束,缺陷分析和結(jié)果報(bào)告
二、缺陷的發(fā)現(xiàn)和跟蹤
(一)缺陷發(fā)現(xiàn)的方法
缺陷發(fā)現(xiàn)方法一般包括:軟件測(cè)試,同行評(píng)審,客戶(hù)反饋,管理評(píng)審,項(xiàng)目?jī)?nèi)發(fā)現(xiàn)等。軟件測(cè)試的定義很多,如狹義論和廣義論。狹義定義是:指通過(guò)檢查代碼和開(kāi)發(fā)中有關(guān)文檔,找出軟件潛在的質(zhì)量問(wèn)題,從而保證軟件質(zhì)量;廣義論定義是:驗(yàn)證過(guò)程的正確性,確認(rèn)結(jié)果的正確性。同行評(píng)審是根據(jù)立項(xiàng)時(shí)定義的規(guī)程由軟件開(kāi)發(fā)者的同行對(duì)軟件產(chǎn)品進(jìn)行的技術(shù)評(píng)審。
(二)缺陷報(bào)告與跟蹤
測(cè)試組執(zhí)行測(cè)試用例后,發(fā)現(xiàn)實(shí)際輸出與期望不一致時(shí),需要報(bào)告缺陷。為了準(zhǔn)確、完整地記錄開(kāi)發(fā)過(guò)程中的缺陷,跟蹤修改過(guò)程,驗(yàn)證修正缺陷、統(tǒng)計(jì)缺陷數(shù)據(jù),需要借助缺陷跟蹤工具。跟蹤工具可以執(zhí)行新增、修改、查找、排序、保存等操作,從而有效的管理軟件缺陷,還可以規(guī)范軟件的缺陷管理過(guò)程,提高軟件測(cè)試效率。以我們常用的Bugfree為例,缺陷跟蹤系統(tǒng)的流程是:測(cè)試人員報(bào)告Bug,Bug處于激活狀態(tài),此時(shí)由項(xiàng)目經(jīng)理或項(xiàng)目組長(zhǎng)指派給問(wèn)題的責(zé)任人。Bug修改后,Bug狀態(tài)自動(dòng)轉(zhuǎn)為解決狀態(tài),并派給創(chuàng)建人員。然后由創(chuàng)建人員驗(yàn)證Bug。驗(yàn)證不通過(guò),Bug重新激活,狀態(tài)重新轉(zhuǎn)為激活;驗(yàn)證通過(guò)關(guān)閉此bug,狀態(tài)轉(zhuǎn)為關(guān)閉,此時(shí)Bug生命周期完成了?;貧w測(cè)試時(shí),發(fā)現(xiàn)已經(jīng)關(guān)閉的Bug如果重新復(fù)現(xiàn),需要重新激活。
三、缺陷分析
(一)缺陷分析作用
缺陷分析是對(duì)缺陷數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、計(jì)算、分析和編寫(xiě)分析報(bào)告的行為,是缺陷管理的核心,通過(guò)對(duì)缺陷數(shù)據(jù)分析,可以挖掘以下幾方面的信息如:不同類(lèi)型缺陷某一屬性產(chǎn)生的概率、集中分布的模塊、根據(jù)某個(gè)屬性形成的發(fā)展趨勢(shì)、缺陷產(chǎn)生原因,根據(jù)對(duì)缺陷數(shù)據(jù)的分析結(jié)果采取相應(yīng)的措施和方法,如發(fā)現(xiàn)測(cè)試用例的不足,需要及時(shí)完善測(cè)試用例,從而達(dá)到提高缺陷發(fā)現(xiàn)率的目的
(二)缺陷分析
執(zhí)行系統(tǒng)測(cè)試并產(chǎn)生缺陷數(shù)據(jù)后,測(cè)試人員就可以對(duì)系統(tǒng)測(cè)試結(jié)果。缺陷分析是指對(duì)缺陷的不同屬性、用例執(zhí)行情況等信息進(jìn)行統(tǒng)計(jì)分析;并把這些信息繪制成圖表。缺陷分析方法很多,本文從缺陷趨勢(shì)分析和缺陷分布來(lái)分析兩方面來(lái)分析。缺陷趨勢(shì)分析,關(guān)注的是軟件缺陷的嚴(yán)重性,缺陷對(duì)軟件的影響程度。缺陷趨勢(shì)分析是在軟件正式發(fā)布之前發(fā)現(xiàn)的缺陷數(shù)據(jù)基礎(chǔ)上,定期應(yīng)用統(tǒng)計(jì)方法/工具進(jìn)行分析計(jì)算系統(tǒng)測(cè)試過(guò)程中采集的缺陷數(shù)據(jù);缺陷趨勢(shì)分析的內(nèi)容,主要是缺陷密度、缺陷重現(xiàn)率和缺陷周期。
(三)實(shí)例分析
以下是通過(guò)Bugfree工具統(tǒng)計(jì)的手機(jī)系統(tǒng)測(cè)試缺陷數(shù)據(jù),統(tǒng)計(jì)時(shí),分別從,從嚴(yán)重性角度、從缺陷產(chǎn)生原因解度、缺陷所屬模塊角度,統(tǒng)計(jì)出了缺陷的嚴(yán)重度分布,來(lái)源分布和,在各模塊中的分布。缺陷嚴(yán)重度分布圖1、缺陷來(lái)源分布圖2,缺陷按模塊分布圖3。
從圖1,2,3中可以看出,嚴(yán)重級(jí)別的缺陷所占比例,各個(gè)模塊中存在的缺陷數(shù)量,也可以根據(jù)缺陷恢復(fù)狀態(tài)來(lái)分析每輪回歸測(cè)試中,已修改、新增、重新激活的缺陷數(shù)等信息。為了能充分挖掘測(cè)試過(guò)程中收集的基礎(chǔ)缺陷數(shù)據(jù),為后續(xù)的度量奠定基礎(chǔ),在缺陷的分析統(tǒng)計(jì)過(guò)程中,我可以根據(jù)實(shí)際,繪制各種類(lèi)型的圖表,如柱圖,餅圖等。
(四)度量分析
軟件度量是對(duì)軟件開(kāi)發(fā)項(xiàng)目、過(guò)程及其產(chǎn)品進(jìn)行數(shù)據(jù)定義,收集以及分析的持續(xù)量化過(guò)程。在缺陷數(shù)據(jù)統(tǒng)計(jì)的基礎(chǔ)上,結(jié)合缺陷的屬性從單屬性和多屬性方面進(jìn)行度量分析。圖1中可以看到,致命和嚴(yán)重故障占總?cè)毕莸?4%,說(shuō)明軟件處于不穩(wěn)定狀態(tài),開(kāi)發(fā)人員需要加緊缺陷的修復(fù)和分析缺陷產(chǎn)生的原因。圖2給出了缺陷主要分布編碼和測(cè)試階段,缺陷來(lái)源可能是開(kāi)發(fā)人員編碼不規(guī)范或測(cè)試方法等原因。圖3可以看出,該輪測(cè)試中系統(tǒng)的幾個(gè)機(jī)能模塊存在的缺陷數(shù)量和嚴(yán)重度。通話(huà)、電話(huà)本、短信、設(shè)置模塊存在著致命或嚴(yán)重的故障,說(shuō)明軟件還達(dá)到穩(wěn)定狀態(tài),后續(xù)測(cè)試中需要在這幾個(gè)模塊上加重人力和改進(jìn)測(cè)試方法,以保證軟件盡早達(dá)到穩(wěn)定狀態(tài)。
四、缺陷預(yù)防
缺陷預(yù)防是指通過(guò)缺陷分析找到造成缺陷的共性原因,把缺陷消滅在萌芽狀態(tài),防止類(lèi)似缺陷再次發(fā)生。執(zhí)行缺陷預(yù)防可以有效降低軟件開(kāi)發(fā)過(guò)程中發(fā)現(xiàn)和剩余的缺陷。開(kāi)發(fā)團(tuán)隊(duì)需要持續(xù)的改進(jìn)軟件開(kāi)發(fā)過(guò)程,引入新的技術(shù)和新的方法,以期實(shí)現(xiàn)缺陷預(yù)防。在條件允許的情況下應(yīng)盡早執(zhí)行測(cè)試活動(dòng),以便將開(kāi)發(fā)前期階段引入的缺陷消滅在萌芽階段,防止這部分缺陷遺留并放大到后續(xù)的測(cè)試階段,增加測(cè)試成本。