四、隨機(jī)測(cè)試:猴子和大猩猩

  有一類測(cè)試工具不是為幫助執(zhí)行或者自動(dòng)執(zhí)行測(cè)試用例而設(shè)計(jì)的,其目標(biāo)是模擬用戶可能的操作,此類自動(dòng)化工具稱為測(cè)試猴子(testmonkey)。

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

  1、笨拙的猴子

  簡(jiǎn)單直接的測(cè)試猴子是笨拙的猴子:只是隨機(jī)地單擊鼠標(biāo)或者敲擊按鍵。

  不停重復(fù)和使用笨拙的猴子可能會(huì)暴露內(nèi)存泄漏等軟件缺陷。

  2、半聰明的猴子

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

  當(dāng)猴子發(fā)現(xiàn)軟件缺陷時(shí),只需查看日志文件,找出在失敗前猴子做了些什么。

  技巧:另外一個(gè)解決方法時(shí)用攝像機(jī)錄下屏幕上的內(nèi)容。當(dāng)發(fā)現(xiàn)軟件出現(xiàn)故障時(shí),倒回去重新看看。

  3、聰明的猴子

  不于查找崩潰缺陷,同時(shí)還查看數(shù)據(jù)、檢查操作結(jié)果、找出其與預(yù)期結(jié)果的差別。

  五、使用測(cè)試工具和自動(dòng)化的實(shí)質(zhì)

  記住,測(cè)試自動(dòng)化不是的。如果正確規(guī)劃和執(zhí)行的話,工具和自動(dòng)化可以使測(cè)試效率大大提高并且能發(fā)現(xiàn)其它方式不能發(fā)現(xiàn)的缺陷。

  然而,如果自動(dòng)化和工具步入歧途,會(huì)導(dǎo)致無數(shù)的自動(dòng)化測(cè)試的努力被放棄,并且使項(xiàng)目成本大大增加。

  考慮以下因素:

  1)軟件變更;

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

  3)驗(yàn)證難以實(shí)現(xiàn);

  4)容易過分依賴自動(dòng)化;

  5)不要花費(fèi)太多時(shí)間使用達(dá)不到測(cè)試軟件目的的測(cè)試工具和自動(dòng)化;

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

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