陷阱7:自動化能提供百分百的測試覆蓋率
并非所有內容都可以被自動化地測試到。不可能覆蓋所有可能的輸入,所有可能的組合和路徑。
自動化測試可以增加測試的廣度和深度,但是仍然無法達到100%的測試覆蓋率,因為沒有足夠的時間或資源。
例如一個簡單的登錄界面的測試,假設我們需要測試它的密碼驗證函數的正確性,密碼長度在6到8個字符之間,每個字符可以大寫或小寫,至少包含一個數字,那么輸入的可能組合將達到2,684,483,063,360個。
即使我們可以每分鐘創建一個測試,也需要155年來完成全面的測試。因此,不可能窮盡所有可能的輸入的測試。
陷阱8:測試自動化就是錄制和回放
僅僅錄制得到的不是有效的自動化腳本。
很多項目經理仍然把測試自動化等同于使用錄制回放工具。而事實上,錄制得到的腳本通常是不可重用的腳本,腳本中充滿了硬編碼的值,這些值應該被參數化,否則腳本僅僅適用于一個測試情況,腳本還應該加入條件判斷、循環等結構,以便增強測試腳本的靈活性。
自動化測試所需要的技巧與手工測試所需要的技巧是不一樣的。
通常,你的項目經理會被那些測試工具銷售們迷惑,認為自動化的軟件測試就是簡單地按一個錄制的按鈕,產生測試腳本。而事實上并沒有那么簡單。
區分自動化測試所需要的技巧與手工測試所需要的技巧是非常重要的。最重要的是,自動化測試工程師需要掌握軟件開發技巧,沒有接受任何培訓的手工測試人員,或者沒有編程背景的手工測試人員,在實施自動化測試時會碰到很多困難。
陷阱10:忘記了測試的最終目標:找到BUG
在自動化測試中,同樣要注意把邊界值分析、等價類分析、基于風險的測試方法、挑選最合適的測試用例等技術應用起來。
通常在自動化測試過程中,我們都忙著搭建自動化框架和編寫測試腳本,但是我們往往忘記了測試的本來目的:找bug。
項目經理可能雇傭了最好的自動化開發人員來搭建框架,使用了最新最好的自動化開發技術,創建了成千上萬的自動化測試腳本。但是如果BUG仍然被遺漏了,那些本該被自動化測試腳本捕捉到的BUG,結果沒有被捕捉到,那么你的自動化測試仍然會被認為是失敗的。
小結
正在你憂心重重,擔心項目經理一步步邁向自動化測試的陷阱的時候,你看到了這篇文章,你決定拿給項目經理看看,希望他在看完這篇文章之后,對自動化測試有一個新的認識,從而把那只即將踏入陷阱的腳抽回來!