建立缺陷生命週期指南
缺陷生命週期究竟是什麼?
在軟體測試中,缺陷生命週期或錯誤生命週期是指缺陷或錯誤在其存在期間經過的一系列階段。缺陷生命週期的目標是使不完整的工作流程協調和溝通缺陷的當前狀態,這些狀態會發生變化並指派給多個負責人,以及使缺陷修復過程系統化和高效化。
術語“缺陷生命週期”指的是缺陷的整個路徑,從測試團隊檢測到缺陷開始,到開發團隊修復並關閉缺陷結束。透過確保缺陷不再可重複或被開發團隊拒絕來關閉缺陷。
軟體缺陷被描述為軟體不滿足預期標準的情況。為了更合適地處理專案,只需要處理開發和釋出。但是,應該知道,除了開發和釋出之外,還必須瞭解如何處理出現的問題。
在這種情況下,需要一個缺陷生命週期來更合適有效地規範和處理缺陷。缺陷必須經歷的狀態總數因專案而異。缺陷可能發生在軟體開發生命週期 (SDLC) 的任何步驟中,包括需求收集、軟體設計、開發階段、測試階段或終端使用者在使用產品時進行的客戶驗收測試。
建立缺陷生命週期的指南
指南是必須遵循的必要程式,以便有效地執行缺陷生命週期。這些指南如下:
**瞭解缺陷狀態** - 不言而喻的是,在開始處理專案之前,我們需要了解與該專案相關的一切,包括其各個狀態、設計和操作。同樣,在我們開始處理缺陷生命週期中的缺陷之前,整個團隊必須完整清晰地理解缺陷的不同階段以及每個缺陷狀態的真正含義。
**瞭解責任** - 為了獲得更高效和更好的結果,每個人都應該在開始處理某些事情之前瞭解他們的責任。那些不知道自己責任的人不會全力以赴工作,不會盡最大努力,並且會對自己的工作或責任不太專注。結果,後果會變得更嚴重,產生的結果將是不準確和不正確的。因此,有必要確保每位員工都瞭解自己的責任。同樣,在缺陷生命週期中,任何被分配任何與缺陷生命週期相關的任務的個人都應該非常徹底地瞭解和掌握他們的角色,以便獲得更準確和更好的結果。
**缺陷跟蹤工具** - 最好避免接受任何與缺陷相關的請求,該請求不會導致缺陷跟蹤工具中缺陷狀態的可接受更改。為了確保缺陷之間的一致性,應更小心地處理和管理此工具。這將為缺陷生命週期工作流程提供統一性。如果我們走捷徑,我們將永遠不會獲得最新的、可靠的缺陷指標進行分析。
**正確的文件記錄** - 缺陷生命週期應更徹底地記錄在案。如果正確遵循文件記錄過程,將來就不會對任何狀態感到困惑或遇到困難。
缺陷狀態
錯誤或缺陷狀態 指的是缺陷或錯誤在缺陷生命週期中的當前狀態。缺陷狀態的目標是正確表達缺陷或錯誤的當前狀態或進度,以便更好地跟蹤和理解缺陷生命週期。
問題經過的狀態數量因專案而異。下面的生命週期圖顯示了所有可能的狀態。
**新建 (New)** - 當新缺陷首次註冊和上傳時,它被認為是新的。它被賦予狀態“新建”。
**已分配 (Assigned)** - 測試人員釋出錯誤後,測試人員主管確認該錯誤並將其分配給程式設計團隊。
**開啟 (Open)** - 開發人員開始研究和修復問題。
**已修復 (Fixed)** - 當開發人員執行必要的程式碼修改並驗證更改時,錯誤狀態將更改為“已修復”。
**等待重新測試 (Pending retest)** - 一旦缺陷得到糾正,開發人員就會向測試人員提供一個獨特的程式碼來重新測試程式碼。因為軟體測試仍在測試人員方面等待,所以狀態為“等待重新測試”。
**重新測試 (Retest)** - 在此步驟中,測試人員重新測試程式碼以檢視開發人員是否已解決缺陷,並將狀態更改為“重新測試”。
缺陷的生命週期
**已驗證 (Verified)** - 開發人員解決問題後,測試人員會重新測試該問題。如果程式中沒有發現錯誤,則該錯誤得到解決,狀態更改為“已確認”。
**重新開啟 (Reopen)** - 如果開發人員解決問題後問題仍然存在,則測試人員將狀態設定為“重新開啟”。該錯誤必須再次經歷生命週期。
**關閉 (Closed)** - 如果錯誤不再存在,測試人員將其標記為“關閉”。
**重複 (Duplicate)** - 如果缺陷重複出現兩次或缺陷與錯誤的相同想法有關,則狀態將更改為“重複”。
**拒絕 (Rejected)** - 如果開發人員認為缺陷不是真實的,則該缺陷將標記為“拒絕”。
**延期 (Deferred)** - 如果當前問題不是首要任務,並且預計將在將來的版本中解決,則會將其賦予狀態“延期”。
**不是錯誤 (Not a bug)** - 如果缺陷對應用程式的功能沒有影響,則賦予它的狀態是“不是錯誤”。
缺陷生命週期的解釋
缺陷或錯誤的生命週期 - 您需要了解的內容!
測試人員發現了缺陷。
該缺陷已被賦予“新建”狀態。
向專案經理報告問題以進行調查。
專案經理確定缺陷是否合法。
在這種情況下,缺陷無效,因此狀態為“拒絕”。
因此,專案經理賦予“拒絕”狀態。如果問題未被拒絕,則下一步是確定它是否在專案的範圍內。
假設我們有另一個功能——同一應用程式的電子郵件功能——並且您發現了它的錯誤。但是,當此類問題被賦予推遲或延期的狀態時,它們不包含在當前版本中。
然後,經理檢查之前是否報告過類似的問題。如果答案為是,則缺陷被賦予“重複”狀態。
如果不是,則問題將分配給開發人員,開發人員開始處理程式碼。
此時,缺陷被賦予“進行中”狀態。
程式碼被糾正後。缺陷被賦予“已修復”狀態。
然後測試人員將重新測試程式碼。如果測試用例成功,則缺陷得到解決。如果測試用例再次失敗,則缺陷將重新開啟並分配給開發人員。
考慮以下情況:在航班預訂的第一個版本中,在傳真訂單中發現了一個缺陷,該缺陷已得到糾正並被賦予“關閉”狀態。相同的錯誤在第二次升級版本中再次出現。在這種情況下,先前關閉的缺陷將重新開啟。
這就是錯誤生命週期的結束。
藉助示例,本培訓影片闡述了錯誤(即缺陷)生命週期的各個階段及其重要性。
問答
問答 1)在軟體測試的上下文中,缺陷究竟是什麼?
答案 - 缺陷是應用程式中的任何故障或錯誤,它透過使應用程式的預期行為與其實際行為不匹配來阻礙其正常流程。
問答 2)錯誤、缺陷和故障的主要區別是什麼?
答案 -
錯誤 - 當開發人員在開發階段發現應用程式的實際行為和預期行為之間存在差異時,他們將其稱為錯誤。
缺陷 - 當測試人員在測試階段發現應用程式的實際行為和預期行為之間存在差異時,就會發生缺陷。
故障 - 當客戶或終端使用者在生產階段發現應用程式的實際行為和預期行為之間存在差異時,他們將其稱為故障。
問答 3)發現缺陷時,缺陷的狀態是什麼?
答案 - 當發現新的缺陷時,它處於新建狀態。這是新發現缺陷的初始狀態。
問答4)當開發者批准並修復問題時,缺陷生命週期中的各個階段是什麼?
回答 - 在此示例中,缺陷的不同狀態為新建、已分配、開啟、已修復、等待重新測試、重新測試、已驗證和關閉。
問答5)如果測試人員發現已由開發者解決的缺陷存在問題會發生什麼?
回答 - 測試人員可能會將缺陷的狀態標記為……如果他仍然發現修復後的缺陷存在問題,他應該重新開啟它,並且缺陷應該分配給開發者進行重新測試。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP