軟體測試的主要目的在於發現軟體存在的錯誤(Bug),對於如何處理測試中發現的錯誤,
將直接影響到測試的效果。只有正確、迅速、準確地處理這些錯誤,才能消除軟體錯誤,保證
要發布的軟體符合需求設計的目標。在實際軟體測試過程中,對於每個Bug都要經過測試、確
認、修複、驗證等的管理過程,這是軟體測試的重要環節。
錯誤跟蹤管理系統
為了正確跟蹤每個軟體錯誤的處理過程,通常將軟體測試發現的每個錯誤作為一條條記錄
輸入制定的錯誤跟蹤管理系統。
目前已有的缺陷跟蹤管理軟體包括Compuware公司的TrackRecord軟體(商業軟體)、
Mozilla公司的Buzilla軟體(免費軟體),以及國內的微創公司的BMS軟體,這些軟體在功能
上各有特點,可以根據實際情況選用。當然,也可以自己開發缺陷跟蹤軟體,例如基於Notes
或是ClearQuese開發缺陷跟蹤管理軟體。
作為一個缺陷跟蹤管理系統,需要正確設計每個錯誤的包含資訊的欄位內容和記錄錯誤的
處理資訊的全部內容。欄位內容可能包括測試軟體名稱,測試版本號碼,測試人名稱,測試事
件,測試軟體和硬體設定環境,發現軟體錯誤的類型,錯誤的嚴重等級,詳細步驟,必要的附
圖,測試注釋。處理資訊包括處理者姓名,處理時間,處理步驟,錯誤記錄的目前狀態。
正確的資料庫許可權管理是錯誤跟蹤管理系統的重要考慮要素,一般要保證對於添加的錯誤
不能從資料庫中刪除。
軟體錯誤的狀態
新資訊(New):測試中新報告的軟體缺陷;
開啟 (Open):被確認並分配給相關開發人員處理;
修正(Fixed):開發人員已完成修正,等待測試人員驗證;
拒絕(Declined):拒絕修改缺陷;
延期(Deferred): 不在目前的版本修複的錯誤,下一版修複
關閉(Closed):錯誤已被修複;
Bug管理的一般流程
測試人員提交新的Bug入庫,錯誤狀態為New。
進階測試人員驗證錯誤,如果確認是錯誤,分配給相應的開發人員,設定狀態為Open。如
果不是錯誤,則拒絕,設定為Declined狀態。
開發人員查詢狀態為Open的Bug,如果不是錯誤,則置狀態為Declined;如果是Bug則修複
共置狀態為Fixed。不能解決的Bug,要留下文字說明及保持Bug為Open狀態。
對於不能解決和延期解決的Bug,不能由開發人員自己決定,一般要通過某種會議(評審
會)通過才能認可。
測試人員查詢狀態為Fixed的Bug,然後驗證Bug是否已解決,如解決置Bug的狀態為
Closed,如沒有解決置狀態為Reopen。
軟體錯誤流程管理要點
為了保證錯誤的正確性,需要有豐富測試經驗的測試人員驗證發現的錯誤是否是真正的錯
誤,書寫的測試步驟是否準確,可以重複。
每次對錯誤的處理都要保留處理資訊,包括處理姓名,時間,處理方法,處理意見,Bug
狀態。
拒絕或延期錯誤不能由程式員單方面決定,應該由專案經理,測試經理和設計經理共同決
定。
錯誤修複後必須由報告錯誤的測試人員驗證後,確認已經修複,才能關閉錯誤。
加強測試人員與程式員的交流,對於某些不能重複的錯誤,可以請測試人員補充詳細的測
試步驟和方法,以及必要的測試案例。