1. 程式人生 > >什麽是探索性測試?

什麽是探索性測試?

循環 並且 技能 軟件測試 隨機 在一起 什麽是 版本 正常

1、探索性測試的定義

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

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

技術分享圖片

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

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

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

識別軟件系統的目的;

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

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

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

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

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

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

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

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

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

技術分享圖片

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

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

技術分享圖片

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

3、探索性測試的價值

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

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

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

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

4、探索性測試的誤區

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

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

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

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

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

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

什麽是探索性測試?