「剛轉做自動化 QA 時,我以為自己拿到了神兵利器;直到每天被 CI 紅燈追著跑,我才發現自動化救不了混沌的品質。」
嗨,我是 Jane。
作為一名資歷十年的自動化 QA 測試工程師,我的日常其實跟大家想像的不太一樣:很多人以為我們每天就是優雅地寫寫腳本、按下 Execute,然後看著測試報告全綠過關。
但真實的情況往往是:
如果你也是寫了 1~5 年自動化測試的 QA,這些場景你一定不陌生。我們常夾在主管的期待、開發團隊的推託與不穩定的測試腳本之間。今天這篇文章,我想以第一線自動化 QA 的視角,聊聊我們與團隊最容易落入的 5 個「錯誤期待」。
當我剛把第一套 UI 自動化腳本跑通時,心裡確實爽快:終於不用再重複點擊那幾十個輸入框了!
但很快現實就打臉了。自動化腳本非常「死板」,它只會按照你寫好的 assert 去檢查。有一次我們的自動化測試全過(綠燈),但我手動點開網頁一看,頁面上的按扭竟然跑版到遮住了文字、圖片整個掉圖。
當上線爆出 Bug 時,最怕聽到的就是:「這條路徑自動化沒跑嗎?怎麼沒抓到?」
但大家常搞錯一件事:自動化腳本只會抓到『你預先教它要檢查』的 Bug。如果這個 Bug 是來自全新的商業情境、或是極端網路延遲下的 Race Condition,原本的腳本根本不會涵蓋到。
曾經我也為了追求 KPI,一個月猛寫了上百條 UI 測試案例。結果呢?我掉進了自己挖的維護地獄(Maintenance Hell)。
前端只要改個 Class 名稱或 CSS 結構,我當天就要花 3 個小時去修 50 條壞掉的腳本;環境網路一慢,腳本就跳 Timeout。那段時間我根本沒有時間寫新的測試,每天光是修舊腳本就飽了。
為了讓 CI 報告看起來漂漂亮亮(全綠),我曾看過有些專案做了很危險的事:
try-catch 把 Error 吃掉,或是只驗 HTTP Status Code 200,不驗 Body 的資料對不對。retry: 3(自動重試),反正跑三次只要過一次就算綠燈。這樣的「100% 通過率」只是一種自我麻痺的假象。
這是我覺得最孤單的時刻:QA 在後面苦苦追趕、寫腳本,Dev 在前面狂產 Feature。當 QA 喊著「頁面沒有 data-testid 抓不到元素」時,Dev 覺得這不關他的事。
最後產出的自動化架構極度脆弱,因為產品程式碼本身根本沒有考慮過「可測試性(Testability)」。
從剛入行時盲目追求「案例數量」與「工具語法」,到現在我越來越清楚:自動化測試只是一個工具,真正的關鍵在於『測試策略』與『團隊溝通』。
搞清楚哪些不該寫、讓團隊知道自動化的邊界在哪裡,我們才能擺脫天天消防員式修腳本的輪迴,建立出一套自己敢信任、團隊也願意採納的自動化測試體系。
告別了這些美麗的幻想後,下一個我們在團隊裡最常被問到的硬核問題就是:
「Jane,你花了兩個月做這套自動化,到底幫我們省了多少時間?價值在哪裡?」
明天 Day 5,我們就從第一線 QA 的角度來聊聊:《 Day 5|如何衡量自動化測試的價值:從指標到團隊信任 》。