軟件測試:比較手工測試和自動化測試
爭論的焦點在于何時選取哪種測試方法,以及何種情況下手工測試更合適或自動化測試更合適。有種觀點認為自動化測試更適合回歸測試和API測試,手工測試更 適合做驗收測試和GUI測試。我覺得這種簡單化的看法使我們偏離了真正的問題。
覺得問題的本質與API還是GUI,回歸還是功能都沒有關系。 我們應該從代碼是業務邏輯相關還是基礎性代碼出發。因為這正是這點區分了手工測試和自動化測試。
業務邏輯代碼對應投資人或用戶掏錢買的那些功 能。是實際完成工作的?;A性代碼則確保業務邏輯代碼運行在合適的環境中?;A性代碼使得業務邏輯代碼可以用于多用戶,更安全,本地化等等。這是支撐業務 邏輯干活的平臺。
很明顯,兩種代碼都要測試。直覺上,手工測試更適合測業務邏輯,因為這部分人類學習起來要比交給自動化容易。覺得這個直覺太 對了。
手工測試者最適合成為領域專家,他們可以把相當復雜的業務邏輯存在最強力的測試工具——大腦里。而且手工測試速度比較慢,測試者就有時 間可以觀察分析細微的邏輯問題。速度雖然慢些,但是比較容易。
自動化則勝在測試底層的細節。自動化可以測試崩潰、掛起、錯誤返回值、返回碼、 異常和內存使用等等。速度快但是也困難些。想對業務邏輯進行自動化測試比較困難,風險也大。事后想想,我覺得Vista就有這個問題,太依賴自動化測試 了。如果能加多一些手工測試人員,效果會更好。
所以不管你是要測API還是GUI,回歸測試還是頭次測試,所選擇的測試方法取決于你想要發現 什么樣的bug。當然會有例外,但總的來說,手工測試勝在測試業務邏輯,而自動化測試勝在測試底層架構。
這就是個人的觀點,根據具體情況選擇 合適的方法。(編輯:)