【257期門診集錦】探索式測試的奧祕

  技術門診是51CTO社區品牌欄目,每週邀請一位客座專家,爲廣大技術網友解答疑問。從熱門技術到前沿知識,從技術答疑到職業規劃。每期一個主題,站在最新最熱的技術前沿爲你引航!

   
    本期特邀淘寶資深
軟件測試工程師、暢銷書作者高翔老師針對
探索式測試的問題給予解答,歡迎網友積極提問,與專家一起討論!

查看本期門診精彩實錄:http://doctor.51cto.com/develop-271.html

精選本期網友提問與專家解答,以供網友學習參考。

 

Q

你好:

探索式測試是一種軟件測試風格(Style),它強調獨立測試人員(Individualtester)的個人自由和職責(Personal Freedom and Responsibility),爲了持續優化其工作的價值(Value),將測試相關學習(Test-related Learning)、測試設計、測試執行和測試結果分析作爲相互支持的活動,在整個項目過程中並行地執行。請列舉實例解釋下以上描述,謝謝!

A

這個還是演示某個軟件的測試比較好。我可以給大家一些例子。 比如我測試QQ登陸功能,我不知道QQ登陸功能的具體需求,比如他的業務規則(什麼用戶能登陸、什麼用戶不能登陸、會有什麼提示錯誤信息、最大長度、最小長度、數據庫字段等等)。我可以拿到這個任務後,確定我的session:就是登陸功能的功能測試。另外我有自己的個人經驗去預估測試時間,比如1.5hour

我在測試的時候,是有目的的去測試,比如我的test idea是測試QQ用戶名爲10個字符的登陸情況。我不知道QQ軟件是否支持這個功能,我會去操作它,得到結果和信息告訴我有沒有超過這些長度。也就是將測試相關學習和測試結果分析拿出來,得到新的test idea:測試用戶名爲16個字符的登陸,當然這些都是舉例說明,如何將測試結果和測試設計和執行進行支持的活動。

由於篇幅原因,我這裏不能多說,你可以在《探索式測試實踐之路》中找到非常多的案例,具體可以參考:http://blog.sina.com.cn/s/blog_6cf812be0100nnyx.html

Q:

探索性測試是否可以理解爲測試人員依託足夠的工作/產品經驗,按照自己的邏輯總結出的一套有規律或針對性的測試方法。對新入職的員工是否適用?如何讓對測試零基礎的人快速上手?

A:

你說的一半是對,一半是不對的。

探索式測試是一種軟件測試風格(Style),它強調獨立測試人員(Individualtester)的個人自由和職責(Personal Freedom and Responsibility),爲了持續優化其工作的價值(Value),將測試相關學習(Test-related Learning)、測試設計、測試執行和測試結果分析作爲相互支持的活動,在整個項目過程中並行地執行。

探索式測試是會考慮到測試人員的經驗,但不是絕對的,探索式測試的一些測試方法對於新人學習來說,非常好的學習機會,如果有好的培訓經驗和能力,完全可以讓測試零基礎的人快速上手。

“探索式測試不適合測試新手”是一種似是而非的說法。第一,所有高效的測試都依賴於測試人員的測試技能和行業知識。測試專家能夠準確地選擇測試策略、有效地運用測試方法,因此測試效果更佳。第二,測試新手採用任何測試方法,都需要指導和幫助。這有助於他們充分利用方法的優點,並避免方法的潛在陷阱。可見,更有意義的問題是:如何幫助測試新手儘快地掌握測試方法,儘快地成長爲測試專家?

從個人發展的角度看,探索式測試有助於測試新手快速學習。探索式測試將學習與應用作爲相互支持的活動逐步展開,爲測試人員的技能提升提供了平滑的學習曲線。此外,並行地執行測試學習、測試設計、測試執行和測試評估爲測試人員的成長提供了持續、及時、有效的反饋,這有助於他主動學習和快速調整。

