什么是“詭異”的測試腳本呢?就是這個腳本在多次運行的情況下,測試結果并非每次都是一致,例如運行10次,有9次是通過的,有1次是失敗的,那么這個測試究竟算是通過呢,還是失敗呢?答案是:It depends。
在某些情況下,那一次失敗,的確抓住了程序的某個BUG。原因可能是:
● 程序在運行一段時間后會出錯
● 程序會出錯,但錯誤不是每次都發生
● 在某些特殊輸入下把錯誤暴露出來
但是在某些情況下,那1次失敗的測試其實只是告訴測試的人,你寫了一個“詭異”的測試腳本,實現了一個詭異的測試(Flakey Test)。不幸的是,導致一個自動化測試的行為變得詭異的原因實在太多太多。下面是一些常見的:
● 競爭條件
● 測試數據選擇不當
● 測試的前置條件不受控
當發現一個詭異的自動化測試腳本,必須要下決心去改掉它:
● 使用一些常見有效的用例設計模式,例如“準備,執行,斷言(Arrange, Act, Assert)”
● 使用MOCK技術
總之,當出現一個詭異的測試(Flakey Test)的時候,總是很郁悶的,但是為了以后不要遇到更大的郁悶,我們要盡早發現并且改掉那些詭異的測試。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/