在我還沒有踏入測試領域的時候,就知道了自動化測試與手工測試的爭論,現在,我就以我們公司的項目為例,講述一下我認知的手工測試與自動化測試。
因為保密原則,不方便透漏項目的名字,就以項目表示了。我的工作是測試web端界面+后台測試,因為公司不是很大,測試流程是很不規范,請不要介意。
首先說明,web端開發,我們公司沒有專業人員,就外包了出去,測試還是我們這邊來。
先說web端測試:
(1)web端在UI布局、整體協調性、字體是否有錯誤等方面,是只能用手工測試,沒得選。(2)軟件整體改變較大,這就造成了自動化時,時間成本太大,這個是很多公司所不能接受的。(3)測試的內容方面,邏輯性強,復雜度高,單純的自動化測試用例很難檢測出來問題。(4)公司的測試人手是否充足,向我們公司,原先三個測試,現在就我一個。 根據我們的項目,阻礙自動化最大的就是第二、第三點。
我們開發的項目,在開發過程中,客戶會不時的檢查,結果就是以前軟件開發流程中的軟件設計部分,在客戶眼中,根本形同虛設,客戶說這里需要改,那里需要添加,是常有的事(小公司的悲哀)。我記得剛開始測得時候,項目是四個頁面,現在已經添加到七個了,而且頁面里的功能也在不斷的改變,在有限的時間內,跟本沒有充足的時間的去做自動化。而第三點,也是一個很關鍵的因素。測試,就是要檢測出問題,不分手工與自動化,能測出bug就是好方法,而我們的項目,各個模塊之間連接性很強,問題的對錯沒有硬性標准,只是在七八個條件下去分析是否合理,這就造成在編寫腳本的時候耗時過高,還不能確定問題的對錯,很不適合自動化。 也就是說,我們的項目在web端測試方面,整體都是以手工測試為主,只是在定位bug的時候,編寫了大量的腳本輔助web端測試。
后台測試就簡單多了,純數據,而且后台的測試,也是為web端測試服務。很多web端不能確定的問題,都會拿到后台直接進行測試,測試過程也是linux命令與shell腳本,這個可以划撥到自動化測試了。
當然,不是說自動化測試不好,而是要看各個公司的項目情況了,剛好,我們的項目就屬於那種需要手工測試大於自動化測試的項目。加上我在上家公司測試web端項目的經歷,一個web端項目,只有百分之三十左右的代碼是穩定的,可以用自動化,剩下的都是版本更新迭代很快的,特別是在中小型公司,代碼穩定部分會更少。這里不是否定自動化測試,只是說在web端測試,還是是手工測試為主,自動化測試為輔。同時自動化測試,在編寫腳本方面,也是一件不容易的事,阻止了一份人在測試的時候,會不自覺的繞開自動化去選擇手工測試。
對於項目的測試工作,選擇用手工測試還是自動化測試?其實不用選,是都需要,只是看誰為主,誰為輔。手工與自動化,沒有貴賤高低,只有適用不適用。
