探索性測試沒那麼簡單:敏捷三叔公課程心得 - 如何以探索性作法高效測試

Fufu
Apr 15, 2024

--

上課時間:2024/4/14
上課地點:台北市逸空間

3 個課程心得

  1. 隨機測試不是探索性測試
    很多人都說自己做的是探索性測試(Exploratory testing, 以下簡稱 ET ),充其量只是隨機測試(Ad hoc testing)而已。從前我也是以為隨機測試就是探索性測試,但上完課之後發現完全是兩回事。
  2. Session Based Testing Management 和 Scrum 好像,都有迭代
  3. 暴徒式測試 (Mob Testing) 雖然很變態(一切對資方有利),但改良一下應可以和團隊一起玩看看

軟體測試

測試其實包含探索 (Exploring) 和檢查(Checking),檢查又包含手動檢查、自動檢查。

什麼是探索性測試

Simultaneous learning, design and execution, with an emphasis on learning
— Cem Kaner

  • 同事進行測試設計、測試執行、學習受測系統
  • 藉由迭代方式、逐步探索來做測試的工作
  • 強調不斷學習
  • 從經驗中獲得受測系統的知識

Session Based Testing Management

  • Charter (任務):Charter 不是測項,不是列出一個又一個的功能,而是你的測試想法 (test idea),通常會用幾句話來描述,也是時程的評估基礎
  • 執行紀錄:沒有一個既定格式,主要是列出bug清單、可能的風險及潛在問題清單。潛在問題清單是指那些你覺得怪怪,但目前還沒有時間釐清的。
  • 匯報:匯報會議中可以找PM、測試主管、RD主管一起參與
  • 迭代:一次的時間可能是 60/90/120,每天最多 2–3 次(一天當中有完整的 60 分鐘不被打擾不容易啊)

Charter (任務) 到底怎麼列

一個好的 Charter 要考量的是:想找什麼風險、想涵蓋什麼、時間如何安排。可以透過現存業界好的點子框架進行參考。如果把 Charter 當作旅遊,出遊時會去很多地方,像是逛街的商業區、有參觀博物館的歷史區、晚上休息的旅館等等。各種不同的地區有不同的測試方式,可以參考書籍:Exploratory Software Testing: Tips, Tricks, Tours, and Techniques to Guide Test Design

在專案中落實探索性測試 — ST 為主,ET 為輔

ST 為主,ET 為輔,這方法比較有機會落實在實際工作狀況,先撰寫測試個案,進行個案執行測試。在測試的過程中,視情況加入更多的探索性測試。也可以利用一些輔助工具來進行探索測試,例如將測試過程中錄製下來,後續有需要追蹤時,可以參考影片進行確認。

結論

探索性測試是一門很深的學問,它不是隨機測試,不是漫無目的的隨意這裡點點、那裡點點,而是要透過列出 Charter,並進行一次又一次的測試與改進(就是迭代),找出產品的問題與風險。最後,探索性測試不是一人作業,他需要至少 2 人以上一同協作,才有辦法給予 feedback,不過,萬一只有一個人,還是可以靠 Chat GPT 輔助啦(真人永遠是最棒的)。

--

--

Fufu

崇尚極簡主義,從不消費挑戰到減塑的簡單生活實踐者。2020年完成不消費挑戰4個月以及一趟零廢棄蜜月旅行。減塑日常在IG simplelife.fu / 極簡生活主站 https://fufu.blog