iT邦幫忙

2024 iThome 鐵人賽

DAY 30
0
IT 管理

葬送的軟體測試 - 不懂不想做是會出事系列 第 30

2024 Day30 測試人員和團隊

  • 分享至 

  • xImage
  •  

測試人員不好找, 這是大家公認的事實. 一方面大家的要求都滿高的, 希望他能擅常找 bug, 要能懂環境和領域知識, 並且還要能寫自動化程式. 另一方面, 很多人不願意去當測試人員, 或者是去執行測試的工作. 外加薪水不到位, 那其他就一切免談.

撇開這一切不利的因素, 如果我們需要找一位好的測試人員, 那他應該有什麼特性:

• 具有工程背景知識
畢盡你是在資訊產品, 沒有工程背景真的不太合適.

• 基本程式開發能力
以前可能不需要, 現在幾乎都說要能寫程式.

不過, 如果只是寫測試程式, 去當測試自動化工程師, 老實說對找到 bug幫助不大, 但是老闆高興就好.

當然, 有些公司的薪水和公司狀況, 說要找寫程式的測試人員可能不容易, 讓不會寫程式, 但是有這邊其他項特性, 還是可以先考慮. 否則你就真的找不到人了.

• 系統層次的思考能力
他不能只看他手上測試的部分, 需要思考整體, 哪邊風險比較大, 因為畢盡你是無法有時間測完全部, 要利用全局觀去考量.

• 問題分析技巧
前面說過只會抓 bug 還不夠, 你還需要分析錯誤可能怎麼發生, 你能提供越多資訊, 開發人員和管理者會很感激你的.

• 對品質的熱忱
開發人員也可以把測試給做好, 不過他缺乏的是對品質的熱忱, 他們在乎的是技術的卓越. 所以你才需要有人從品質的思維出發, 寧可錯殺絕不放過, 不斷質疑一切, 這樣才能抓到問題.

• 喜愛找出背後運作原理
他必須要思考背後如何運作的, 不是開發人員跟他講什麼, 他就全盤接受, 要能進一步探索, 看看程式碼, 看看 log, 是否真的是那樣.

• 想讓系統失效
簡單說, 就是想辦法給系統死. 不能像開發人員那樣, 自己的系統像自己的小孩, 不捨得打, 這樣就找不到問題.

具備這些特性後, 我們才進一步來看, 哪些技能他需要具備
• 硬技能
軟體測試知識
受測產品相關領域的知識
受測產品所需技術
• 軟技能
溝通
同理心
分析和組織
調適
知識學習
主動積極

從這裡可以知道, 硬技能大家都知道是什麼, 也容易可以衡量. 但是對於軟技能方面, 不容易衡量. 但如前面所說的, 測試某種程度是找麻煩的工作, 要能讓對方聽得進去, 聽得懂, 溝通能力和同理心很重要. 並且為了讓對方聽得懂, 你必須要用對方的語言, 懂對方的知識, 所以學習開發相關知識是需要的.


那一個開發團隊中, 會有哪些測試的角色呢? 基本上有以下這幾類:

https://ithelp.ithome.com.tw/upload/images/20240809/20161809PvYAtQK5zi.png
圖 30-1 常見的測試角色

• 測試經理
整理出高層次的計畫, 需要多少測試人員, 有哪些機器可以使用. 並且在執行過程, 追蹤測試進度, 根據執行結果調整計畫. 並且最後和相關利害關係人討論測試是否通過.

• 測試分析師
想辦法讓測試計畫中事情可以落地, 功能要怎麼測試, 要測試哪些場景. 測試環境要如何設計和安排. 當測試過程遇到技術性問題, 可以排解問題或是提出建議.

• 自動化測試人員
主要工作是撰寫測試程式, 提供相關的工具或是測試成員, 來執行測試, 輔助產生測試資料, 或是讓其他人測試時可以比較方便.

• 測試環境管理員
當測試環境很複雜, 需要有人管理, 進行環境的安裝, 還原, 和維護. 也需要週期性備份測試環境, 以及確保安全性.

• 測試執行人員
負責測試工作的執行. 有時候這裡是專職的測試人員, 也有些公司會請工讀生, PM 或是 UX 人員來幫忙.

