四、隨機測試:猴子和大猩猩

  有一類測試工具不是為幫助執行或者自動執行測試用例而設計的,其目標是模擬用戶可能的操作,此類自動化工具稱為測試猴子(testmonkey)。

  測試猴子的來源:如果讓一百萬只猴子在一百萬只鍵盤上敲一百萬年,從統計的角度上講,它們終可能寫出莎士比亞話劇AdventuresofCuriousGeorge(好奇喬治歷險記)等巨著。

  1、笨拙的猴子

  簡單直接的測試猴子是笨拙的猴子:只是隨機地單擊鼠標或者敲擊按鍵。

  不停重復和使用笨拙的猴子可能會暴露內存泄漏等軟件缺陷。

  2、半聰明的猴子

  在笨拙的猴子的基礎上加上日志記錄,將猴子的所有操作記錄到一個文件中。

  當猴子發現軟件缺陷時,只需查看日志文件,找出在失敗前猴子做了些什么。

  技巧:另外一個解決方法時用攝像機錄下屏幕上的內容。當發現軟件出現故障時,倒回去重新看看。

  3、聰明的猴子

  不于查找崩潰缺陷,同時還查看數據、檢查操作結果、找出其與預期結果的差別。

  五、使用測試工具和自動化的實質

  記住,測試自動化不是的。如果正確規劃和執行的話,工具和自動化可以使測試效率大大提高并且能發現其它方式不能發現的缺陷。

  然而,如果自動化和工具步入歧途,會導致無數的自動化測試的努力被放棄,并且使項目成本大大增加。

  考慮以下因素:

  1)軟件變更;

  2)人眼和自覺是不可替代的;

  3)驗證難以實現;

  4)容易過分依賴自動化;

  5)不要花費太多時間使用達不到測試軟件目的的測試工具和自動化;

  6)編寫宏、開發工具和編制猴子都屬于開發工作;

  7)某些工具是入侵式的。