什么是探索性測試?

1 評論 21530 瀏覽 9 收藏 6 分鐘

1、探索性測試的定義

探索性測試(ET)是敏捷世界里的一種重要測試方法,作為一個研究性的工具,它是用戶故事測試和自動化回歸集的重要補充。它是一種經過深思熟慮的測試方式,沒有測試腳本,可以使你的測試超出各種明顯已經測試過的場景。探索測試將學習,測試設計和測試執行整合在一起,形成一種測試方法。

探索性測試的最大特色是在對測試對象進行測試的同時學習測試對象并設計測試,在測試過程中運用獲得的關于測試對象的信息設計新的更好的測試。他的典型過程如下圖:

這相對于傳統軟件測試過程中嚴格的“先設計,后執行”來說,是具有很大區別的。

2、探索性測試的基本過程

探索性測試的基本過程包括如下:

識別軟件系統的目的;

識別軟件系統提供的功能;

識別軟件系統潛在的不穩定的區域;

在探索軟件系統的過程中記錄關于軟件的消息和問題;

創建一個測試綱要,使用它來執行測試。

注意:上面的過程是一個循環的過程,并且沒有很嚴格的執行順序,完全能夠先創建測試綱要,執行測試,然后在測試中進修軟件系統;也能夠先探索軟件系統的各個區域,然后再列出需要測試的要點。

探索性測試強調創新的測試思維,在測試過程中不斷地出現許多關于測試的新想法,

因而就像一把叉,下圖就是一個所謂的“探索叉”(exploratory forks)。

探索性測試強調測試過程中要有更多的發散思維,這也是與保守測試方式的最大區別。

保守測試方式強調設想完善的測試用例,測試人員嚴格按測試用例執行測試,這多少限制了測試人員的測試思維,測試人員往往缺乏主觀能動性。

下圖展示了一個發散思維的過程,探索性測試強調發散,但并不是盲目地發散,在適當的時候還要收斂回來。

例如,當發覺在一個測試的分支路徑上已經花了很長時間也沒有找到問題的答案時,則能夠考慮先放棄那個區域的探索,因為還有一個主線的測試任務。

探索性測試尤其適合于那些需求不是很明確的測試任務,或者是一名剛剛接手一項新的測試任務的測試人員使用。

3、探索性測試的價值

3.1、探索性測試可以用來找到深層次的BUG。

因為探索性測試人員是優秀的觀察者,他們觀察不正常和不期望的結果,并進行認真的思考,這種狀態和按部就班的執行用例是不一樣的,因此,它更容易發現一些隱藏的很深的問題。

3.2、探索性測試可以加深測試人員對被測系統的了解。

探索性測試強調對被測試對象的學習,并且是在測試過程中的學習,并在此基礎上設計測試,因此,它使測試人員更容易深入的理解被測系統。

4、探索性測試的誤區

4.1、不要將探索性測試和隨機測試混淆。

探索性測試不是在鍵盤錢坐下并敲擊,沒有熟練技能,不會認真思考的“黑盒”測試人員所做的并不是探索性測試,一個合格的探索性測試人員需要認真思考和分析結果,并且在探索測試的過程中做記錄。

4.2、不要將探索性測試和回歸測試混淆。

探索性測試更注重的是思考和學習,不斷發現新的問題,而版本的回歸測試,是對原有的功能的保證,為持續迭代構筑安全網。重復的功能回歸測試應該盡量用自動化的方式來完成,這樣,才有足夠的人力來進行探索性測試。

4.3、探索性測試不能用來評估軟件質量。

盡管探索性測試是一種有效的測試方法,但是它不意味著是一種全面覆蓋的測試方法。如果你要評估測試是否全面,可能你需要其他的手段。

本文作者?reach296

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 探索性測試強調測試過程中學習,那么測試依據從何而來?是不是要前置于常規測試?

    來自廣東 回復