探索式軟件測(cè)試的四個(gè)類型、探索式軟件測(cè)試一共分為自由式探索式測(cè)試、基于場(chǎng)景的探索式測(cè)試、基于策略的探索式測(cè)試和基于反饋的探索式測(cè)試。下面將詳細(xì)介紹4種類型的應(yīng)用場(chǎng)景。

  ■一:自由式探索式測(cè)試

  自由式探索式測(cè)試指的是對(duì)一個(gè)應(yīng)用程序的所有功能,以任意次序、使用任何如數(shù)進(jìn)行隨機(jī)探測(cè),而不考慮哪些功能是否必須包括在內(nèi)。自由式測(cè)試沒有任何規(guī)則和模式、只是不停的去做。很不幸,很多人認(rèn)為所有的探索式測(cè)試都是自由式的,從長(zhǎng)遠(yuǎn)的觀點(diǎn)來(lái)看,這種看法嘀咕了探索式測(cè)試技術(shù)的能力,我們?cè)陔S后將看到這類測(cè)試的一些變種。

  一個(gè)自由測(cè)試用例可能會(huì)被選中成為一個(gè)快速的冒煙測(cè)試,用它來(lái)檢查是否會(huì)找到重大的崩潰或者嚴(yán)重的軟件缺陷,或是在采用先進(jìn)的技術(shù)之前通過(guò)它來(lái)熟悉一個(gè)應(yīng)用程序。顯然,自由式探索式測(cè)試無(wú)需也不應(yīng)該進(jìn)行大量的準(zhǔn)備規(guī)則。事實(shí)上,它更像是“探索”而不是“測(cè)試”,所以我們應(yīng)當(dāng)相應(yīng)的調(diào)整對(duì)它的期望值。

  自由式測(cè)試不需要多少經(jīng)驗(yàn)或者信息。但是,同以下提到的探索式技術(shù)相結(jié)合后,它將成為一個(gè)非常強(qiáng)大的測(cè)試工具。

  ■二:基于場(chǎng)景的探索式測(cè)試

  基于場(chǎng)景的探索式測(cè)試和傳統(tǒng)的基于場(chǎng)景的測(cè)試有類似之處。兩者都涉及到一個(gè)開商店,是用戶故事或者是文檔化得端到端場(chǎng)景的開始之處,那也是我們所期望的終用戶開始執(zhí)行應(yīng)用程序的地方。這些場(chǎng)景可以來(lái)自用戶研究、應(yīng)用程序、以前版本的數(shù)據(jù)等,并作為腳本用于測(cè)試軟件。探索式測(cè)試對(duì)傳統(tǒng)場(chǎng)景測(cè)試的補(bǔ)充吧腳本的應(yīng)用范圍擴(kuò)大到了更改、調(diào)查和改變用戶執(zhí)行路徑的范疇。

  使用場(chǎng)景作為指導(dǎo)的探索式測(cè)試人員經(jīng)常會(huì)修改他敢興趣的輸入或者是追尋一些并沒有包括在腳本中的潛在副作用。不過(guò),由于終的不表是完成給出的場(chǎng)景,這些測(cè)試上的彎路、終總是會(huì)回到腳本文件記載的用戶主要執(zhí)行路徑。

  ■三:基于策略的探索式測(cè)試

  將自由式測(cè)試探索式與具有測(cè)試?yán)鲜值慕?jīng)驗(yàn)、技能和感知融合在一起,成為基于策略的探索式測(cè)試。它屬于自由式的探索,只是他是在現(xiàn)有的錯(cuò)誤搜索技術(shù)下引導(dǎo)完成的;诓呗缘奶剿魇綔y(cè)試應(yīng)用所有的已知技術(shù)(如邊界值分析或組合測(cè)試)和未知的本能(如異常處理往往容易出現(xiàn)軟件缺陷),來(lái)指導(dǎo)測(cè)試人員進(jìn)行測(cè)試。

  這些已知的策略是基于策略的探索式測(cè)試成功的關(guān)鍵,存儲(chǔ)的測(cè)試知識(shí)越豐富,測(cè)試會(huì)更有效率。這些策略緣于積累下來(lái)的知識(shí),它們指導(dǎo)軟件缺陷隱藏在哪里,如何綜合人工輸入數(shù)據(jù),那些代碼路徑常常出現(xiàn)故障。

  基于策略的探索式測(cè)試結(jié)合了測(cè)試?yán)鲜值慕?jīng)驗(yàn)和探索型測(cè)試人員的隨機(jī)性。

  ■四:基于反饋的探索式測(cè)試

  基于反饋的探索式測(cè)試緣于自由式測(cè)試,但是隨著測(cè)試歷史的形成,測(cè)試人員們會(huì)利用反饋來(lái)指導(dǎo)今后的探索!案采w”是典型的例子。一名測(cè)試人員通過(guò)咨詢那些覆蓋指標(biāo)(代碼覆蓋、用戶界面覆蓋、特性覆蓋、輸入覆蓋或者其中的某一些組合)來(lái)選中新的測(cè)試用例,以使這些覆蓋指標(biāo)得以提高。覆蓋指標(biāo)只是收錄反饋信息的標(biāo)志之一。我們也會(huì)看其他標(biāo)志,如代碼改動(dòng)數(shù)量和軟件缺陷密集程度等。

  基于反饋的探索式測(cè)試時(shí)一種“上一次測(cè)試”:在上一次我根據(jù)應(yīng)用程序的后狀態(tài)選了每某一個(gè)輸入之后、下一次我會(huì)選中另外一個(gè)輸入。或者是,在上一次遇到這個(gè)界面時(shí)我用A屬性,這一次我會(huì)用B屬性。

  基于反饋的探索式測(cè)試工具是非常有價(jià)值的,它可以是測(cè)試人員保存、搜索測(cè)試歷史并據(jù)此采取實(shí)時(shí)行動(dòng)。不幸的是這樣的工具很少。