一、基本術語
常見術語:bug defect issue
嚴重程度:Mistake→defect&bug→fault→failure
二、缺陷報告單
*Bug title/summary:標題 對問題的簡單概要描述
描述的問題,實際結果(不等於/有偏差)預期
如:視頻播放的進度條擋住主界面
測試績效考核: bug數量,有效的bug率=(總bug-重復bug-不重現的bug)/總bug量
*Bug reproduce steps:重現步驟
1)按照重現步驟執行,可以看到描述的缺陷:
a.如果bug是執行用例發現的,--用例執行步驟
b.詳細的實際結果
c.期望結果
2)Bug重現率:bug不是每次重現,一般重現3次再提交,例如10次中6次重現,重現率6%
3)附件:圖片格式gif,jpg,jpge一般不用bmp太大,同時給圖片命名
4)缺陷原因分析:缺陷產生的可能原因。
三、缺陷管理的基本流程
流程梳理:
1.測試人員在發布服務器上拿到最新版本的軟件,開始測試(手動或自動化測試),執行測試過程中,發現bug,記錄到BMS缺陷管理系統中;
2.測試人員會發送郵件給開發人員,開發人員得到最新bug后,定位bug,尋找原因,若問題簡單直接解決,若問題較復雜(比如一個bug可以采取三個修改方案,三個方案各有利弊),開發人員會發送郵件給評審專家,共同商討采用哪種方案;
3.經討論確認方案后,開發人員進行修改,修改完畢后把修改后的源代碼check in 到源代碼服務器上,這個服務器上有軟件對代碼進行管理,該軟件就是配置管理軟件;
4.開發人員check in 后,Builder(每日構建技術人員)會從源代碼服務器上獲取最新的源代碼,並且進行編譯,編譯之后把軟件最新版本發布到服務器上;
5.測試人員再把新版本下載下來,並驗證該版本是否修復了之前版本中發現的缺陷,這就是一個回歸測試的過程。
上面就是一個簡單的缺陷管理流程,通過這樣一個完整的流程,以bug為驅動,對軟件的缺陷記錄、提交、修改、驗證有了一個很好的管理流程,因為一個完整的缺陷管理過程是貫穿測試、開發、builder的全過程。
四、缺陷管理的目的
1.缺陷跟蹤
保證缺陷得到有效的跟蹤和解決。
2.缺陷分析
獲取正確的bug信息,用作缺陷分析和產品度量。
五、缺陷管理相關工具
軟件缺陷跟蹤過程需要有軟件工具支持:
1.付費工具有:Mercury Quality Center(簡稱TD)\ Rational ClearQuest(簡稱CQ)\ HP Quality Center(簡稱QC)
2.免費開源工具有:Bugzilla\ Mantis\ Jira
如何選擇工具,建議根據公司財力來,如果公司財力比較雄厚,可以采用付費工具,可用性和易用性較好,同時還有相關技術支持服務;若公司較小,建議使用免費工具,節省開支。
六、缺陷管理相關角色
軟件開發人員,測試人員,開發經理,測試經理,CCB變更控制委員會(開發和測試的協調)、配置管理員(軟件版本管理)
七、缺陷管理的相關屬性
1.缺陷發現人:可以據此對測試人員進行績效考核
2.缺陷發現時間
3.缺陷所屬版本:避免開發和測試產生混亂。
4.缺陷修改日期:可以據此對開發人員進行績效評估。
5.軟件缺陷的狀態 state
軟件缺陷狀態 | |
New | 缺陷的初始狀態 |
Open | 開發人員開始修改缺陷 |
Fixed | 開發人員修改缺陷完畢 |
Closed | 回歸測試通過 |
Reopen | 回歸測試失敗 |
Postpone | 推遲修改 |
Rejected | 開發人員認為不是程序問題,拒絕缺陷 |
Duplicate | 與已提交的Defect重復 |
Abandon | 被 Reject和Duplicate的Defect,測試人員確認后的確不是問題,改為此狀態 |
6.severity 軟件缺陷嚴重程度
嚴重程度:致命→嚴重→一般→提示
1) 嚴重性(bug修改的順序 站在項目的角度綜合權衡項目時間、進度、技術和風險)
高:當天修改 0~8h內
中:2~4天
低:一周內或者本發布周期
2)priority 優先級 P0~p4級別(BUG出現對於系統造成的影響,站在用戶角度)
P0:block issue導致測試掛起 盡快修改(代碼回滾,回到前一個版本)
P1:當天修改 0~8
P2:功能相關
P3:主要配置環境的UI
P4:可以不修改
判斷:嚴重等級比較高的bug優先級別一定高?
N 。若 bug很嚴重但是重復率很低,或者影響項目發布,或當前技術有限,或當前bug修改會產生更大的風險,優先級別可以降低。
7.Issue type 缺陷類型
a. 功能角度
-----error 錯誤
-----missing 功能遺漏
-----extra 多余的
-----improvement 需優化的,建議修改
b. 質量特性
-----功能性
-----性能
-----安全性
-----配置
-----可靠性
c. 缺陷產生的原因
DCR→design change request設計變更、Perf→性能、Spec→需求、Test→測試
8.bug管理流程圖
9.缺陷狀態遷移矩陣