
- 軟體測試教程
- 軟體測試 - 首頁
- 軟體測試 - 概述
- 軟體測試 - 缺陷管理
- 軟體測試 - 生命週期
- 軟體測試 - Bug 生命週期
- 軟體測試 - 誤區
- 軟體測試 - QA、QC 和測試
- 軟體測試 - 環境
- 軟體測試 - 策略
- 軟體測試 - 步驟
- 軟體測試 - 測試條件
- 軟體測試 - 測試分析
- 軟體測試 - ISO 標準
- 軟體測試 - 型別
- 軟體測試 - 技術
- 軟體測試 - 方法
- 軟體測試 - 指標
- 軟體測試 - 層次
- 軟體測試 - 估算技術
- 軟體測試 - 七大原則
- 軟體測試 - 嚴重性和優先順序
- 軟體測試 - 缺陷密度
- 軟體測試有用資源
- 軟體測試 - 問答
- 軟體測試 - 快速指南
- 軟體測試 - 有用資源
- 軟體測試 - 討論
軟體測試 - 概述
什麼是測試?
測試是評估系統或其元件的過程,目的是確定其是否滿足指定的需求。簡單來說,測試就是執行一個系統,以識別與實際需求相反的任何差距、錯誤或缺失的需求。
根據 ANSI/IEEE 1059 標準,測試可以定義為 - 分析軟體專案以檢測現有條件和所需條件之間差異(即缺陷/錯誤/Bug)並評估軟體專案特徵的過程。
誰進行測試?
這取決於專案的流程和相關利益相關者。在 IT 行業,大型公司擁有一個團隊負責評估開發的軟體是否符合給定的需求。此外,開發人員也會進行測試,這被稱為**單元測試**。在大多數情況下,以下專業人員在其各自的能力範圍內參與系統測試 -
- 軟體測試員
- 軟體開發人員
- 專案主管/經理
- 終端使用者
不同的公司根據測試人員的經驗和知識,對測試軟體的人員有不同的職位名稱,例如軟體測試員、軟體質量保證工程師、QA 分析師等。
並非在軟體生命週期的任何時間都可以測試軟體。接下來的兩節將說明在 SDLC 中何時應該開始測試以及何時結束測試。
何時開始測試?
儘早開始測試可以降低返工成本和時間,併產生交付給客戶的無錯誤軟體。然而,在軟體開發生命週期 (SDLC) 中,測試可以從需求收集階段開始,並持續到軟體部署。
這也取決於所使用的開發模型。例如,在瀑布模型中,正式測試在測試階段進行;但在增量模型中,在每個增量/迭代結束時都會進行測試,並在最後測試整個應用程式。
在 SDLC 的每個階段都以不同的形式進行測試 -
在需求收集階段,對需求的分析和驗證也被視為測試。
在設計階段審查設計以改進設計也被視為測試。
開發人員在完成程式碼後進行的測試也被歸類為測試。
何時停止測試?
很難確定何時停止測試,因為測試是一個永無止境的過程,沒有人能聲稱軟體已 100% 測試。在停止測試過程中需要考慮以下幾個方面 -
測試截止日期
測試用例執行完成
功能和程式碼覆蓋率達到一定程度
Bug 率降至一定水平,並且沒有發現高優先順序的 Bug
管理層決定
驗證與確認
這兩個術語對大多數人來說非常令人困惑,他們可以互換使用。下表突出顯示了驗證和確認之間的區別。
序號 | 驗證 | 確認 |
---|---|---|
1 | 驗證解決了“您是否正確構建?”的問題。 | 確認解決了“您是否構建了正確的東西?”的問題。 |
2 | 確保軟體系統滿足所有功能。 | 確保功能滿足預期行為。 |
3 | 驗證首先進行,包括檢查文件、程式碼等。 | 確認在驗證之後進行,主要涉及對整個產品的檢查。 |
4 | 由開發人員完成。 | 由測試人員完成。 |
5 | 它具有靜態活動,因為它包括收集審查、演練和檢查以驗證軟體。 | 它具有動態活動,因為它包括根據需求執行軟體。 |
6 | 它是一個客觀過程,不需要主觀決策來驗證軟體。 | 它是一個主觀過程,涉及對軟體執行情況的主觀決策。 |