【 Lessons Learned in Software Testing 】 #2 Your mission drives everything you do.

--

使命會驅使你決定要做那些事情

你(測試人員)的使命可能取決於產業、公司、專案或是團隊特性的不同,要測試的內容可能有天差地之別。將測試當作一門工藝(Craft)去挑戰、精進,其中最困難的部份就是建立與測試實踐(test practices)的對話、交流,因為每條實踐項目都必須跨越文化與技術的差異,這些存在的差異決大部份,決定了測試團隊不同使命。

例如在某些測試團隊,把測試計畫(test plan)當作輔助測試人員工具,可能只是把內容概略地寫在餐巾紙上,但是就足以發揮功效。可能另一個測試團隊為產品建立測試計畫,必須跟隨著軟體一起交付,這樣的情況下內容就十分嚴謹,斤斤計較計畫內容與文字排版格式。

書中羅列了以下幾條要求項目,可能會影響每位測試人員的使命,試著選擇看看自己期望的是那幾條呢、也比較現在所處的測試專案、團隊又是那幾項呢?

Find important bugs fast. (快速地找到重要的Bug)

Provide a general assessment of the quality of the product. (提供產品的總體品質評估)

Certify that the product meets a particular standard. (確認產品達到某些定義好的具體標準)

Help your client improve product quality and testability. (幫助客戶改善產品品質與可測試性)

Assure that the test process meets accountability standards. (確保測試的流程達到某些職責標準)

Educate your clients about testing and how to work with testers (協助教育客戶何為測試與如何與測試人員協同工作)

Follow a particular set of methods or rules. (遵循某些特定的測試方法或規則)

Help predict and control the costs of support. (協助預測、掌控維持成本)

Help your clients improve their processes. (幫助客戶改善自身流程)

Perform your work in a manner that minimizes cost, time, or undesirable side effects (用最小的成本、時間或盡可能地減少副作用方式,完成自己的工作)

Do whatever is necessary to satisfy particular clients. (滿足特定各戶的要求,完成所有必要工作)

如果你花了許多時間與精力投入在客戶根本就不關心的需求上,其實是冒著完全不相關、毫無生產力的風險!

測試人員要與自己的主管(團隊)協商出自身使命為何? 明確地定義它(使命),如果無法達成一致的共識,就沒有做好任何事情的基礎。

書中建議想想以下2個問題,看是否已經準備好上工了?

What should you do when you don’t know to do ? 如果你不知道該做什麼時 該怎麼辦?

Review your mission → 這樣是最快方式找到核心的問題

當你可以明確地知道使命,就可以為自己的工作辯護,清楚的定義出下一步要做什麼? 試著用簡單的描述,向別人解釋自己的角色,就可以反證當下自己是否準備好了。

What should you do when you know exactly what to do ? 當你已經知道自己確切要做什麼時 還要做什麼呢?

Revisit your mission → 確保自己的清晰的知道現在位於那個mission之上,別深陷細節過久,拘泥測試的技術問題,適時地退後一步,重新對焦、掌握見樹又見林的平衡。

後記

推薦讀者後續可閱讀邰曉梅老師 「海盗派測試分析 MFQ & PPDCS」一書,第一章 了解你的任務 (Know Your Mission KYM),詳盡地說明 Why ? How? KYM , 也許也可閱讀以下有關KYM的篇章。

前陣子才發該書也是請 James Bach 寫序,難怪筆者讀起來感覺似曾相識(師出同門),也或者 真理放諸四海而皆準 吧。

--

--