本文章轉載于搜狗測試
探索測試是敏捷世界中一種重要的測試方式。它是用戶故事測試和自動化回歸的重要補充。
舉個例子
【例】在測試PC瀏覽器地址欄下拉菜單的過程中,發現過一個bug:使用老板鍵收起瀏覽器時,下拉菜單會殘留在桌面。
【進一步思考】
PC瀏覽器里和下拉菜單類似的控件會不會有同樣的問題?
【深入驗證】
列舉其他類似的下拉菜單,進行同樣的測試, 發現搜索欄下拉菜單具有同樣的bug
在這個過程中,我們已經跳出了單純對地址欄功能的測試,同樣也跳出了測試用例,其實也就是跳出了用戶故事測試。
一些概念
1.探索測試本身不是一種測試技術,相反,它是一種可以應用于任何測試技術的方式或態度。
2.它不是隨機測試,不是在鍵盤前坐下并敲擊。
3.探索測試從需要探索某個功能的哪些方面開始。需要認真的思考、分析結果并將其同期望的或相似的系統比較。在測試時遵循“嗅(smell)”是一個重要的部分。
4.測試人員要在探索測試的過程中做記錄,這樣可以重新發現問題,能做更多的研究。
探索測試的關鍵是測試人員如何應對變化的情況。探索測試和設計好的測試方式是一個整體中相反的兩極。
探索性測試強調測試過程中要有更多的發散思維,這也是與保守測試方式的最大區別。
下圖展示了一個發散思維的過程,探索性測試強調發散,但并不是盲目地發散,在適當的時候還要收斂回來。
例如,當發覺在一個測試的分支路徑上已經花了很長時間也沒有找到問題的答案時,則能夠考慮先放棄那個區域的探索,因為還有一個主線的測試任務。
探索測試的基本過程
探索性測試的價值
1、探索性測試可以用來找到深層次的BUG。
因為探索性測試人員是優秀的觀察者,他們觀察不正常和不期望的結果,并進行認真的思考,這種狀態和按部就班的執行用例是不一樣的,因此,它更容易發現一些隱藏的很深的問題。
2、探索性測試可以加深測試人員對被測系統的了解。
探索性測試強調對被測試對象的學習,并且是在測試過程中的學習,并在此基礎上設計測試,因此,它使測試人員更容易深入的理解被測系統。