錯誤跟蹤(Defect Tracking System-DTS)的研發與應用,是為控制和減輕潛在的不利因素對軟件項目的影響而采取的一項活動。它用于集中管理和控制軟件測試過程中發現的錯誤,并進行版本控制。通過DTS系統,將幫助我們更好的收集、跟蹤、反饋軟件系統在測試、運行過程中的錯誤和問題。DTS作為項目管理的一個重要方法和手段,能有效的幫助人們建立科學的、規范化的項目管理機制。
2 軟件錯誤跟蹤與缺陷管理
軟件中的缺陷(Defect或Bug)將導致軟件系統在某種程度上不能滿足用戶的需要,甚至造成系統的崩潰。及時發現、妥善處理軟件中的缺陷,是軟件生存、發展的根本。一個完備軟件缺陷管理過程通常包括如下幾個方面:
(1)發現與提交缺陷;(2)分析和定位缺陷;(3)提請修改相應的軟件
(4)修改相應的軟件;(5)驗證修改
2.1 錯誤管理流程分析
流程管理作為現代企業管理的先進思想和有效工具,隨著市場環境與組織模式的變化,在以計算機網絡為基礎的現代社會信息化背景下越發顯示出其威力和效用。流程管理不僅是一種管理技術,更體現了現代管理的思想。流程管理的重點是:理清和管理好所有主、支流程間的關系,使他們相互協調發揮應有的作用。流程管理增加了部門的透明度,管理的對象不是“部門”和“部門員工”的概念,而是以工序流程為管理對象,注重流程中每一個過程和效率以及和上下游工序的關系,管理重點在于整體流程的完整性和順暢性。運用流程管理方法和技術進行軟件錯誤跟蹤與缺陷管理,可以有效地改變軟件錯誤跟蹤與缺陷過程管理混亂的局面。軟件錯誤跟蹤與缺陷管理流程如圖1所示:
圖1 錯誤管理狀態流程圖
在圖1中,圓括號方框代表Bug的狀態,方框代表操作,圓角方框代表操作附加的信息。A1表示測試人員,A2表示高級測試人員,A3表示開發人員,A4表示評審委員會。其基本過程為:
(1)根據測試人員(錯誤報告提交人)提交新的錯誤信息(Bug),系統將錯誤狀態置為New;
(2)高級測試人員進行錯誤驗證,如果確認是錯誤,分配給相應的開發人員進行處理,設置狀態為Open。如果不是錯誤,則拒絕,設置為Declined狀態;
[Page](3)開發人員查詢狀態為Open的Bug,如果不是錯誤,則置狀態為Declined;如果是Bug則修復并置狀態為Fixed。不能解決的Bug,要留下文字說明及保持Bug為Open狀態;
(4)對于不能解決和延期解決的Bug,不能由開發人員自己決定,一般要通過某種會議(評審會)通過才能認可;
(5)測試人員查詢狀態為Fixed的Bug,然后驗證Bug是否已解決,如解決置Bug的狀態為Closed,如沒有解決置狀態為Reopen。
為了保證錯誤確認的正確性,需要有豐富測試經驗的測試人員驗證提交的測試結果是否真實,測試步驟是否準確,并可以重復。對于某些不能重復的錯誤,可以請測試人員補充詳細的測試步驟和方法,以及必要的測試用例。
項目經理,測試經理和設計經理共同決定對錯誤信息的處理拒絕或延期。錯誤修復后必須由錯誤報告提交人驗證,并確認已經修復后才能關閉錯誤。
2.2 錯誤缺陷的幾種狀態
一般把缺陷的生存周期的各個階段用“狀態”來描述,狀態的轉換,反映了對錯誤處理過程的結果,對狀態的控制是錯誤跟蹤系統的主要功能。軟件缺陷的幾種常見狀態如下:
(1) 新信息(New):測試中新報告的軟件缺陷。
(2) 打開(Open):被確認并分配給相關開發人員處理。
(3) 修正(Fixed):開發人員已完成修正,等待測試人員驗證。
(4) 拒絕(Declined):拒絕修改缺陷。
(5) 延期(Deferred):不在當前版本修復的錯誤,下一版修復。
(6) 關閉(Closed):錯誤已被修復或過期。