您好,登錄后才能下訂單哦!
? 探索式測試(Exploratory Testing)是一種自由的軟件測試風格,強調測試人員同時展開測試學習、測試設計、測試執行和測試結果評估等活動,以持續優化測試工作。考慮到它所具備的即興發揮、快速實驗、動態調整等特征,其思維方法可以追溯到軟件開發的最初歲月。
? 探索式測試有豐富的內涵,以下文字定義了探索式測試的核心。
探索式測試是一種軟件測試風格,它強調獨立測試人員的個人自由和職責,為了持續優化其工作的價值,將測試相關學習、測試設計、測試執行和測試結果分析作為相互支持的活動,在整個項目過程中并行地執行。
不妨將這段定義分成三個部分進行討論。
一、首先,探索式測試是一種軟件測試風格,而不是一種具體的軟件測試技術(如等價類劃分、邊界值分析等)。作為一種思維方法,探索式測試強調依據當前語境選擇合適的測試技術,而不局限于特定的測試技術。測試人員可以在探索式測試中使用任何一種測試技術,也可以將探索式測試應用于任何測試階段。
在這種測試風格的指導下,涌現出了一批支持探索式測試的測試技術。例如,James A.Whittaker 在《探索式軟件測試》中提出了一套基于系統化錯誤猜測和測試隱喻的“漫游測試”技術,豐富了探索式測試的手段。又例如,Jonathan Bach 和 James Bach發明了基于測程的測試管理(Session-Based Test Management),顯著地提高了探索式測試在測試組織、匯報、交流和度量上的能力。再例如,開發工具MicrosoftVisual Studio 2010開始支持手工測試和探索式缺陷(ExploratoryBug),雖然相關功能略顯單薄,但是它體現了軟件行業對探索式測試的認可,不能表明探索式測試輔助工具和自動化將獲得更多的重視與發展。
因此,“探索式測試”應該有兩層含義。
??第一. 內涵是一種軟件測試風格和思考方法,不拘泥于具體的測試技術;
??第二. 其外延是一批在這種思考方法指導下發展出來的測試技術,包括測試設計方法、測試管理方法、測試輔助工具等。
二、探索式測試強調獨立測試人員的自由和責任。測試人員應該為個人和團隊負責,調動所有能量,發揮人的靈活性,在整體上持續優化個人和團隊的產出。測試人員是軟件企業的知識工人。管理大師Peter Drucker認為知識工人必須管理自己。一方面,他建議知識工人自己確立工作目標(根據項目情況去做當前最有價值的工作),通過持續創新、持續學習、持續交流來優化其生產效率和產出質量。另一方面,他建議企業信任員工,給予充分的授權,并將他們視為企業的資產加以持續投資。這兩方面可以視為探索式測試對于員工與企業的潛在要求。
三、探索式測試建議在整個項目過程中,將測試相關學習、測試設計、測試執行和測試結果分析作為相互支持的活動,并行地執行。實際上,人腦難以并行地執行多項任務。探索式測試旨在將測試學習、測試設計、測試執行和測試結果分析作為一個循環快速地迭代,以不斷收集反饋、調整測試、優化價值。
?測試學習:學習任何可以指導測試的知識,可能要學習的內容包括行業背景、領域知識、技術平臺、測試技術、產品缺陷、項目風險等。
?測試設計:安排測試計劃,擬定測試策略,開發測試想法,制作測試支持材料
?測試執行:執行測試并收集結果。測試可以手工執行,也可以自動執行。
?測試結果分析:分析并解讀從測試中學到的知識,可能的活動包括判定測試是否通過、理解產品實現、發掘風險區域、評估測試方法是否有效等。
在現實的軟件項目中,窮舉測試是不可行的。任何測試都是采樣測試,都存在投入測試資源卻不能發現缺陷的風險。隨著項目的發展,測試的風險也在持續變化。對此,探索式測試人員會在項目過程中,隨時收集并判讀測試情報,優化測試決策和設計,并將它們立即應用于測試執行,通過分析測試結果來評估開發狀態和測試風險。這樣的循環有助于最大化測試價值,并降低軟件項目的風險。
摘自《探索式測試實踐之路》---史亮 高翔 著
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。