測試手段之探索性測試(3)

發表于:2012-06-21來源:新浪博客作者:JerryGao點擊數: 標簽:探索性測試
現在對于探索性測試,大家很多的看法都存在一點誤區,都認為探索性測試不會控制和管理測試進度,大家在網上可以找到很多關于探索性測試的介紹,很少介紹到探索性測試應用在項目過程中式任何管理的,沒有涉及到核心,那么很多人都關心這個ET到底在項目中怎么

  現在對于探索性測試,大家很多的看法都存在一點誤區,都認為探索性測試不會控制和管理測試進度,大家在網上可以找到很多關于探索性測試的介紹,很少介紹到探索性測試應用在項目過程中式任何管理的,沒有涉及到核心,那么很多人都關心這個ET到底在項目中怎么來做呢?還有一個就是之前說了ET(探索性測試,后續統稱為ET)很難去控制和管理整個進度,那到底有沒有什么好的辦法去管理ET呢?下面我們就去看看國外是怎么做的吧。

  首先要說的是這些問題在ET發展過程中,ET的那些大師們已經想好了怎么在項目實踐過程中應用ET,也有一些比較成熟的解決辦法。

  1.1 實踐中ST和ET的使用模型

  這里需要說明的是怎么應用ET在項目過程中,可以從不同的維度去考慮:

  一個是ET和ST的結合方式,和測試人員具體做ET還是ST或都做無關

  另一個是team的組成方式,從測試的專業性角度去分隔開ET tester和ST tester

  看下面的模型更易理解:

  (備注:ST就是Scripted based Testing, 就是我們目前所做的基于測試用例進行測試的測試方法; Tester A是專門做ST Team的ST測試人員,Tester B是專門做ET Team的ET測試人員)

  從模型的演變過程可以看到,其實我們最終目標是沒有ST tester和ET tester之分的,所有人都是標準的ET tester。國外ET的大師們確實帶了好幾個ET team,在項目測試過程中已經達到了模型四的境界,可想ET是可以主導整個項目測試的,其進度控制和質量管理都在實踐中有了自己方法。

  1.2 ET team的管理方式

  在ET team里面又存在2個不同的管理方式:Delegation和Participation,這個區分的角度是從ET team lead在整個項目ET過程中的作用來看的。

  Delegation:

  (1) Test lead指定需要測試的charters, 不參與具體測試任務

  (2) ET tester完成這些charters并且report back

  (3) 對于一些問題和測試報告召開定期會議

  Participation:

  (1) Test lead在項目測試過程中與ET tester一樣,參與某些測試任務

  (2) Lead可以實時的根據測試質量情況制定最后的測試策略

  (3) Lead可以持續的了解他所想要的了解的team的任何情況

  這里還可以讓大家知道的是相比較單個人進行ET測試,在一個ET team中大家工作在一起,在同一時間對于同一個SUT(Software Under Test)進行ET,經常會出現很多更好的測試idea。 所有還有一種組合ET team的方式是讓測試人員組成一對且讓他們在同一臺計算機上進行測試。另一種就是其中一個測試人員進行測試,傍邊有多個測試人員觀察且做記錄,通過問測試執行人員不同的問題產出更多的測試idea,這里有一個好處就是測試執行人員不必擔心發現的bug難以重現,因為傍邊的測試人員會做記錄和分析,這樣測試執行人員可以不必分心去繼續自己的測試。還有一個好處就是如果一旦這個測試人員思維過于開闊,去測試很多非當前需要測試的模塊時,傍邊的測試人員可以給予及時提醒。但其缺點就是更多資源消耗在同一個功能模塊上,成本上有待商榷。

  1.3 ET過程中的任務

  下面我們說說具體的ET tester是怎么完成這些Charters的,還有怎么管理和控制他們完成的這些Charters。Charter的定義:ET過程中使用到的一個非常清晰地任務列表,指出了要測試什么,怎么測試(強調策略,不是詳細測試步驟),要尋找什么樣的bug,有哪些風險,要去檢查什么文檔等。

  在測試執行之前,ET lead和Senior ET tester參與制定所有的charters,并根據實際情況從charters中分離出所有需要測試的sessions(一個基本的測試工作單元,一般對應1-2個UC)。這里我們可以看到ET tester所有進行的ET是基于session的,那么我們使用的管理方法就叫Session-Based Test Management(Jon Bach的首創)。

  這里需要說下制定這些session的一些基本的原則:

  (1) 這些Session必須是chartered(與測試任務綁定的)

  (2) 這些Session必須是uninterrupted(獨立的功能,且執行時不受外界的干擾)

  (3) 這些Session必須是reviewable(其Session sheet可以被第三方review)

  (4) 每個Session一般不超過90 min, 其大致范圍從45 min(short session)到120 min(Long session)

  首先我們來分解下ET過程中,大概花的時間的分配:

  (Opportunity 指的是Opportunity testing,就是執行其他的session的功能)

  這里每個ET tester完成一個Session過后,必須記錄session sheet,下面是主要的因素:

  (1) Session Charter (charter名稱,和session名稱)

  (2) Tester name(s)

  (3) Data and time started

  (4) TBS metrics (包括3個方面的effort統計:測試設計和執行,bug分析和報告,session setup)

  (5) Data files

  (6) Test notes(ET 過程中的隨時記錄的一些東西,比如test ideas, risk list 等)

  (7) Issues(ET 過程中的問題和疑惑)

  (8) Bugs

  1.4 ET中管理Session

  下面我們繼續ET在項目中的管理(這里說的是上述的模型三或四),大致如下在:

  Lead針對SUT做出Charters和Sessions

  Lead針對所有sessions和資源來做出Test plan和測試策略(包含對SUT的攻擊策略)

  設計階段ET tester對于自己負責的sessions進行test idea development

  設計階段ET tester還需要對自己負責的session所對應的oracles(可以準確任務這個問題是個bug的所有信息,包括文檔) 進行梳理

  測試執行的時候ET tester根據之前的test idea list來進行測試,根據SUT本身的response并采用Heuristics的方法產出更多的test idea(這部分的test idea 不是必要記錄下來)

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

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