一般公司不太可能每個角色都有, 但是測試的工作種類就是這麼多, 所以有些人就會同時兼很多角色, 負責不同種類的工作.

如果要找到很厲害的測人員, 這通常是件可遇不可求的事. 所以你大多只能先找基本盤不錯, 有熱忱願意學習的人先開始. 那接下來就是提升他們的能力. 那要如何提升軟體測試能力呢?

以下是之前一些個人經驗, 大家可以參考看看

• 了解客戶
• 多讀 bug 報告
• 多讀 程式碼
• 為找到 bug 感到驕傲
• 參與功能的設計
• 了解你要測試的功能
• 和別人合作測試你負責的功能
• 提供開發的能力
• 參與相關社群
• 學習你測試的軟體系統
• 和 RD, PM 培養良好關係
• 尋找導師和益友
• 持續自省
• 管理自己的時間
• 適當地自動化你的工作
• 參與 bug 檢視
• 持續學習新技能

簡單地說, 沒有所謂專門的時間去學習, 就不斷地在工作中的各個階段, 去精進自己的能力.


知道這些資訊後, 那接下來要怎麼找人, 基本上我會注意以下面向

• 最好團隊成員背景比較多元
bug 通常出現在你沒想到的地方, 如果太多相同背景, 可能思路會雷同, 如果有不同背景, 讓你在開立測試個案時, 可以想出不同角度的測法.

• 尋找有熱情和正直的人
找錯誤和糾正別人測試, 是一件不容易的事情, 很容易會讓人有挫折感. 因此, 要有超級熱情的人才能撐得下去.

另外, 他也需要對品質有堅持, 不會因為時間不足就放棄. 或者是管理者的權威, 就屈服他對品質的標準.

• 善用不同管道找人
以下我常使用的方式
a. 社群:
像是 Test Corner 之類.
b. 測試研討會:
目前台灣沒有這種研討會, 對岸不少, 如果在對岸有遇到台灣過去參加的, 千萬不要放過
c. 好的測試人員的人脈:
厲害的人通常會認識厲害的人. 所以提他們推薦也是很有用的
d. 在部落格上發佈測試人員有興趣的題材
用些議題在釣出相關厲害的人
e. 利用有挑戰的題目來招募

• 當場結對測試或是實機測試

• 慎選其他小組不要的人
有時候別的團隊會丟人給你, 有些是想轉測試. 有些可能是不適任的開發人員, 他們主管幫他找出路. 有的是 PM 想轉技術職, 因此從測試先開始. 不管是什麼原因, 自己不要因為人情壓力, 就降低標準.


測試可能的團隊結構

  1. 團隊只有開發人員

https://ithelp.ithome.com.tw/upload/images/20240809/201618091xIK0jzl2A.png
圖 30-2 只有開發的團隊結構

• 優點
各自專職, 各有專業
同一主管可以協調衝突
工作時間比較可以調配

• 缺點
因為時間壓力, 主管容易在意進度
開發和測試人員, 可能勾結或對立
測試人員無法約束開發人員

• 適用時機
專業分工的組織, 軟體公司居多
在意產品品質
公司願意投資測試

  1. 團隊開發人員和測試人員

https://ithelp.ithome.com.tw/upload/images/20240809/20161809SMZlB33cW3.png
圖 30-3 開發和測試混合的團隊結構

• 優點
各自專職, 各有專業
同一主管可以協調衝突
工作時間比較可以調配

• 缺點
因為時間壓力, 主管容易在意進度
開發和測試人員, 可能勾結或對立
測試人員無法約束開發人員

• 適用時機
專業分工的組織, 軟體公司居多
在意產品品質
公司願意投資測試

  1. 團隊只有開發人員和獨立測試團隊

https://ithelp.ithome.com.tw/upload/images/20240809/20161809sL1NMQewxa.png
圖 30-4 有獨立測試團隊的結構

• 優點
測試獨立自主
不用每個開發團隊都配置測試
測試有其權威性

• 缺點
測試可能對產品不熟
時程和資源不易搭配
容易讓開發不懂測試

• 適用時機
不太想投資太多在測試上面
非軟體公司居多


上一篇
2024 Day29 測試自動化注意事項
系列文
葬送的軟體測試 - 不懂不想做是會出事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言