手動測試無法被取代的12個重要理由
發布時間: 2017-07-04
有些開發團隊十分推崇自動化測試,不可否認,自動化測試在回歸測試和檢查冗余組件方面不失為安全有效的方法。但是我們更應該堅信探索性的手動測試。雖然自動化測試變得越來越復雜,但這始終需要人工驅動。實際上,自動化測試通常是從最初的手工工作中轉換過來的。這就是為什么開發團隊需要手動測試人員,不管是外包還是內部測試。
1.許多測試必須是手動的
用戶體驗可說是進行手動測試非常重要的原因。我們可以通過用戶得反饋得到寶貴的意見,即便是批評。因為在產品推出的時候,用戶不僅關注功能性,界面UI的第一印象也非常重要,任何一個細節都逃不過用戶的眼睛。雖然煙霧測試可以實現自動化,人們還是傾向于人工測試。顯然,由測試人員在你的應用程序中搜索查看是否已經準備好進行核心測試要比編寫腳本來進行自動測試要快得多。況且早期階段的測試腳本不會持續太久,只有人工才能在針對多個區域的產品中重復檢查語言使用和其他關鍵本地化因素。
2.自動化測試授權人員
就像駕車有時需要急剎車一樣,自動化測試同樣不能缺少人的監管。自動化測試軟件節省了重復工作的時間,而手工測試工作可以圍繞創造性的實例展開。自動化測試最成功的用途并不是試圖使其行為像人類一樣,而是通過創建新的、獨特的腳本來提高整體產品覆蓋率。
3.bug總出現在你最不經意的地方
即使在測試特定的產品案例時,測試人員依然可以找到他們沒有預料到的bug。這可不是一項小工程!在很多項目中,大多數bug的發現其實是在測試人員尋找其他問題的時候發現的。自動化測試無法發現沒有編程的錯誤。
4.人工測試具有創造力和分析能力
雖然我們總在抱怨人類能力的不足,比如為什么我們不能飛?但人工作業確實有自己的優點。測試人員帶著自己的技術和經驗來制定策略,開始每一個新工程。在這個層面上,人類的分析能力和速度是無法言喻的。
5.測試腳本的快速重寫
在不斷的反饋、快速反應的環境下使用測試腳本意味著對產品流、UI甚至特性的更改。幾乎每次更改都要重新編寫一個Sprint自動化腳本。新的更改也會影響回歸測試的腳本,因此即使是典型的自動化測試也需要進行大量快速的更新。這之中大量的工作需要開發團隊考量應該在何處投放更多資源。
6.自動化對于小型項目來說過于昂貴
自動化軟件需要你花錢來支付,而且由于腳本編寫和重寫以及設置和處理時間,你的維護和管理成本會更高。對于長期項目或大型產品來說,高成本的付出是值得的。但對于短平快的小項目來說,實施自動化測試是對時間和金錢的巨大浪費。在計算自動化采購的潛在投資回報率時,還必須考慮增加工時的因素。
7.自動測試更適合用于最后沖刺
我們希望技術能為我們做什么和我們實際能用它做什么是有區別的。隨著腳步不斷的更新,很難保證自動化測試的準確性。用原腳本測試修補后的程序是毫無意義的。成功的自動化測試很早就開始了,而且從來沒有在更新環節上落后過。如果開發團隊沒有資源來實現這一目標,最好不要嘗試(除非團隊正在進行長期投資以改進流程)。
8.人工測試人員更了解用戶習慣
測試人員在漫長的工作過程中積累了豐富的經驗,誰也不想浪費這些經驗和知識。因為人類測試人員通常像一個用戶,他們能提供的價值遠遠超過了產品當前性能的所及。測試人員還可以在交付產品和反饋建議中引導產品朝新的方向改進。
9.好的測試是可重復的,也是可變的
成功的測試有兩個因素:重復和變化。自動化測試對于持續檢查過程非常有用,但這還不夠。你還需要演進,還有一些未知的變化。結合看來,這兩個因素會使產品覆蓋率提高的機會更大。
10.移動設備的測試更為復雜
設備兼容性和交互不能用自動腳本覆蓋。像在離開wifi環境和再次連接時,同時運行幾個app時,設備的限制、接收電話和消息都會潛在破壞應用程序的性能。更改滑動方向和用手指輕敲的次數也會影響移動應用程序。如果你想讓觸摸屏手機減少宕機的次數,進行手動測試是非常重要的。
11.手動測試的通過率更高
在測試中通過與否是需要考量的,我們要求自動測試軟件一邊模擬使用,一邊呈現所有的測試結果。但對于大多數項目來說,可能發生更復雜的情況。Web表單就是這方面的一個主要例子。一個自動化腳本可以很容易地輸入到一個網頁,但它不能實現兩重檢測,如果一個用戶定位離開再返回,測試的數據將被保存。至于提交的速度,在人工測試時,測試員會注意到Web表單提交的速度是否過慢,特別是當其他網站高速加載的時候。但速度并不能說明測試的通過與否。
12.手動測試可以快速重現客戶發現的錯誤
雖然你希望在部署之前捕捉到所有bug,但你一定也希望客戶能把一些錯誤和問題直接反饋到你。手動測試人員可以使用客戶提交的信息提交錯誤報告,這對工程師是有幫助的。通過手動測試,可以縮短從客戶提出問題到修復之間的時間。自動測試雖然很強大,但手動測試能提供的服務和優勢也是不可取代的。
上一篇: 拯救你的舊代碼庫,不得不看的11條真理!