有關自動化測試的誤區 目前,有些人對自動化測試的認識存在一定的誤區,因此有必要對自動化測試樹立正確的認識,以防止對其有過高的期望。
1.自動化測試工具是“萬能”的 很多人一聽到自動化測試,就認為自動化測試工具可以完成一切測試工作,從測試計劃到測試執行再到測試結果分析,都不需要任何人工干預。顯然,這是一種理想狀態,現實中還沒有哪個測試工具有這個能力,並且將來也不會有。在現實中有關的測試設計、測試案例,以及一些關鍵的測試任務還是需要人工參與的,即自動化測試是對手工測試的輔助和補充,它永遠也不可能完全取代手工測試。
2.測試工具可適用於所有的測試 每種自動化測試工具都有它的應用範圍和可用物件,所以不能認為一種自動化測試工具能夠滿足所有測試的需求。針對不同的測試目的和測試物件,應該選擇合適的測試工具來對它進行測試。在很多情況下,需要利用多種測試工具或者開發自動化測試框架才能達到自動化測試的目的。商業和開源的測試工具能夠用來進行自動化測試,但是我們需要根據自身產品的特點,開發自動化測試框架,在框架中提供常用的測試用例,加快測試速度,達到測試用例複用,這是今後測試自動化發展的道路。
3.測試工具能使工作量大幅度減少 事實上,引入自動化測試工具不會馬上減少測試工作,相反,在更多情況下,首次將自動化測試工具引入企業時,測試工作實際上變得更艱鉅了。只有在正確合理地使用測試工具,並有一定的技術積累之後,測試工作量才能逐漸減輕。
4.測試工具能實現100%的測試覆蓋率 由於自動化測試可以增加測試覆蓋的深度和廣度,利用白盒測試工具可能實現語句全覆蓋、邏輯路徑全覆蓋等,但因為窮舉測試必須使用所有可能的資料,包括有效的和無效的測試資料,所以在有限的資源下也不可能進行100%的測試。
5.自動化測試工具容易使用 對於這一點,很多測試工程師有同樣的錯誤觀點,認為測試工具可以簡單地透過捕獲(錄製)客戶端操作生成指令碼,且指令碼不加編輯就可用於回放使用。事實上,自動化測試不是那麼簡單的,捕獲的操作是否正確,以及指令碼編輯是否合理都會影響測試結果。因此,自動化測試需要更多的技能,也需要更多的培訓。
6.自動化測試能發現大量新缺陷 發現更多的新缺陷應該是手工測試的主要目的,不能期望自動化測試去發現更多新缺陷。事實上,自動化測試主要用於發現原來的缺陷。自動化測試用於迴歸測試,而大量的新業務測試更多地還是依賴手工測試。
有關自動化測試的誤區 目前,有些人對自動化測試的認識存在一定的誤區,因此有必要對自動化測試樹立正確的認識,以防止對其有過高的期望。
1.自動化測試工具是“萬能”的 很多人一聽到自動化測試,就認為自動化測試工具可以完成一切測試工作,從測試計劃到測試執行再到測試結果分析,都不需要任何人工干預。顯然,這是一種理想狀態,現實中還沒有哪個測試工具有這個能力,並且將來也不會有。在現實中有關的測試設計、測試案例,以及一些關鍵的測試任務還是需要人工參與的,即自動化測試是對手工測試的輔助和補充,它永遠也不可能完全取代手工測試。
2.測試工具可適用於所有的測試 每種自動化測試工具都有它的應用範圍和可用物件,所以不能認為一種自動化測試工具能夠滿足所有測試的需求。針對不同的測試目的和測試物件,應該選擇合適的測試工具來對它進行測試。在很多情況下,需要利用多種測試工具或者開發自動化測試框架才能達到自動化測試的目的。商業和開源的測試工具能夠用來進行自動化測試,但是我們需要根據自身產品的特點,開發自動化測試框架,在框架中提供常用的測試用例,加快測試速度,達到測試用例複用,這是今後測試自動化發展的道路。
3.測試工具能使工作量大幅度減少 事實上,引入自動化測試工具不會馬上減少測試工作,相反,在更多情況下,首次將自動化測試工具引入企業時,測試工作實際上變得更艱鉅了。只有在正確合理地使用測試工具,並有一定的技術積累之後,測試工作量才能逐漸減輕。
4.測試工具能實現100%的測試覆蓋率 由於自動化測試可以增加測試覆蓋的深度和廣度,利用白盒測試工具可能實現語句全覆蓋、邏輯路徑全覆蓋等,但因為窮舉測試必須使用所有可能的資料,包括有效的和無效的測試資料,所以在有限的資源下也不可能進行100%的測試。
5.自動化測試工具容易使用 對於這一點,很多測試工程師有同樣的錯誤觀點,認為測試工具可以簡單地透過捕獲(錄製)客戶端操作生成指令碼,且指令碼不加編輯就可用於回放使用。事實上,自動化測試不是那麼簡單的,捕獲的操作是否正確,以及指令碼編輯是否合理都會影響測試結果。因此,自動化測試需要更多的技能,也需要更多的培訓。
6.自動化測試能發現大量新缺陷 發現更多的新缺陷應該是手工測試的主要目的,不能期望自動化測試去發現更多新缺陷。事實上,自動化測試主要用於發現原來的缺陷。自動化測試用於迴歸測試,而大量的新業務測試更多地還是依賴手工測試。