【 Lessons Learned in Software Testing 】#8 You focus on failure, so your clients can focus on success.

--

因為你持續關注「失敗」 你的顧客才能專注於「成功」

測試人員是專案團隊中,唯一不直接關注成功的角色,當團隊在創新、忙於更有創意地引導新想法;測試人員卻要保持「負面」 (negative) 觀點 ,用不同角度察這個世界。 這樣看來測試,好像是種沉悶的工作 …

如同希臘神話所說:

On the island of the testers, they were doomed forever to search for what could not and should not exist, knowing that to succeed would bring misery to the Gods.

測試人員注定要尋找不曾存在、也不該存在的東西,深信成功會為神帶來不幸。

那不如讓測試人員用「正面」(positively) 的角度 ,執行測試工作… 事與願違,這麼做可能帶來更多的錯誤。

舉例來說「確認程式是否正常?」這件事交給測試人員去驗證,都會事先告知客戶,無邊際地確認某事是不可能、成本極高!

除非窮盡所有可能情況去驗證,否則就不能證明程式是正常的。測試人員只能說:「就已執行過的測試情況下,沒有發現產品不正常」。

相反地,確認「不正常」卻是相對經濟,只需要找到一個測試案例失敗,即可證明在某個情況下程式不正常。

測試人員為何關注於失敗? 是因為希望增加發現 failure 的機會。

將自身創意、靈感與技能,用於尋找產品關鍵問題(key problems),若找不到關鍵問題,研發團隊就無法即時修正它,最後讓真實使用者無奈地遇上它。

藉由發現產品中存在的問題,測試人員能夠幫忙產品團隊更加了解目前擁有技能前水準、以及所面對的風險,幫助團隊將產品做的更好,更具支持程度,在真實市場競爭中提高成功率。

後記

現今研發團隊中不一定有測試專職人員,如同 Scrum Guide 2020 中對於 Scrum Teams 的解釋:

跨職能(cross-functional)

成員們擁有在 Sprint 內創造價值所需的所有技能

自我管理(self-managing)- 團隊內部決定誰做什麼、何時做以及如何做

測試這件事情在此情況下,任何人都可以去執行,要非常清楚,當下要關注如何「成功」,而或是為何「失敗」。千萬別用錯關注角度、或是同時混用在一起,可能會有事倍功半之效。

筆者認為只用二分法過於簡單 (positive vs negative) ,團隊成員不該只有二種分類,必需依據討論主題,執行內容動態的調整,所以更推薦 Six Thinking Hats (六頂思考帽)

重點在於對的時間點,使用正確思考帽作為討論框架,幫助我們從傳統的爭辯和對抗思維,轉向合作探討方向。

  • 白帽: 考慮資料問題 (Facts & Information)
  • 紅帽: 直覺和感覺 (Feelings & Emotions)
  • 黑帽: 警戒和符合邏輯的負面看法 (Negative)
  • 黃帽: 符合邏輯的正面看法 (Positive)
  • 綠帽: 創意思考,追求創見 (New Ideas)
  • 藍帽: 控制思考的過程 (The Big Picture” & Managing)

--

--