最近真的忙爆了!新功能要手動測試、舊的功能要跑自動化測試,重點是新功能除了要瞭解原先的產品知識外,還需要瞭解新功能的內容與架構,再撰寫對應的測試計畫與測試案例,重點是原本負責的自動化測試常常動不動就在 CI 上面壞掉、而且測試環境還偶爾不穩定,我還要邊看分析失敗原因,才能確定是不是要修改測試程式碼。
常常處理其中某件事情,我的一天就過了,啊啊啊……下禮拜又是 sprint 的最後一天了,如果有個同事能夠幫我就好了,於是我決定撰寫一篇徵人啟事,讓我自己不需要再處理這類的事情,只需要在關鍵時刻找我判斷就好。
首先,我希望這位同事能自行探索、判斷問題:只要給予目標與條件,他即可找出問題並記錄結果。當然,在自動化測試盛行的時代,他必須能撰寫測試腳本、理解產品知識,並在檢視錯誤後自行修復失敗的測試。
為什麼要找同事,而不是更好的工具?差別不只在功能,而在誰負責決定下一步。一般工具等你操作,遇到預期外的結果,通常還是由人判斷原因與接下來怎麼做;同事則可以接住一個目標,自己尋找解決方案,遇到超出權責的情況再停下來詢問。常常我們缺的不是更多工具,而是一個能幫你扛掉重複工作的人。請人時,我必須跟他說明:他要負責什麼、不負責什麼、要用哪些系統、哪些事必須先問過我、出錯怎麼辦。就像你平常交接工作給同事一樣。
回到「這位同事該具備什麼能力」這件事上,我們得先看看現有的兩種做法,各自留下了什麼問題。傳統的手動測試,不外乎就是閱讀產品知識,嘗試手動操作介面,並且看看結果是不是如同預期的那樣,同樣會留下大量的測試案例需要維護,有時候得靠人的經驗判斷,才能看出哪裡不符合邏輯或規格。然而自動化測試,則是透過撰寫腳本,並且重複執行測試腳本,但它的侷限在於它的腳本是固定的,只要測試環境條件不一致,甚至產品規格改了、甚或網路速度變慢、甚至機器忙碌,都很有可能導致整個測試案例失敗。
而就像我之前所提到的,除了要花費時間修復這些測試,更多時間是分析這些測試案例失敗的原因,並且修復這些失敗的測試案例,而這些測試程式碼本身,也得像維護一個產品那樣維護。換句話說,我要找的不是一支更穩定的測試腳本,而是需要一位能同時擁有手動測試判斷力、但又可以撰寫自動化測試,並且增加測試效率的同事。
在 AI 的時代下,原生的 SDET 會長什麼樣子?姑且先叫它「Agentic SDET」。
你可能想像的未來,是所有工作都交給 AI 處理,直到完全不需要人為介入;也可能是既然成品由 AI 撰寫,那就順理成章由 AI 負責測試與驗證。這些都值得討論,但就目前而言,我想像中的 Agentic SDET,仍然需要理解產品知識、理解使用者行為,據此設計不同的測試案例,並透過不同的測試策略與手法,把產品或功能釋出時的風險降到最低,在關鍵地方,還是需要人為決定是否合理,只是我們不用再親自跑完每一個流程。
接下來 30 個工作日,也就是六週,我會把這位同事從入職訓練、執行測試,一路帶到讓它成為我的代理人。

手動測試的判斷力依賴於人,規模有限;自動化測試規模較大,但缺乏判斷力。若能將兩者各自缺失的部分結合,將更為理想。我的新同事能自行發現問題,並在關鍵時刻向我請教。接下來的 30 天,我將依照「新同事」的流程,逐步培訓這位新同事,直至其成為我的代理人。
手動測試 自動化測試
有判斷力,但 跑得快,但
無法有規模 不需要判斷力
│ │
└─────────────┬──────────────┘
▼
Agentic SDET
會操作 + 會判斷 + 能夠有證據留下來
│
┌───────┬───────┼───────┬───────┐
▼ ▼ ▼ ▼ ▼
入職 教育訓練 學徒之路 代理人 進 CI
W1 W2 W3 W4 W5–W6
環境 留證 放手 自己找 自己跑
手冊 判斷 給目標 自己驗 自己修
知識 報告 不給步驟 自己開單
權限
接下來,我們要撰寫這位同事的 onboard 計畫:規劃它應該負責什麼、之後要怎麼勝任這份測試角色的工作。
把手動測試的判斷力和自動化腳本的速度拆開看,瞬間就懂你為什麼要找的不是工具而是「同事」;CI 壞掉、環境又飄的時候,還得一邊分析失敗原因一邊修腳本,真的超像在替一位新來的夥伴收拾現場。你把 30 天拆成入職、教育訓練、學徒之路到值班,這條成長線很清楚,也很有 Agentic SDET 的味道。我手邊有多的 Lovable 額度想送給有緣人,有興趣可從連結看看我的系列。 https://ithelp.ithome.com.tw/articles/10401174
好的,謝謝。