出自:
什麼是缺陷?
維基百科對缺陷的定義是:軟體缺陷是指存在於電腦程式中的錯誤、缺陷、失效,或者是由於程式中的故障而令到計算機無法正常工作或產生不正確的結果。軟體缺陷的產生是由於在程式編碼或設計的過程中出現的錯誤而引起的。
其它的一些定義:
軟體或者硬體中多餘的並且不是計畫中的,特別是那些會引起故障的屬性。
或者是:
存在於程式中的故障,使得程式無法正常工作。
最後,我們給缺陷乙個籠統的概念就是:「與規格說明不一致」。
如果你想在開發階段初期就發現並解決這些缺陷,那麼缺陷跟蹤和軟體開發階段就必須同時開始。
我們會在另外的一篇文章中詳細討論一下關於如何寫有效的缺陷報告。現在我們主要講一下軟體缺陷生命週期的內容。
軟體缺陷的生命週期:
把新的缺陷寫成日誌
當測試員要把任何新的缺陷寫成日誌的時候,以下這些項是必填的:
版本號,提交日期,產品名稱,模組名稱,嚴重性,重現缺陷的概要和描述。
如果你是在用人工來記錄跟蹤缺陷的話,可以在上面的列表中,適當的增加一些可填項,這些可填項包括:客戶名稱,瀏覽器,作業系統,文件附件或截圖。
下面這些項可以指定或者保留為空:
請看下面這個軟體缺陷生命週期流程圖:
這個看起來很複雜,但是只要考慮到缺陷生命週期中的這些重要步驟,你很快就會明白缺陷生命週期的含義了。
記錄完了缺陷之後,開發人員或者測試經理就會去檢查這些缺陷報告。測試經理可以把缺陷狀態設定為「開啟」,可以把這個缺陷指派給某個開發人員,或者延遲到下乙個版本再進行處理。
當開發人員收到指派的缺陷的時候,就可以開始進行處理了。開發人員可以把狀態改為「不修復」、「無法重現」、「需要更多資訊」或者「已修復」。
如果開發人員把缺陷的狀態改為「需要更多資訊」或者「已修復」,那麼qa人員就可以採取相應的行動。如果缺陷已經被修復了,那麼qa人員就要驗證這個缺陷的修復情況(即需要做回歸測試),並根據驗證結果把狀態改為「確認關閉」或者是「重新開啟」。
缺陷狀態描述:
軟體缺陷生命週期有很多個階段。根據不同的缺陷跟蹤管理系統,下面的狀態名稱也會有所不同。
1)新建(開啟):當qa人員匯報新的缺陷時
2)延後處理:如果這個缺陷跟當前發布的這個版本沒有直接關係,或者當前版本無法修復,或者這個缺陷不是很嚴重,不需要立刻修復,那麼專案經理可以把狀態設為「延後處理」。
3)已指派:「指派給」這個值是由專案組長或者專案經理來填,指定給具體的某個開發人員。
4)已解決/已修復:當開發人員做了某些必要的**改動,並且確認修改之後,那麼他/她就可以把狀態改為「已修復」,然後就交給測試組進行回歸測試。
5)無法重現:如果開發人員根據qa人員在缺陷報告裡面描述的步驟,都無法重現這個缺陷的時候,那麼開放人員可以把這個缺陷標為「無法重現」。qa人員需要檢查這個缺陷是否可以重現,並且把更為詳細的重現步驟提供給開發人員。
6)需要更多資訊:如果開發人員認為qa人員提供的缺陷重現步驟不夠清晰,因而無法重現缺陷的時候,那麼他/她可以把狀態標記為「需要更多資訊」。在這種情況下,qa人員需要提供更為詳細的重現步驟,並把缺陷返回給開發小組。
7)重新開啟:如果qa人員不滿意這個修復結果,或者說即使在修復之後,依然出現同樣的問題,那麼qa人員可以把狀態標記為「重新開啟」,這樣的話,開發人員就可以採取相應的行動了。
8)關閉:如果qa小組已經驗證過這個缺陷的修復結果,並且問題是已經得到了解決的,那麼qa人員就可以把狀態改為「關閉」。
9)駁回/無效:有些時候,如果這個系統的確是按照規格說明來執行的,而缺陷的產生只是由於誤解而引起的,那麼開發人員或者小組組長可以把這些缺陷標記為「駁回」或者「無效」。
缺陷的生命週期 缺陷的等級
1 blocker 崩潰 阻礙開發或測試工作的問題 1 造成系統崩潰 宕機 死迴圈,導致資料庫資料丟失,與資料庫連線錯誤,主要功能喪失,基本模組缺失等問題。如 錯誤 死迴圈 資料庫發生死鎖 重要的一級選單功能不能使用等 該問題 在測試中較少出現,一旦出現應立即中止當前版本測試 2 造成資料洩漏的安全...
軟體生命週期
軟體生命週期 三個過程 定義,開發,維護 九個階段 可行性研究 需求分析,概要設計 詳細設計 編碼與單元測試 整合測試 驗收測試,執行與維護 退役。可行性研究 系統分析人員在使用者的配合下對使用者的要求和現有的環境及條件進行深入調查寫出調研報告,從技術可行性,經濟可行性,法律可行性,操作可行性等方面...
軟體生命週期
同任何事物一樣,乙個軟體產品或軟體系統也要經歷孕育 誕生 成長 成熟 衰亡等階段,一般稱為軟體生存週期 軟體生命週期 把整個軟體生存週期劃分為若干階段,使得每個階段有明確的任務,使規模大,結構複雜和管理複雜的軟體開發變的容易控制和管理。通常,軟體生存週期包括可行性分析與開發項計畫 需求分析 設計 概...