【 Lessons Learned in Software Testing 】#3 You serve many clients.

--

你其實為許多客戶服務

測試是一種服務角色(Service Role),內心要樂於接受這個的概念。 任何你(測試人員) 提供的服務都是至關重要的(vital) 。

有服務的存在,意味著有被服務的對象- 客戶 (Client) 。你是否有成功主要衡量的基準為,是否有好好地滿足客戶的需求和最佳利益(beat interests)。

以上闡述的觀念並不會太難,但測試這件事情其實有許多客戶,而這些客戶都有自己需要,而且他們的共同需求也不一定會完全一致。

The Project Manager

  • 專案經理是有資格去了解測試流程、進度並加以影響。測試人員藉由提供以下項目服務專案經理:
    - 根據要求向專案經理回報工作狀況
    - 迅速的報告重要問題
    - 不要成為專案的瓶頸
  • 專案經理特權(權力、義務) 本來就是指揮專案,你的責任就是告訴 PM 自己能做什麼、不能做什麼。
  • 任何有關專案做的決策、狀況,會對測試有哪些影響(impact)

The Programmer

  • 儘早提供優質錯誤報告(Bug Report),讓程式設計人員工作更容易一些,透過提高自己的技能並且了解、熟悉產品,避免提供錯誤或無意義的報告,浪費程式設計人員寶貴的時間。
  • 如果可以做到上述程度,就可以贏得更多信任(credibility),都將轉換為對測試人員自身支持與影響力

The Technical Writer

  • 可能與測試人員一樣,技術寫作人員負責撰寫使用手冊與線上幫助文件,可能也不能都是得到產生某部分的資訊,看不見全貌。
  • 測試人員可以幫助他們理解產品如何運作,幫忙指出文件中的錯誤。
  • 技術寫作人員也可以幫助測試人員,經過長時間的研究產品,可知道使用者如何閱讀文件去使用產品時,會了解一些測試人員不知道使用者操作行為。
  • 彼此之間維持良好的關係,所有要交付出去的新功能他們一定會經手過,新的功能、操作方式,測試人員可能不知道(不是你測試的項目),這些已知的軟體問題、漏洞無法從報告上得知,除非測試人員主動去問,才會說口而出。

Technical Support

  • 任何問題遺留在產品之中,都會對技術支援人員的負擔,測試人員透過告知(服務)技術支援團隊,任何會給使用者帶來麻煩的產品問題。
  • 測試人員處於產品開發階時,與技術支援人員一同工作有時可發現許多應該修正問題。
  • 測試人員應該研究從案發現場回饋的難題,提供技術支援人員強而有力的幫助。
  • 簡而言之,拉進與 Technical Support 距離,間接地更接近真實User

Marketing

  • 市場行銷人員需要知道任何與產品,提供給客戶關鍵利益(key benefits)不一致的地方。
  • 可能對於 Programmer 是 minor bug,但是對 Marketing 是關鍵重要的問題,從他們的角度可以識別出那些Bug,會影響客戶執行重要的工作。
  • 通過 Review 市場開發計畫、內容描述,測試人員可以幫助 Marketing 對產品的能力有更精確的認識。

Top Management and Stockholders

  • 測試人員服務於公司業務 (business),這也是為什麼測試人員要小心別成為品質魔人、品質狂熱者 (Quality Fanatic)的原因,要通情達理一點(reasonable) 。
  • 特別是專案於結束之時,必須平衡地兼顧公司短期與長期利益完成自己的職責,用明顯、簡潔的文字撰寫測試報告,以便執行階層能理解狀況,以此為依據做出決策。

The User

  • 在測試人員的心中,要想著使用者會如何使用產品,以用戶的滿意程度為專案的最高利益。
  • 除此之外也要觀察、注意主要用戶族群對產品、研發團隊是否有特別的需求。

以上條列並沒有按照優先順序,不過在實際的專案之中,可能就存在的明顯或隱藏優序,因此認真辨識、找出誰才是對專案最重要的人,真正要被服務的人。這是做好測試工作的第一步。

後記

這個篇章以 Client (not only User)為角度去發想,從團隊內部往外(inside out)的方向分析,以往團隊會花大部分心力關注在使用者(Why,What,How)的問題,而測試人員也適時要跳出框架來服務、關注團隊內的各種角色。

另外推薦以使用者角度出發 (Outside in )方式的2本書籍,補齊對 The User 的更多描述:

User Story Mapping

Chap.14 利用發掘建立共識 四個步驟

Frame the idea (構思想法)

Understand customers and users (了解客戶和使用者)

Envision your solution (具體設想你的解決方案 )

Minimize and plan (最小化及計畫)

User Stories Applied

  • Chap. 3 User Role Modeling
  • Chap. 5 Working with User Proxies

--

--