從企業發展的角度看,測試團隊應該積極幫助測試新手成長。可以採用的方法包括:爲他安排工作導師、評審其測試文檔、評審其測試記錄、在測程中安排測試專家與他結對測試、定期進行一對一的會談等。這些活動會消耗測試團隊的人力資源,但是它們是幫助新員工成長最快速、最有效、最廉價的方法

Q:

一直在想一個問題,軟件能否在開發的階段就設置好以後的測試點,因爲測試就是不斷重複模擬用戶使用的過程,如果可以預先植入這些測試點,那以後的測試是否可以由電腦代勞從而自動完成呢?

如果帥哥有空,還請指點一二。

A:

表面上現在的測試設計出來的測試點可以一定程度上轉換爲自動化測試腳本,從而可以自動化迴歸,但這個還是依賴於事先做好的TC,甚至是手工測試。

另外也可以應用基於模型的測試,軟件需求評審過後,建立模型,自動生成測試用例和測試腳本,自動運行,但是不是所有的測試點都可以由電腦代勞的。 這一定上也是探索式測試發揮效率的地方。因爲測試的過程,本身也是學習的過程,測試能發現的問題,有時候是在使用軟件過程中也就是測試過程中靈感出來發現的bug,所以這個是無法避免的。

建議看看本書,可以多瞭解下如何在一開始就完全設計出這些測試點,從而提升TC的覆蓋率。

Q:

※如何正確認識探索式測試?

以前不知道,專門網上搜索了一下,似乎更是一種理念而不是技術,所以很關心下面的問題!

 ※如何使用探索式測試方法進行測試?

所在企業不久前實現了自動化測試輔助測試人員,可否舉一個探索式測試方法在實際中的應用。

※在項目中如何實踐探索式測試?

非常關心這個問題!

期待並感謝高工的解答!

 

A:

你問得問題也比較大,我簡單說下,詳細瞭解的話,建議你看看《探索式測試實踐之路》。首先是測試方法的學習和理解和應用。另外的就是測試負責人需要了解探索式測試實踐的流程和測試策略。實際應用的例子,那本書裏面也有詳細的描述。

實踐的話題,國外已經實踐非常多了,我這邊總結了探索式測試實踐的四象限,多個角度的去實踐探索式測試,幫助測試人員和測試經理們更加的瞭解ETET的效果。

Q:

老師您好,我對探索式測試有過一段時間的學習(主要是james whittaker那本書),也有過一定實踐,所以有這樣幾個關於探索性測試的問題要請教您一下:

1.您覺得現階段我們是用探索式測試作爲手工腳本測試的一個補充更好,還是完全取代傳統腳本測試方法更好?

2.在接觸探索式測試的開始,會覺得有些無從下手,漫無目的地嘗試;也會運用很多方法,但仍然常常會對某個功能重複測試了多次。這種情況是由於不夠熟練還是其他原因?怎麼能更好的避免?

3.現在在做探索式測試的嘗試時,我都會先分析,然後比如用出租車測試法、遍歷測試法、深巷測試法、包括超模測試法、懶漢測試法等等,在一個場景的實踐中很多時候會發現自己不太知道如何取捨這些方法,反而導致效率低下,並且bug量不如手工腳本的那麼全面完整,這種情況應該如何提高?

 

A:

1. 探索式測試實踐的話,有很多種方式,可以看看《探索式測試實踐之路》,這裏面介紹了4種主要的方式。ET不會完全替代ST,但根據測試團隊的熟悉程度,看看是ET主導,還是ST主導。

2. 這個很正常,一方面加強探索式測試的方法學習,不斷的實踐和加深印象。另外重複測試也是很正常的現象,我們做的就是減少這個重複度,需要了解測試方法背後的含義和系統設計的思路。

3. 不要過度的依賴於這些方法,另外就是知道方法背後的背景和系統設計的的問題,才能解決你的問題。爲啥bug量不如ST的全面完整呢?你的意思是發現bug較少還是什麼?我這邊的實踐都是ET發現的bug較多。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章