軟件測試中什么是探索性測試?
探索性軟件測試是一種強大和有趣的測試方法。在某些情況下,它比劇本化的測試更高效。其實,每個測試員都在不知不覺地在用到探索性測試方法,但是很少有人學習和重視這種方法�,F在是時候認識一下探索性測試方法了:科學的實時的思考。
Concurrent Test Design and Execution
同時設計測試和執行測試
對探索性測試的最直白的定義是:同時設計測試和執行測試。這與劇本化的測試方法相反(預先定義好測試步驟)。探索性測試不像劇本化的測試,不會預先定義, 不會嚴格按照計劃開展。然而,即使是精確定義的測試步驟也會有很多有趣的細節遺留給測試員(例如:在鍵盤上敲擊的速度、怎樣的行為才認為是錯誤);即使是 方式非常自由的探索性測試也會對測試產品的哪些部分作出規定,或規定采用什么測試策略。
好的探索性測試者會把測試的想法寫下來,并應用在后來的測試循環中。這些記錄下來的東西看起來有點像測試腳本。
探索性測試有時候會與即興測試(ad hoc testing)混淆。即興測試通常是指臨時準備的、即席的bug搜索的測試過程。從定義可以看出,誰都可以做即興測試。由Cem Kaner提出的探索性測試,相比即興測試是一種精致的、有思想的過程。
Balancing Exploratory Testing With Scripted Testing
平衡探索性測試與劇本化測試
如果做到了下一項測試被我們所做的上一測試的結果所影響,那么我們就是在做探索性測試。當我們在測試循環之前不知道應該運行什么測試時,或者我們還沒機會創建測試,我們應該更多地探索。
如果我們正在執行劇本化的測試的時候,新的信息提示我們可以有更好的測試策略,我們應該轉成探索模式(例如發現了新的錯誤需要進行調查)。
相反地,當我們非常清楚我們要做什么測試以及怎樣做時,我們應該采取劇本化的測試方法。新的測試相對沒那么重要,執行測試的效率和可靠性的需要使得測試值得劇本化,值得我們把它們文檔化并維護。
探索性的測試結果與劇本化的測試并沒有根本性的區別,兩種測試方式是完全兼容的。像Nortel和微軟這樣的公司通常在項目中兩種方法都使用。
Why Do Exploratory Testing?
為什么要做探索性測試?
在有效的探索性測試循環管理中的重復主題是:測試、測試策略、測試報告和測試任務。測試劇本化的方式企圖將測試過程機械化,從測試設計者的腦袋中把測試的思想抽取出來并放到紙面上。這種測試方法的好處很多。
但是探索性測試者持這樣的觀點:把測試劇本化地寫下來并按照它們來測試會破壞快速尋找重要問題這一智力的過程。這一智力的過程越豐富、越流暢,我們越有機 會在正確的時間執行正確的測試。這就是探索性測試的威力所在:測試過程的豐富性只是受限于我們的思維的廣度和深度,還有我們對測試產品的洞察能力。
劇本化的測試是有它存在的意義的,我可以想象測試的效率和可重復性是那么的重要,所以我們應該劇本化或自動化測試。在測試環境間歇有效的情況下,例如 C/S結構的項目,只有幾個配置的服務器有效并且要在測試和開發之間共享。這種情形下我們應該把測試小心仔細地提前劇本化,以便能充分利用有限的測試執行 時間。
探索性測試在復雜的測試情況下會特別有用,對產品了解甚少的情況下會特別有用,或者作為準備劇本化測試的一部分測試�;疽巹t是:應該在你準備進行的下一次測試內容并不明確的情況下進行探索性測試,或者你希望把這些不明確的因素明確了。
文章來源于領測軟件測試網 http://www.kjueaiud.com/