一、Bug的屬性
1、Bug重現(xiàn)環(huán)境
操作系統(tǒng)
這個(gè)是一般軟件運(yùn)行的一大前提,基本上所有的軟件都依賴于操作系統(tǒng)之上的,對(duì)于一個(gè)軟件來(lái)說(shuō),要想在某個(gè)操作系統(tǒng)上運(yùn)行,必須要對(duì)這個(gè)操作系統(tǒng)支持,這就需要有真對(duì)性的設(shè)計(jì)與開(kāi)發(fā)。對(duì)于不同的操作系統(tǒng),其可能存在差異(如:win xp 與 win 7)或本質(zhì)的區(qū)別(如 win 7 與 CentOS linux ),所以,操作系統(tǒng)環(huán)境是重現(xiàn)問(wèn)題的一個(gè)重要前提。
瀏覽器
對(duì)于B/S系統(tǒng),或面向大眾的互聯(lián)網(wǎng)產(chǎn)品(網(wǎng)站,郵箱
等),瀏覽器的兼容性也是必須測(cè)試的一個(gè)重點(diǎn),對(duì)于現(xiàn)
在的瀏覽器市場(chǎng),各式的瀏覽器都有其用戶群,要想使產(chǎn)
品大眾化,必須考慮這些產(chǎn)品的兼容性問(wèn)題。
不同的瀏覽器之間(IE、 firefox、chrome、opera
等),甚至同一系列不同版本(ie6/ie7/ie8/ie9等)都
可能存在兼容性問(wèn)題,所以,對(duì)于這類應(yīng)用,瀏覽器環(huán)境
重現(xiàn)bug前提條件之一。
其它(這個(gè)“其它”非常重要)
對(duì)于不同的系統(tǒng)發(fā)現(xiàn)重現(xiàn)問(wèn)題,都會(huì)有其特定的前
提,拿我測(cè)試的郵箱來(lái)說(shuō),必須要描述其是在測(cè)試線還是
現(xiàn)網(wǎng)環(huán)境,而且還要附帶一重現(xiàn)問(wèn)題的帳號(hào)等。
2、Bug 類型
這里縮小范圍,單指我們測(cè)試人員在測(cè)試過(guò)程中發(fā)現(xiàn)的缺
陷,發(fā)現(xiàn)產(chǎn)品缺陷其實(shí)就是測(cè)試人員工作的主要目的。當(dāng)
然,你要確定一個(gè)問(wèn)題的類型,也需要對(duì)項(xiàng)目(或產(chǎn)品)
有比較深的理解。是代碼缺陷還是設(shè)計(jì)缺陷有時(shí)候就不太
容易區(qū)分,當(dāng)然,這個(gè)劃分,對(duì)于開(kāi)發(fā)定位問(wèn)題影響很
小,但對(duì)于問(wèn)題類型的統(tǒng)計(jì)就比較重要了。
下面看一些常見(jiàn)的分類:
劃分方式一:
代碼錯(cuò)誤
設(shè)計(jì)缺陷
界面優(yōu)化
配置相關(guān)
安裝部署
性能問(wèn)題
標(biāo)準(zhǔn)規(guī)范
測(cè)試代碼
其它
劃分方式二:
功能類(function)
性能類(performance)
界面類(UI)
易用性類(usability)
兼容性類(compatibility)
其它(else)
這個(gè)分類當(dāng)然是可以自定義的,具我接觸的缺陷管理
都是可以自定義的,既然是對(duì)問(wèn)題的管理,那么你當(dāng)然可
以拿來(lái)做特定環(huán)境下的系統(tǒng)來(lái)使用,或我就想用這個(gè)系統(tǒng)
來(lái)指派任務(wù),那么我的自定義類型為前端任務(wù)、后端任
務(wù)、測(cè)試任務(wù)、配置部署...
3、缺陷等級(jí)
缺陷等級(jí),這個(gè)劃分也比較靈活,有分三級(jí)或四級(jí),
也有分五級(jí)的。
致命
一招斃命的缺陷,使你的系統(tǒng)無(wú)法運(yùn)行,有造成數(shù)據(jù)
泄漏的安全性問(wèn)題。
嚴(yán)重
可以引起易于糾正的異常情況、可能引起易于修復(fù)的
故障或?qū)Ξa(chǎn)品外觀難以接受的缺陷。
一般
指不影響產(chǎn)品的運(yùn)轉(zhuǎn)和運(yùn)行、不會(huì)成為故障起因,但
對(duì)產(chǎn)品外觀和下道工序影響較大的缺陷
輕微
輕微缺陷是指對(duì)產(chǎn)品外觀和下道工序可能會(huì)有輕微影
響的缺陷
建議
增加用戶使用體驗(yàn)的建議性問(wèn)題。(一般情況下,建
議也為做為缺陷的一種。這個(gè)跟系統(tǒng)的類型與需求有關(guān))
4、缺陷優(yōu)先級(jí)(priority)
當(dāng)問(wèn)題處理人員在面對(duì)許多問(wèn)題需要處理進(jìn),就需要
問(wèn)題進(jìn)行優(yōu)先級(jí)排序。我們做事情的安排,操作系統(tǒng)有處
理進(jìn)程等都在使用著優(yōu)先級(jí)。
優(yōu)先級(jí)的劃分:
低——>中——>高——>緊急
延遲處理——>正常排隊(duì)——>優(yōu)先處理——>緊急處理
Bug 的嚴(yán)重程度和優(yōu)先級(jí)是含義不同但相互聯(lián)系密切
的兩個(gè)概念,它們從不同的側(cè)面描述了軟件缺陷對(duì)軟件質(zhì)
量和最終用戶的影響程序和處理方式。
一般地,嚴(yán)重程序高的軟件缺陷具有較高的優(yōu)先級(jí)。
嚴(yán)重程度高說(shuō)明缺陷對(duì)軟件造成的危害性大,需要優(yōu)先處
理,而來(lái)嚴(yán)重程序低的缺陷可能只是軟件不太盡善盡美,
可以稍后處理。
嚴(yán)重程度高優(yōu)先級(jí)不一定高:
如果某個(gè)嚴(yán)重的軟件缺陷只在非常極端的條件下產(chǎn)
生,則沒(méi)有必要馬上處理。
如果某一個(gè)軟件缺陷,需要重新修改軟件的整體架
構(gòu),可能會(huì)產(chǎn)生更多的潛在缺陷,而且軟件由于市場(chǎng)的壓
力必須盡快發(fā)布,此時(shí)即使缺陷的嚴(yán)重性很高,是否需要
修正,需要全盤考慮。
嚴(yán)重程度優(yōu)先級(jí)不一定低:
如果是軟件名稱或公司名稱的拼寫錯(cuò)誤,雖然說(shuō)其屬
于界面錯(cuò)誤,嚴(yán)重程度不高,但其關(guān)系到軟件和公司的市
場(chǎng)開(kāi)解,必須盡快修正。
5、缺陷狀態(tài)
對(duì)于一個(gè)問(wèn)題,其處理過(guò)程是一個(gè)周期,周期的不同
階段,其所處的狀態(tài)也是不一樣的。不同狀態(tài)所對(duì)應(yīng)的處
理人也是不一樣的。
**打開(kāi) : **表示問(wèn)題被提交等待有人處理。
重新指派 : 問(wèn)題被重新指派給某人處理。
處理 : 問(wèn)題在處理中,尚未完成。
固定 : 確認(rèn)此問(wèn)題存在,但暫時(shí)不進(jìn)行處理。
回歸 : 對(duì)已經(jīng)修復(fù)的問(wèn)題進(jìn)行回歸確認(rèn)。Reopened :
關(guān)閉 : 問(wèn)題的最后一個(gè)狀態(tài)。
二、Bug處理流程
下面通過(guò)一個(gè)比較完整的bug的處理流程圖,更深刻的
理解bug的狀態(tài)以一個(gè)bug的生命周期。
Bug處理流程圖
提交(打開(kāi))缺陷
在提交一個(gè)缺陷的缺陷,首先盡量描述這個(gè)缺陷的屬
性。Bug重現(xiàn)環(huán)境,bug類型,bug等級(jí),bug的優(yōu)先級(jí)以及
詳細(xì)的重現(xiàn)步驟,結(jié)果與期望等。
當(dāng)然,我們?cè)谔峤灰粋€(gè)問(wèn)題之前首先應(yīng)該保證,這個(gè)
缺陷是沒(méi)有被提過(guò)的,以免造成重復(fù)缺陷單。
如果是回歸不通過(guò)的缺陷,其狀態(tài)又會(huì)變?yōu)榇蜷_(kāi)狀
態(tài)。
分配(轉(zhuǎn)交)缺陷
這一步不是必須的,跟項(xiàng)目模式有關(guān),有些公司測(cè)試
部門與開(kāi)發(fā)部門獨(dú)立,那么測(cè)試人員就不確定自己測(cè)試的
模塊是由哪位開(kāi)發(fā)人員負(fù)責(zé)的,在這種情況下,測(cè)試人員
統(tǒng)一把問(wèn)題指派給項(xiàng)目組長(zhǎng)或經(jīng)理,由項(xiàng)目組長(zhǎng)(或經(jīng)
理)對(duì)問(wèn)題進(jìn)行確認(rèn)后再次分配給相應(yīng)的開(kāi)發(fā)人員。
有些測(cè)試人員是穿插到不同研發(fā)團(tuán)隊(duì)中的,所以對(duì)不
同的開(kāi)人發(fā)員負(fù)責(zé)的開(kāi)發(fā)模塊非常清楚,這個(gè)時(shí)候就可以
將問(wèn)題直接指派給相應(yīng)的開(kāi)發(fā)人員。
也有一種情況,本來(lái)此問(wèn)題應(yīng)該由A開(kāi)發(fā)人員負(fù)責(zé),但
由于A開(kāi)發(fā)人員的調(diào)離或辭職,些問(wèn)題為轉(zhuǎn)交給其它人員處
理。“分配”強(qiáng)調(diào)是上級(jí)對(duì)下級(jí);“轉(zhuǎn)交”強(qiáng)調(diào)的是平級(jí)之
間。
確認(rèn)缺陷
當(dāng)開(kāi)發(fā)人員接到一個(gè)缺陷時(shí),首先是對(duì)其進(jìn)行分析與
重現(xiàn),如果對(duì)其進(jìn)行分析發(fā)現(xiàn)不是缺陷(可能由于測(cè)試人
員不了解需求)或無(wú)法對(duì)此問(wèn)題進(jìn)行重現(xiàn),那么就需要將
此問(wèn)題反回給測(cè)試人員,并注明原因。如果確認(rèn)為缺陷則
需要對(duì)其進(jìn)行處理。
推遲處理
在處理問(wèn)題之后,還需要進(jìn)行一次判斷,是否需要推
遲處理,有些需求已經(jīng)確認(rèn)了是問(wèn)題,由于其可能在極端
情況下才會(huì)出現(xiàn),或需要對(duì)系統(tǒng)架構(gòu)進(jìn)行改動(dòng),或其優(yōu)先
級(jí)非常低,所以暫時(shí)不需要對(duì)此問(wèn)題進(jìn)行處理(或到下個(gè)
版本進(jìn)再進(jìn)行修復(fù))。
固定
對(duì)于推遲處理的問(wèn)題可以暫時(shí)進(jìn)行固定(“固定”為QC
中的叫法。)一般固定的問(wèn)題需要經(jīng)過(guò)項(xiàng)目經(jīng)理與測(cè)試經(jīng)
理協(xié)商后才能固定。
處理缺陷
開(kāi)發(fā)人員在確認(rèn)完一個(gè)問(wèn)題需要處理時(shí),那么就對(duì)其
進(jìn)行處理工作。(例如,redmine 是支持處理人時(shí)時(shí)更新
問(wèn)題處理進(jìn)度的,如 已處理30% ,已處理80% 等,當(dāng)
然,對(duì)于短時(shí)間內(nèi)可以修復(fù)的問(wèn)題就沒(méi)必要時(shí)時(shí)的去更新
處理進(jìn)度。)
回歸缺陷
回歸缺陷對(duì)于測(cè)試人員來(lái)說(shuō)是非常重要的工作,其有
三個(gè)入口兩個(gè)出口。
確認(rèn)非缺陷問(wèn)題:對(duì)于提交的一個(gè)缺陷,開(kāi)人員處理
為非問(wèn)題或無(wú)法重現(xiàn),然后直接轉(zhuǎn)交給測(cè)試人員回歸。測(cè)
試人員再次確認(rèn),如果真如開(kāi)發(fā)人員所說(shuō),則將問(wèn)題關(guān)
閉。如果非開(kāi)發(fā)人員所說(shuō),是由于問(wèn)題描述模糊或其它原
因喂重現(xiàn)問(wèn)題,則再次注明原因轉(zhuǎn)給開(kāi)發(fā)人員。
確認(rèn)修復(fù)問(wèn)題:對(duì)開(kāi)發(fā)人員修復(fù)的問(wèn)題再次進(jìn)行確
認(rèn),確認(rèn)能過(guò),則關(guān)閉問(wèn)題。確認(rèn)不通過(guò),將問(wèn)題再次打
開(kāi)并轉(zhuǎn)給開(kāi)發(fā)人員。
確認(rèn)固定問(wèn)題:有計(jì)劃的對(duì)固定問(wèn)題進(jìn)行確認(rèn),有些
固定問(wèn)題隨著時(shí)間的推移,版本的更新或已經(jīng)不存在了,
對(duì)這類問(wèn)題應(yīng)該及時(shí)關(guān)閉。有些固定問(wèn)題依然存在且變得
緊急,對(duì)于這類問(wèn)題應(yīng)該及時(shí)打開(kāi)交給開(kāi)發(fā)人員處理。
關(guān)閉缺陷
對(duì)于已經(jīng)修復(fù)的缺陷進(jìn)行關(guān)閉,這也是一個(gè)缺陷的最
后一個(gè)狀態(tài)。