1. 按測試階段
1.1 單元測試
單元測試是開發者編寫的一小段代碼,用於檢測被測代碼的一個很小的、很明確的功能是否正確,通常而言,一個單元測試是用於判斷某個特定條件 (或場景)下某個特定函數的行爲。
簡單來說,單元測試對軟件組成單元進行測試(對代碼進行測試)。
目的 | 檢驗軟件基本組成單位的正確性。 |
對象 | 軟件設計的最小單位:模塊,所以又稱爲模塊測試。 |
階段 | 編碼後或編碼前(TDD:測試驅動開發) |
人員 | 白盒測試工程師或開發工程師 |
依據 | 代碼和註釋 + 詳細設計文檔 |
方法 | 白盒測試 |
內容 | 模塊接口測試、局部數據結構測試、路徑測試、錯誤處理測試、邊界測試 |
1.2 集成測試
集成測試 也稱聯合測試、組裝測試,將程序模塊採用適當的繼承策略組裝起來,對系統的接口及集成後的功能進行正確性檢測的測試工作。
目的 | 檢驗軟件單位之間的接口是否正確 |
對象 | 模塊間的接口 |
階段 | 一般在單元測試之後進行 |
人員 | 白盒測試工程師或開發工程師 |
依據 | 單元測試的模塊 + 概要設計文檔 |
方法 | 黑盒測試與白盒測試相結合 |
內容 | 模塊之間數據傳輸、模塊之間功能衝突、模塊組裝功能正確性、全局數據結構、單模塊缺陷對系統的影響 |
1.3 系統測試
將軟件系統看成是一個系統的測試。包括對功能、性能以及軟件所運行的軟硬件環境進行測試。時間大部分在系統測試執行階段,包括迴歸測試和冒煙測試。
目的 | 看成一個系統去檢驗 |
對象 | 整個系統(軟、硬件) |
階段 | 集成測試通過之後 |
人員 | 黑盒測試工程師 |
依據 | 需求規格說明文檔 |
方法 | 黑盒測試 |
內容 | 功能、界面、可靠性、易用性、性能、兼容性、安全性等 |
1.4 迴歸測試
迴歸測試是指修改了舊代碼後,重新進行測試確認修改沒有引入新的錯誤或導致其他代碼產生錯誤。
自動迴歸測試將大幅度降低系統測試、維護升級等階段的成本。
在整個軟件測試過程中佔有很大的工作量比重,軟件開發的各個階段都會進行多次迴歸測試。隨着系統的龐大,迴歸測試的成本越來越大,通過選擇正確的迴歸測試策略來改進迴歸測試的效率和有效性是很有意義的。
1.5 冒煙測試
對象 | 每一個新編譯的需要正式測試的軟件版本 |
目的 | 確認軟件基本功能正常,可以進行後續的正式測試工作 |
人員 | 版本編譯人員 |
冒煙測試一般在開發人員開發完畢後,給測試人員來進行測試時,測試人員會先進行冒煙測試,保證基本功能正常,不阻礙後續的測試。
1.6 驗收測試
驗收測試是部署軟件之前的最後一個測試操作。它是技術測試的最後一個階段,也稱爲交付測試。
目的 | 確保軟件準備就緒,按照項目合同、任務書、雙方約定的驗收依據文檔,向軟件購買都展示該軟件系統滿足原始需求 |
對象 | 整個系統(包括軟硬件) |
階段 | 系統測試通過之後 |
人員 | 主要是最終用戶或者需求方 |
依據 | 用戶需求、驗收標準 |
方法 | 黑盒測試 |
內容 | 功能、界面、可靠性、易用性、性能、兼容性、安全性等 |