Defect和Bug有什麼不一樣? -Nikita

banq發表於2020-06-10

Defect和Bug翻譯成中文都是缺陷的意思,兩者有什麼區別?
Bug是程式設計錯誤的結果,Defact缺陷是與需求的偏離。Defect缺陷不一定表示程式碼中存在bug,它可能是尚未實現但在軟體需求中定義了的功能。
測試是識別缺陷defact的過程,Defect缺陷是實際結果與預期結果之間的任何差異,測試人員發現的錯誤稱為Defact缺陷, 被開發團隊接受的Defact缺陷稱為Bug。如果構建不符合要求,那麼它是失敗的failure。
在軟體測試中,當預期行為與實際行為不匹配時,需要引發一個事件。程式設計師意圖實現某種行為是程式設計師的錯,但是由於編碼中的實現不正確,程式碼未能正確地遵循此行為。也稱為Defect缺陷。
例如,登入模組由測試人員測試;他輸入了有效的電子郵件地址和密碼,但仍顯示警告“無效的電子郵件地址” 。現在測試人員向開發人員報告了該Defect缺陷,他接受了該Defect缺陷/問題稱為Bug。

缺陷生命週期
Defact缺陷生命週期(也稱為Bug生命週期)是缺陷 週期的過程,缺陷在整個生命週期中都會經歷。它因組織而異,也因專案而異,因為它受軟體測試過程的約束,並且還取決於所使用的工具。

缺陷生命週期包括以下階段:

  • 新增:首次記錄併發布缺陷時。其狀態為新。
  • 已分配:測試人員釋出錯誤後,測試人員的負責人會批准該錯誤並將錯誤分配給開發團隊。
  • 開啟:開發人員開始分析並修復缺陷時的狀態。
  • fixed:當開發人員進行必要的程式碼更改並驗證更改時,他/她可以將錯誤狀態設定為“fixed”。
  • 重新測試:在此階段,測試人員對開發人員提供給他的更改程式碼進行重新測試,以檢查缺陷是否得到修復。
  • 重新開啟:如果即使在開發人員修復了該錯誤之後該錯誤仍然存​​在,則測試人員會將狀態更改為“重新開啟”。該錯誤再次貫穿生命週期。
  • 推遲:該錯誤已更改為推遲狀態,這意味著該錯誤有望在以後的版本中修復。將錯誤更改為這種狀態的原因有很多。其中有些是優先考慮的問題,該錯誤可能很少,釋出時間不足或該錯誤可能對該軟體沒有重大影響。
  • 已拒絕:如果開發人員認為該錯誤不是真實的,則開發人員將拒絕該錯誤。然後,錯誤的狀態更改為“已拒絕”。
  • 複製:如果該錯誤重複了兩次,或者兩個錯誤都提到了相同的錯誤概念,則最近/最新的錯誤狀態將更改為“重複”。
  • 已關閉:修復錯誤後,將由測試人員進行測試。如果測試人員認為該錯誤不再存在於軟體中,則測試人員會將錯誤的狀態更改為“已關閉”。此狀態表示該錯誤已修復,測試和批准。
  • 不是bug/Enhancement:如果應用程式的功能沒有更改,則狀態為“不是bug/Enhancement”。例如:如果客戶要求在應用程式的外觀和欄位中進行某些更改(例如更改某些文字的顏色),則這不是錯誤,而只是應用程式外觀中的某些更改。

總結
Bug是程式設計錯誤的結果,Defact缺陷是與需求的偏離。Defect缺陷不一定表示程式碼中存在bug,它可能是尚未實現但在軟體要求中定義的功能。
 

相關文章