Bug
- 1.軟件測試的生命周期
- 2. BUG
- 2.1 表述BUG的要素
- 2.2 BUG級別
- 2.3 BUG的聲命周期
1.軟件測試的生命周期
? 軟件測試貫穿于軟件的整個生命周期:軟件測試的生命周期(Software Testing Life Cycle, STLC),是指測試流程,這個流程是按照一定順序執行的一系列特定的步驟,去包正產品質量符合需求。
分為:需求分析 —> 測試計劃 —> 測試設計&測試開發 —> 測試執行 —> 測試評估 —> 上線 &運行維護
-
**需求分析:**理解并驗證軟件需求是否完整、明確、可測試;要求測試團隊深入理解產品的功能和性能要求
- 關鍵活動:
- 參與需求評審會議
- 確定測試范圍
- 分析哪些功能可以自動化測試
- 制定初步的風險評估
- 交付:需求可測性報告、測試需求清單
- 關鍵活動:
-
**測試計劃:**制定詳細的測試策略和計劃,確保資源、時間和人力合理安排;制定出一個全面的測試策略,包括資源分配、時間線安排和測試環境搭建
- 關鍵活動:
- 確定測試類型
- 規劃測試環境、工具和框架
- 安排人員分工和時間表
- 風險識別與應對方案
- 交付:測試計劃文檔(Test Plan)
- 關鍵活動:
-
**測試設計 & 測試開發:**基于需求和測試計劃,創建具體的測試用例和腳本;每個測試用例都應覆蓋特定的功能或應用場景,并且明確預期和結果和成功標準
- 關鍵活動:
- 編寫測試用例
- 準備測試數據
- 開發自動化測試攪拌
- 評審測試用例
- 交付:測試用例文檔、測試腳本、測試數據集
- 關鍵活動:
-
**測試執行:**按照測試用例執行測試,發現記錄缺陷;測試人員將執行事先設計號的測試用例,并對軟件的行為進行觀察和記錄
- 關鍵活動:
- 執行測試用例
- 記錄測試結果
- 提交缺陷報告
- 回歸測試
- 交付:測試執行日志、缺陷跟蹤報告、測試進度報告
- 關鍵活動:
-
**測試評估:**評估測試完成情況和產品質量狀態;測試團隊會匯總測試結果,分析數據,評估軟件的整體質量,并提出是否發布產品的建議
- 關鍵活動:
- 分析測試覆蓋率
- 匯總缺陷分布及嚴重程度
- 評估是否達到測試出口標準
- 輸出測試總結報告
- 交付:測試總結報告(Test Summary Report)、質量評估報告
- 關鍵活動:
-
**上線 & 運行維護:**保障系統上線后的穩定運行,并持續優化產品質量;包括報告和修復發現的缺陷,并涉及對缺陷解決過程的跟蹤和驗證
- 關鍵活動:
- 上線前的最終回歸測試或冒煙測試
- 支持上線部署
- 監控生產環境中的問題
- 對用戶反饋進行分析并協助修復問題
- 交付:上線檢查清單、運維支持文檔、版本發布說明
- 關鍵活動:
軟件測試生命周期(SDLC)與 軟件開發生命周期(SDLC)的關系
SDLC階段 | STLC對應階段 |
---|---|
需求分析 | 需求分析 |
設計階段 | 測試計劃、測試設計 |
編碼階段 | 測試開發、單元測試 |
測試階段 | 測試執行 |
部署階段 | 上線測試、驗收測試 |
維護階段 | 回歸測試、缺陷修復驗證 |
2. BUG
? BUG(缺陷/錯誤):一個計算機bug指在計算機中存在的一個錯誤(error)、缺陷(flaw)、疏忽(mistake)或者故障(fault),導致程序不能按照預期工作。BUG產生于代碼中的邏輯錯誤、設計疏漏、數據處理不當,或與需求文檔不符的功能表出現。
BUG 是軟件中不符合預期的行為或狀態,是影響軟件質量的重要因素。
準確來說:
- 當且僅當規格說明是存在并且正確,程序與規格說明之間的不匹配才是錯誤
- 當需求文檔中沒有提到的功能,判斷標注以用戶為標準;當程序中沒有實現其最終用戶合理預期的功能請求是,就是軟件有錯誤
2.1 表述BUG的要素
? BUG的要素:是指在提交一個缺陷(bug)報告時,必須包含的基本信息,用于幫助開發人員快速理解問題、定位原因并進行修復。
Bug的六大核心要素
要素名稱 | 說明 |
---|---|
1. Bug標題(Summary / Title) | 簡明扼要地描述問題的核心,便于識別和搜索。 |
2. Bug描述(Description) | 清晰描述Bug出現的場景、影響范圍及具體現象。 |
3. 重現步驟(Steps to Reproduce) | 明確的操作流程,使他人可以復現該Bug。 |
4. 實際結果 vs 預期結果 | 對比程序實際行為與預期行為,明確偏差。 |
5. 環境信息(Environment) | 提供軟硬件環境、系統版本、瀏覽器等關鍵信息。 |
6. 附件/截圖/日志(Attachments) | 提供截圖、錄屏或日志文件作為證據支持。 |
2.2 BUG級別
? Bug級別(也稱為缺陷嚴重性或Severity)是指根據軟件缺陷對系統功能、性能或安全性的影響程度來分類。不同級別的Bug反應了它們對用戶體驗、系統穩定性以及業務目標的影響大小,從而幫助團隊決定修復這些Bug的優先級。
? 通過Bug級別也能體現出開發人員的開發質量。
bug級別一般分為:崩潰、嚴重、一般、次要
- 崩潰(Critical/Blocker):導致系統無法運行或核心功能完全失效
- 阻礙開發或測試工作的問題
- 造成系統崩潰、死機、死循環,導致數據庫數據丟失,與數據庫連接錯誤,主要功能喪失
- 嚴重(Major/High):核心業務流程受阻,但系統仍可部分運行
- 系統主要功能部分喪失、數據庫保存調用錯誤、用戶數據丟失,一級菜單不能使用但是不影響其他功能的測試。
- 功能設計與需求嚴重不符,模塊無法啟動或調用,系統重啟、自動退出,關聯程序間調用沖突,安全性、穩定性等。
- 一般(Moderate/Medium):功能有缺陷,但不影響主流程
- 功能沒有完全實現但不影響使用,功能菜單存在缺陷但不會影響系統穩定性
- 次要(Minor/Low):外觀問題或輕微邏錯誤,不影響使用
- 界面、性能缺陷,建議類問題,不影響操作功能的執行,可以優化性能的方案等
2.3 BUG的聲命周期
? Bug的生命周期(Defect Life Cycle):也稱為缺陷生命周期,是指一個Bug從被發現開發直到最終關閉所經歷的一系列狀態。