學而時習之
還記得幾個月前在讀《探索式軟件測試》這本書,當時了解探索式測試這一概念覺得新奇但認為也不過是一種測試分析和設計方法理論,實際工作中不能有效轉化和利用就體現不了它的價值。最近重新拾起這本書來讀,參考其他人對“探索式測試”的理解,重新總結一下對這一理論的認識和理解。
1.什么是探索式測試?
區分根據測試用例的測試丶自動化測試等測試方法,探索式測試是一種動態變化的測試,是測試分析丶測試設計丶review和執行的動態循環的過程,保持測試的動態化。探索式測試這種思路也不是首創,可能我們早已經在使用它,但理論的出現使得這種思路更容易被習得和實踐拓展。
注:很多探索式測試相關的書籍就是作者吸收理論后轉化為實踐的一個實例,只是表達方式更通俗易懂,本質相同。
2.探索式測試的內容有哪些?
全局探索式測試:探索軟件丶測試對象類比(建模)丶對象分解及類型對照
局部探索式測試:用戶輸入丶狀態丶代碼路徑丶用戶數據丶運行環境
混合探索式測試:通過場景引入變化丶基于漫游引入變化
3.探索式測試解決什么問題?
(1)一定程度提高測試覆蓋率。隨著測試的進展,我們對產品的理解加深了,這時候我們頭腦中就會有新的測試思路,這種思路比較碎片化,往往需要及時應用到測試中產生效果。
例如,在設計用例的時候:總會擔心測試覆蓋率的問題,不自覺會自問自己用例設計思路是否合理,是否有所遺漏,這個過程就是將我們的測試對象建模和分解,將測試行為和測試模型對應的過程,以便我們了解自己已經覆蓋到了哪些部分,還有哪些未覆蓋的,化抽象為具體。全局探索式測試涉及到各種用例設計的建模方法和實踐。
(2)為我們挖掘隱藏較深的bug丶復現難以復現的bug提供一些思路。
例如,在執行測試的時候:我們靈機一動覺得某種操作下可能發現更多邏輯缺陷,卻沒有比較合理的組合方式和操作路徑,此時就需要某種明確丶合理的方向可依循來引導頭腦中的臨場思路,從而實現即時的想法,局部探索式測試就涉及到各種具體的測試方法。
4.探索式測試怎么轉化自己的方法理論?怎么實踐落地?
探索式測試也只是一種手段,用以幫助自己的測試分析設計丶測試執行過程形成一種風格和規范,讓測試過程更容易理解丶分析丶流轉丶改進,同樣基于對業務的理解和分析前提。理解各種場景對應的測試方法,在實踐中認識何時選取哪種方法以及如何組合使用,不斷回顧丶總結和改善,逐漸轉化為自己的測試思路。
參考書籍:
《探索式軟件測試》
《贏在測試2》