在軟件測試行業中,爭議最大的話題是「更好的是手動測試仍是自動化測試」。儘管自動化測試最常談論流行語,而且正在慢慢主導測試領域,手動測試的重要性不可忽視。編程
在本文中,將探討手動測試和自動化測試之間的更深差別。安全
在一個內容不少且測試階段運行了很長時間的項目中,自動化測試是理想的選擇,由於併發
可是,在測試階段僅運行幾周的小型項目中,手動測試更爲可取,由於框架
使用自動測試來測試應用程序的用戶界面中的交互性已廣受讚揚。可是,這不該該是一種幫助,而是能夠提升您的UI測試功能。UI中的自動化測試工具經過檢查元素的位置,對齊方式以及元素與容器之間的距離來工做。測試腳本中的一個很是小的錯誤將致使這樣的對齊方式產生誤報。工具
在用戶驗收測試期間,手動測試人員的直覺很是重要。有經驗的測試人員能夠觀察到任何看起來未對齊或不符合要求的對象或元素。性能
對於持續時間較長的測試階段,手動執行測試時極可能會出現未檢測到的錯誤。每次修復一個小的缺陷時,都須要對整個應用程序進行測試,以確保不會發生任何其它錯誤。這個過程很枯燥很累人,並且單調,測試人員在進行重複測試時每每會漏掉一些小的但關鍵的缺陷。測試
自動化測試涉及腳本的執行,這些腳本一次又一次地對應用程序進行重複測試。因爲機器不會有感受,所以若是腳本編寫正確,則一次又一次地執行測試時,測試準確性會更加具備優點。命令行
迴歸測試是一個階段,涉及不斷的代碼更改和測試應用程序如何響應頻繁的更改。手動執行迴歸測試時:對象
使用自動化測試時:ip
除了應用程序的複雜性和項目持續時間外,應用程序的性質還決定了哪一種測試更好地對其進行測試。
對於銀行應用程序,許多場景須要測試。喜歡,
對於這類狀況,執行編寫良好的腳本時,測試能夠更快地完成。因爲大多數測試涉及相同場景但具備不一樣的操做或者不一樣的數據。所以,手動測試更好。
對於小型Web應用程序或小型企業的頁面,應用程序的外觀和用戶體驗相當重要。在這種狀況下,須要根據人類的直覺進行測試。測試人員應該從最終用戶的角度進行思考,並測試應用程序以發現可能會妨礙用戶體驗的錯誤或缺陷。因爲還沒有發現能夠代替人類本能的自動化測試工具,所以對於這種狀況,手動測試更爲可取。
自動化程序能夠迅速執行多個測試用例。組織更加依賴於自動化測試,而手動測試一般被認爲是浪費人力和時間。可是,它是測試的基礎,而且要編寫自動測試腳本,須要經驗豐富的手動測試人員。儘管對於負載測試或迴歸測試而言,自動測試更爲可取,但對於用戶驗收測試或探索性測試而言,手動測試仍將佔上風。