告訴你什么是探索性測試?

發表于:2012-10-11來源:新浪博客作者:lxg0618點擊數: 標簽:探索性測試
告訴你什么是探索性測試?第一次聽到探索性測試這個詞是去年的10月份。一個微博上的朋友寫了一篇關于探索式測試的blog,之后斷斷續續的閱讀了不少相關資料,參加了數場相關討論

告訴你什么是探索性測試?  
第一次聽到探索性測試這個詞是去年的10月份。一個微博上的朋友寫了一篇關于探索式測試的blog,之后斷斷續續的閱讀了不少相關資料,參加了數場相關討論,但是還是沒有得到一個系統的理解。8月29日晚上有幸聆聽了測試頂級專家Micheal Bolton(不是唱歌的那個,是做測試的)關于探索性測試的演講,解決了數個困擾我很久疑惑。我終于得以把這些知識理清,下面我會把我所理解的探索性測試跟大家做一個分享。

  探索性測試的歷史和主旨

  探索性測試是近十幾年內才形成體系的一種測試思想,它的核心理論由Jame Bach在1995年提出,并在數年間由學者和業界的測試工作者不斷完善而形成的理論。測試大師Cem Caner在02年首次以“Exploratory Testing”(探索性測試)的名稱在學界和業界開始相關的演講和培訓。探索式測試的方法論在這10余年期間不斷被測試先鋒們不斷磨煉和修正,終于在11年,擔任過微軟和Google測試總監的James Whittaker出版了《探索性測試》一書,讓探索式測試在業內獲得了廣泛關注,并掀起了一股學習和研究熱潮。

  探索性測試的核心思想是:測試是一個不斷學習,不斷探索的創造性過程。測試計劃、分析、設計、執行其實是相輔相成,相互交織的。依照傳統的測試理論,把這四部分在時間上嚴格區分會限制人的創造性和,進而影響測試效果。同時靜態的測試方案和測試用例不足以覆蓋對動態系統的測試。探索性測試強調不斷的學習、探索,不斷的修正測試方法,十分強調人的能動性是它最大的亮點。

  探索性測試實際上是將戴明環方法(PDCA)做到了極致,也可以說做到了時間上的交織和同步------在做測試執行的時候,測試者也在做測試分析與設計,同時還可能在修改測試計劃,這時候我們就會發現我們現在沿用的一些測試文檔例如測試計劃文檔、測試需求、測試用例這些東西就不大好用了,因為修改頻繁,全部記錄下來代價太大,且強制劃分文檔類型會打亂思維。因此探索性測試強調靈活的記錄測試的產物,而不必循規蹈矩,這在形式上與傳統的測試(探索性測試將傳統稱為依托腳本的測試,script test)是有極大矛盾的,這也是探索性測試在業界引起的最大爭議。

  探索性測試有跡可循么?

  答案是肯定的。比照一下探索性測試的思想和我們的日常工作,大部分測試者其實已經在做著某種程度的探索性測試的工作,如果你在發揮能動性,使用多種獲取需求的方法,你在做探索性測試;如果你根據測試實際系統的反饋修正測試用例,你在做探索性測試;如果你在做我們常說的自由測試,你也在做探索性測試,但是這肯定不是全部。

  探索性測試是有跡可循有具體實踐方式的。Cem Kanner提供了一套詳細的實踐方案,你可以從下面鏈接獲得:https://intranet2.arraynetworks.net/prx/000/http/www.testingeducation.org/BBST/exploratory/BBSTExploring.pdf

  當然你也可以使用James Bash和Micheal Boltonl的方法:

  http://www.developsense.com/resources/et-dynamics3.pdf

  你也可以讀一下James Whittaker的書:探索式軟件測試方法(這本書跟上面兩家不是一個流派,不過也能學到很多具體的測試方法,很實用。)

  http://product.dangdang.com/product.aspx?product_id=20834199

  以及我們國內一線測試人員寫的一本中文書:探索式測試實踐之路(還未讀過)

  http://product.dangdang.com/product.aspx?product_id=22844980

  瀏覽上面的資源你可以得到相當具體的技術和方法,因此這里不在贅述了。除了James Whitaker那本書,剩下3份資源都應該屬于上下文驅動流派(context-driven school),是一個路數。據我所知國內的一流測試專家邰曉梅女士也在實現一套基于測試驅動的探索性測試實踐方案,讓我們一起期待:)。

  其實探索性測試和所謂的傳統測試并不是沖突和矛盾的,在實踐過程中也不會走兩個極端。我在交流過程中問了Micheal Bolton他們是否矛盾的問題。他的回答是:“我們可以找兩個端點,一端是把人當作生產線螺絲的嚴格依照腳本進行測試方式,一端是把人比作一個小孩的完全探索性測試,實際工作中,我們肯定是在這兩個點連線中的某一個點。具體這個點在哪里,要看它在哪里能夠更好的開展測試。”正所謂法無定法,我們其實完全沒有必要去恪守、捍衛教條,并非爭出個高下來,黑貓白貓,抓住老鼠就是好貓。

  探索性測試的應用情況

  據我所知,目前探索性測試還處在一個方興未艾的階段。國外的少部分業界領先的公司(微軟,google等)已經從某種程度上應用了探索性測試方法。在國內,百度,淘寶等知名企業也開始從一定程度上來使用探索性測試,在近期的Chinatest大會上,他們也都各自分享了自己的實踐方案,值得一提的是,Chinatest大會上,探索性測試分會場是最火爆的,參與人數是其它會場的快2倍了。因此在國內大家還是對探索性測試相當有興趣,大家都希望能夠把它引入實踐來提升實際測試能力。相信在未來的幾年,一定是探索性測試大發展的時期。

  探索性測試能應用到我們的工作中來么?

  答案必然也是肯定的。依照我的判斷,它對于我們近期重點工作項都可能會帶來一定的益處。

  Ø 于分布式測試

  目前我們和重慶的分布式測試合作主要采取了“分層測試”的模式,即北京同事編寫測試用例,重慶的同事來進行執行。從目前的情況來看,分層測試有效的實現了北京重慶之間的測試協作,分流了很多北京的測試工作量,且保持了測試質量不下降,測試進度沒有延長,可以說分層測試是比較成功的。但是,我們的分布式測試是否還可以做進一步改進呢?仔細想想還是有的。

  隨著分布式測試的不斷發展,由于重慶測試資源的源源不斷補充,解決測試人力資源不足問題將不再會是工作的重點,工作的重點將會慢慢轉移到如何提高整體測試能力上來。目前,重慶測試人員能力在逐步提高,已經有了一定的測試設計能力,嚴格依照測試用例進行測試的方式會一定程度上限制他們能力的發展,但是項目的復雜性及重慶的異地因素又導致重慶無法有效獨立完成測試的分析及設計工作。再者,測試工作的精華很大一部分在于測試執行部分,如果放棄測試執行,也不利于北京測試人員的發展。探索式測試的核心思想認為測試過程是不能被簡單分割的,我們可以采用這個思想對我們的測試流程做一定改造。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97