軟件缺陷(Defect),常常又被叫做Bug。所謂軟件缺陷,即為計算機軟件或程序中存在的某種破壞正常運行能力的問題、錯誤,或者隱藏的功能缺陷。缺陷的存在會導致軟件產品在某種程度上不能滿足用戶的需要。IEEE729-1983對缺陷有一個標准的定義:從產品內部看,缺陷是軟件產品開發或維護過程中存在的錯誤、毛病等各種問題;從產品外部看,缺陷是系統所需要實現的某種功能的失效或違背。在軟件開發生命周期的后期,修復檢測到的軟件錯誤的成本較高。
一、 缺陷報告的組成
1、缺陷編號(Defect ID)
提交bug的順序
2、缺陷標題(summary)
簡明扼要的說明一下該bug
3、缺陷的發現者(Detected By)
一般就是自己
4、發現缺陷的日期(Detected on date)
(區別:data數據)
一般就是當天
5、缺陷所屬的模塊(subject)
在測試哪個模塊的時候發現的bug;開發經理會據此找到bug的修改負責人
6、發現缺陷版本(Detected in release)
在測試哪個版本的時候發現的bug
7、指派給誰處理(Assigned to)
測試人員指派給開發經理
開發經理根據bug所在的模塊指派給相應的開發人員進行缺陷修改
8、缺陷的狀態(status)
表明缺陷此時所處的情況或處理狀態
(1)測試人員發現bug,把缺陷的狀態寫成:new(新提交的bug)
(2)開發經理看到此bug,進行驗證,如果是bug,把缺陷狀態改為:open(打開的bug,開發組承認的bug);如果不是bug,把缺陷狀態改為:rejected(拒絕的bug)
(3)開發人員看到指派給自己的bug,進行bug修改,修改完后,把狀態改為:fixed(已經修復的bug,待返測的bug)
(4)測試人員對修復的bug進行返測,如果返測成功,把bug的狀態改為:closed(關閉的bug,歸檔的bug);如果返測失敗,把bug的狀態改為:reopen(重新打開的bug,返測為通過的bug)
整個過程稱為缺陷的處理流程(缺陷的跟蹤過程)
New—>open—>fixed
—>closed
缺陷的嚴重程度(severity)
Bug對軟件造成的影響有多大
Urgent:對軟件和用戶造成巨大影響的bug,如死機、藍屏、重啟等
Veryhigh:非常嚴重的bug
High:大的問題
Medium:中等程度的問題
Low:小的問題
需要在正式文檔或測試計划中定義好評價標准
Bug Level(級別) Definition(定義)
Performance性能
Function功能
10、缺陷的優先級(priority)
測試人員希望程序員在什么時間內或哪個版本中解決該bug
Urgent:立即修改,否則影響開發/測試進度
Veryhigh:本版本修改
High:下版本修改
Medium:發布之前修改
Low:允許發布中存在的bug
需要考慮的主要因素:
A、bug的嚴重程度
一般越嚴重,越優先(但不是絕對)
B、bug影響的范圍
一般影響范圍越大,越優先
C、開發組當前的工作進度
D、解決的難以程度
11、缺陷描述(description)
把發現bug的步驟、使用的數據、操作過程記錄下來
——練習重點
缺陷報告示例
缺陷報告用途
1、 記錄bug
2、 對bug進行分類(提交者、模塊、版本、嚴重程度、優先級、狀態)
3、 對bug進行跟蹤管理(new——closed)
4、 對bug進行分析、統計、總結
二、如何識別bug
1、測試用例的預期結果
(實際結果與預期結果不一致,就是bug)
2、看需求(從bug的5點定義判斷)
3、與開發、需求人員、用戶討論