對于項目來說, 手動測試和自動化測試同等重要,都是保障軟件質量的方法。 目前大部分的項目組都是手動測試和自動化測試相結合。因為很多測試無法做成自動化,很多復雜的業務邏輯也很難自動化, 所以自動化測試無法取代手動測試。
對于軟件測試人員個人發展來說, 做自動化測試是個挑戰,也是測試人員發展的一個方向, 需要測試人員學習大量的開發知識(開發的知識真是學無止境啊)。 從長遠角度來看,自動化測試肯定是越來越吃香的。
而手動測試比較適合剛工作不久的人,手動測試最大的缺點就是技術含量低,單調乏味,容易廢人。
總的來說,手工測試勝在測試業務邏輯,而自動化測試勝在測試底層架構。
如果被測試的程序可測試性比較好, 很有必要做成自動化測試。 能做自動化的盡量做成自動化, 下面這些情形是可以做自動化的
1. 測試存儲過程。 例如用C#去測試存儲過程
2. 測試Web servies. 例如: 用SoupUI工具,或者C#,Java 去測試Web servies。
3. 界面和業務邏輯分離的系統,比如,MVC,MVP架構, 或者WPF 程序。 可以用測試腳本去測試這些程序的API。
從測試的目的分類
測試的范圍從小到大,從內到外, 從程序開發人員(單元測試)到測試人員,到一般用戶Alpha/Beta測試
測試名稱 |
測試內容 |
Unit Test 單元測試 |
在最低的功能/參數上驗證程序的準確性,比如測試一個函數的正確性(開發人員做的) |
Functional Test 功能測試 |
驗證模塊的功能 (測試人員做的) |
Integration Test 集成測試 |
驗證幾個互相有依賴關系的模塊的功能 (測試人員做的) |
Scenario Test 場景測試 |
驗證幾個模塊是否能完成一個用戶場景 (測試人員做的) |
System Test 系統測試 |
對于整個系統功能的測試 (測試人員做的) |
Alpha 測試 |
軟件測試人員在真實用戶環境中對軟件進行全面的測試 (測試人員做的) |
Beta 測試 |
真實的用戶在真實的用戶環境中進行的測試, 也叫公測 (最終用戶做的) |
原文轉自:http://www.anti-gravitydesign.com