探索式測試的思維模型
上一章介紹了探索式測試的定義。在實際項目的測試執(zhí)行過程中,讀者是否曾遇到如下的幾個現(xiàn)象:
測試人員按照一個測試用例來執(zhí)行測試,得到的程序輸出與預(yù)期輸出不一致。
測試人員判斷程序的行為并不是缺陷,但根據(jù)新的輸出想到了新的測試思路。
測試人員根據(jù)新的測試思路采用不同的輸入并檢查程序輸出。
測試人員再次根據(jù)新的測試結(jié)果選擇新的輸入,反復(fù)地探索下去,最終發(fā)現(xiàn)了一個程序缺陷。
測試人員發(fā)現(xiàn)該缺陷的測試思路或測試用例并沒有出現(xiàn)在最初的測試設(shè)計或測試用例文檔中。
相信有很多讀者熟悉上述的情景,也許有些人認(rèn)為這是測試設(shè)計的遺漏,但筆者要告訴讀者的是,千萬不要懷疑你的測試設(shè)計能力,因為這是非常正常的現(xiàn)象。由 于我們還沒有真正深入地了解產(chǎn)品,不可能在測試設(shè)計的時候想到所有測試場景,且在需求分析階段不可能評審到所有的隱含需求,所以最初的測試設(shè)計并不能捕獲 程序的所有缺陷。為了發(fā)現(xiàn)盡可能多的缺陷,測試人員需要在測試過程中,根據(jù)測試反饋持續(xù)地優(yōu)化測試模型、調(diào)整測試設(shè)計。這是一個研究、實踐和探索的過程。 了解探索式測試的思維將有助于測試人員更有效地測試。
根據(jù)測試專家Erik Petersen對于探索式測試的理解,筆者抽象出探索式測試的思維模型 CPIE(Collation,Prioritization,Investigation,Experimentation),如圖2.1所示。該測試 模型包含迭代的4個階段:整理、排序、調(diào)查和實驗。
圖2.1 探索式測試的思維模型
整理(Collation):盡最大可能收集關(guān)于被測產(chǎn)品的信息,去了解和理解它們。
排序(Prioritization):確定所有測試任務(wù)的優(yōu)先級。
調(diào)查(Investigation):對即將執(zhí)行的測試任務(wù)進(jìn)行仔細(xì)的分析并確定測試輸入和預(yù)期輸出。
實驗(Experimentation):實際地去測試,驗證我們的預(yù)測是否正確,檢查我們在整理階段獲取到的信息是否正確。根據(jù)實驗結(jié)果,測試人員將收集更多的信息,并調(diào)整測試任務(wù)的優(yōu)先級。
對于探索式測試的思維過程,測試專家 James Bach提出了如圖2.2所示的思維模型。該模型包含一組啟發(fā)式問題,以推動測試人員在知識(Knowledge)、分析(Analysis)、實驗 (Experiment)和測試故事(Testing Story)上深入探究。
知識:掌握產(chǎn)品特性、開發(fā)技術(shù)、測試技術(shù)和領(lǐng)域規(guī)則等測試需要的知識。
分析:分析產(chǎn)品風(fēng)險、測試覆蓋、測試方法、測試先知 和產(chǎn)品缺陷等測試相關(guān)因素。
實驗:配置、操作、觀察和評估被測產(chǎn)品。
測試故事:用測試計劃、測試報告和可工作的產(chǎn)品等組成測試報告,以準(zhǔn)確地反映測試狀態(tài)和產(chǎn)品質(zhì)量。
圖2.2 探索式測試的思維過程
從圖2.1和圖2.2可以看出James Bach和Erik Petersen的觀點都強(qiáng)調(diào)通過實驗(Experiment)來持續(xù)改進(jìn)測試設(shè)計。他們認(rèn)為瀑布式的測試設(shè)計和用例編寫并不會產(chǎn)生優(yōu)質(zhì)的測試設(shè)計,測試 人員還需要在測試執(zhí)行的時候持續(xù)擴(kuò)展新的測試思路,完善測試設(shè)計。在探索式測試過程中,測試學(xué)習(xí)、測試設(shè)計、測試執(zhí)行和測試評估是互相支持和驅(qū)動的活動。第4章將講述幾個案例來說明探索式測試這種迭代優(yōu)化的測試風(fēng)格。
posted on 2012-09-19 09:37 順其自然EVO 閱讀(527) 評論(0) 編輯 收藏 所屬分類: 敏捷測試