軟件問題的分類與管理
一、軟件問題的定義與分類
1. 軟件問題的分類
軟件錯誤(software error)
軟件缺陷(software defect)
軟件故障(software faut)
軟件失效(software faiure)
定義:
(1)軟件錯誤:指在軟件生存周期內的不希望或不可接受的人為錯誤,其結果將導致軟件缺陷的產生。
關注點:屬于人為錯誤
(2)軟件缺陷:存在于軟件(程序、數據、文檔)之中的那些不希望或不可接受的偏差。
關注點:欠缺或不完備的地方
一般情況下,滿足以下五種情況中的一種,即可存在軟件缺陷。
① 軟件未達到產品說明書中標明的功能。
② 軟件出現了產品說明書中指明的不會出現的錯誤。
③ 軟件功能超出了產品說明書指明的范圍。
④ 軟件未達到產品說明書雖未指出但應達到的目標。
⑤ 軟件測試人員認為軟件難以理解、不易使用、運行速度慢,和最終用戶認為不好使用。
(3)軟件故障:指在軟件運行過程中出現的不希望或不可接受的內部狀態,若此時無適當的措施(容錯或異常處理機制)加以及時處理,便產生軟件失效。
關注點:內部狀態
(4)軟件失效:指在軟件運行時產生的一種不希望或不可接受的外部行為結果。
關注點:外部行為結果
2. 軟件失效機理
軟件錯誤——>軟件缺陷——>軟件故障——>軟件失效
軟件錯誤是一種人為的錯誤,一個軟件錯誤必定產生一個或多個軟件缺陷
當一個軟件缺陷被激活時,便產生一個軟件故障。
同一個軟件缺陷在不同的條件下被激活,可能產生不同的軟件故障。
軟件故障若沒被及時的使用容錯加以處理,便不可避免的導致軟件失效。
同一個軟件故障在不同條件下可能產生不同的軟件失效。
3. 產生軟件錯誤、缺陷的原因
主要原因是開發的軟件與需求說明書、軟件設計說明書的不一致,以及在軟件的實現中,未能達到用戶潛在用戶需求的目標。
二、軟件錯誤的跟蹤與管理
1.缺陷與錯誤嚴重與優先級
(1) 嚴重級別
嚴重:系統崩潰、數據丟失、數據破壞。
較嚴重:操作性錯誤、錯誤結果、遺漏功能。
一般:小問題、錯別字。
建議:不影響使用的瑕疵或更好的實現。
(2) 優先級
最高優先級:立即修復,停止進一步測試。
次高優先級:在產品發布之前必須修復。
中等優先級:在產品發布之前應該修復。
最低等優先級:可能會修復,但是也能發布。
2.軟件錯誤的跟蹤管理
(1)錯誤(bug)信息的描述
①Bug記錄信息
測試軟件名稱
測試版本號
測試人名稱
測試事件
測試軟件和硬件配置環境
發現軟件錯誤的類型
錯誤的嚴重等級
詳細步驟
必要的附圖
測試注釋
②Bug的處理信息
處理者姓名
處理時間
處理步驟
錯誤記錄的當前狀態
3.軟件錯誤狀態的描述
① 新信息(New):測試中新報告的軟件錯誤(Bug)。
② 打開(Open):錯誤已經被確認并已經分配給相關開發人員處理。
③ 修正(Fixed):錯誤已經由開發人員修正完成,等待測試人員驗證。
④ 拒絕(Decined):高級測試人員或開發人員認為不是錯誤,拒絕修改Bug。
⑤ 延期(Deferred):此錯誤不在當前版本中修復,而要到下一版本中修復。
⑥ 關閉(Cosed):錯誤已經修復,并已經過驗證。
4.錯誤管理流程
步驟:
第一步:測試人員提交新的錯誤信息,并輸入到錯誤跟蹤管理系統錯誤信息數據庫中(如TD),錯誤狀態置為初始狀態“New”。
第二步:高級測試人員驗證錯誤并做相應處理。
① 如果確認是錯誤,分配給相應的開發人員,把錯誤狀態置為“Open”。
② 如果高級測試人員認為這個“New”狀態的“錯誤”不是錯誤,則拒絕修改,把錯誤狀態設置為“Decined”。
第三步:開發人員查詢狀態為“Open”的所有錯誤,并對錯誤做如下處理:
① 如果開發人員認為這個“Open”狀態的錯誤不是錯誤,則拒絕修改,把錯誤狀態設置為“Decined”。
② 如果是錯誤,則修復并把錯誤狀態設置為“Fixed”。
③ 如果是不能解決的錯誤,要留下文字說明并保持錯誤狀態為“Open”。
④ 如果需要延期解決的錯誤,要留下文字說明,把錯誤狀態設置為“Deferred”。
注意:對于不能解決的和延期解決的錯誤,不能由開發人員自己決定,一般需要某種會議(評審會)通過才能認可。
第四步:測試人員查詢狀態為“Fixed”的所有錯誤,驗證這些錯誤是否已經解決,并做如下處理:
① 如問題解決了,把錯誤狀態設置為“Cosed”。
② 如問題還沒解決,重新把錯誤狀態設置為“Open”。
5.錯誤流程管理原則
①為了保證錯誤處理的正確性,需要有測試經驗豐富的測試人員驗證發現的錯誤是否是真正的錯誤,書寫的測試步驟是否準確,可以重復。
②每次對錯誤的處理都要保留處理信息,包括處理姓名、時間、處理方法、處理意見、Bug狀態等。
③拒絕或延期處理錯誤不能由程序員單方面決定,應由項目經理、測試經理和設計經理共同決定。
④錯誤修復后必須由報告錯誤的測試人員驗證,確認已經修復后,才能關閉錯誤。
⑤加強測試人員與程序員之間的交流,對于“Deferred”狀態的錯誤,需要互相交流意見,避免真正的錯誤被遺漏。對于某些不能重復的錯誤,可以請測試人員補充詳細的測試步驟和方法,以及必要的測試用例。
posted on 2014-08-20 09:38 順其自然EVO 閱讀(288) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