Claude × Playwright:30 天打造你的 Agentic SDET 同事

Day 11|每個結論都要有證據:讓證據包能交棒

前言 教會新同事從畫面觀察 API 並收集相關證據,今天終於有空可以來仔細看看這份證據包。 我記得自己是測試新手的時候,常常因為興奮而發現 Bug,我迅速寫好標題、列出重現步驟,甚至附上 log ,開票給開發人員,送出。但卻常常因 log 未完整收集或缺少關鍵資訊,就必須要重現問題再收集 log,這樣一來一回超級浪費時間的。為了避免我們的新同事重蹈覆轍,作為一個資深前輩,我們要檢查這位新同事是否已完整收集證據,還是草率了事。 為什麼證據包要能交棒 「留了證據」跟「這包證據能交給別人」是兩件事,而中間那道差距只有在你需要交出去的那一刻才會現形 —— 通常是你已經把單開出去、工程師回你一句「我這邊重現不出來」的時候。 那道差距長什麼樣?把同一包東西放在兩個讀者面前就看得出來: 你自己讀 別人讀 「登入成功」 記得是用哪個帳號 哪個帳號?哪個環境? 一張購物車截圖 記得那是按下去之後 按之前還是之後? 「network 沒問題」 記得看過哪幾筆 哪幾筆?在哪個檔案?
閱讀時間 11 分鐘

Day 10|從 UI 追到 API:教同事觀察 Network

前言 昨天是被動讀已經留下的證據,東西都在檔案裡,差別只在開哪一份。今天換一種姿勢:挑一個 UI 動作,主動追它到底做了什麼,然後面對昨天四種來源全部乾淨、卻確實有缺陷的那種情況。底下的數字都是 2026-08-02 實跑量到的,證據在 output/evidence/20260802-withbugs-network/,對照組在 output/evidence/20260802-toolshop-checkout/。 為什麼要追到 network UI 是最會騙人的一層。畫面上的每一個數字、每一個狀態,都可以是前端自己畫的。徽章從 0 變 1,可能是因為後端建了購物車,也可能只是前端把一個變數加一。這兩件事在畫面上長得一模一樣。 不追到 network,你驗的就是前端的渲染邏輯,不是產品的行為。而昨天那四種來源有個共同的盲點:它們都只回答「發生了什麼」,不回答「
閱讀時間 7 分鐘

Day 09|不只看畫面:教同事檢查 Console

前言 Day 8 教會它留證,一輪跑完會交回截圖、console、network、trace 四份檔案。今天面對下一個問題:四份檔案攤在面前,你怎麼知道該看哪一份?底下的數字都是 2026-08-02 對 automationexercise.com 實跑量到的,證據在 output/evidence/20260802-automationexercise/。 為什麼要分辨證據來源 留證有個陷阱:檔案愈多,愈像做完了。實際上那四份檔案回答的是四個不同的問題,而它們之間有縫。 截圖說得出症狀,說不出原因。network 說得出發了哪些請求,說不出回 200 的那一筆內容是錯的。console 說得出程式報了什麼錯,說不出畫面因此長成什麼樣。 縫的代價是漏。缺陷同時落在兩份檔案上,一份寫症狀、一份寫原因,只讀其中一份的人會判它通過。更糟的是這種漏不會留下痕跡:你手上有完整的證據包,報告寫「未發現異常」
閱讀時間 8 分鐘
Day 08|先學會做筆記:建立測試證據蒐集流程
Claude × Playwright:30 天打造你的 Agentic SDET 同事

Day 08|先學會做筆記:建立測試證據蒐集流程

前言 第一週結束時它已經能操作產品,也留得下東西,只是留得很粗糙:截圖是隨手截的、console 是整包倒出來的,哪些重要、哪些是雜訊分不出來。今天把「有留」變成「留得對」,主角是 evidence-package 這個 skill,底下靠 Playwright 的 screenshot、trace、network 產出硬證據。段落順序照 2026-08-02 拍板的節次走,數字都是那天實跑量到的。 為什麼第一件事是留證 現在還沒開始找 bug,先教蒐證看起來像繞路。反過來想:等到真的找到東西才學留證,那一刻你手上只有一句「我剛剛看到它壞掉」,重現要重跑、細節靠回憶、開單前還得再走一次。這是新手最常付的一種學費。 留證還會逼出誠實。一份證據包會逼出兩件事:你只能寫得出檔案接得住的結論,而且你必須把看到的跟推論的分開寫。趁還沒有「我找到大 bug
閱讀時間 10 分鐘
Day 07|入職第一項任務:完成一次端到端產品操作
Claude × Playwright:30 天打造你的 Agentic SDET 同事

Day 07|入職第一項任務:完成一次端到端產品操作

前言 新同事到職第一週,你不會馬上叫他去挑產品毛病。你會叫他自己走一遍流程,然後回來跟你講他看到什麼。 不是因為他還不夠格挑毛病,是因為在他能講清楚「產品正常時長什麼樣」之前,他講的「不正常」你不敢信。 今天這位同事做第一件真正的事:完整走一次產品流程。 為什麼第一項任務不是找 bug 三個理由。 一、先確認管線是通的。 前六天鋪的東西 —— 瀏覽器、帳號、產品知識、權限 —— 到底有沒有真的接上,只有跑一次才知道。這時候失敗是好事,因為你知道問題出在自己的設定,不在產品。 二、先確認它看得懂畫面。 它「看得到」畫面不代表「看得懂」。分不分得出哪個是主要按鈕、找不找得到購物車、知不知道結帳走到第幾步 —— 這些要看它實際操作才知道。 三、建立留證的習慣,趁還沒開始找 bug 的時候。 這一條最重要。等它開始回報問題,你才要求證據,就晚了 —— 那時候你會為了看它到底對不對,回頭自己重走一遍,
閱讀時間 12 分鐘
Day 06|申請帳號與權限:讓 Agent 安全登入產品
Claude × Playwright:30 天打造你的 Agentic SDET 同事

Day 06|申請帳號與權限:讓 Agent 安全登入產品

前言 新同事報到,IT 開的是他自己的帳號,不是把你的密碼抄一份給他。能開哪些系統看職務,不是一次全開。 這件事我們都覺得理所當然。但很多人讓 AI 上工的時候,是直接把密碼貼進對話框的。 今天要處理的就是這件事。而且「權限」在這裡不是一件事:前四件是一般 coding agent 也有的本機與工具控制,第五件是任務授權,最外面還有受測系統本身的強制控制。 為什麼 SDET 的權限題比一般 agent 大一圈 一般 coding agent 的副作用是改你的碼。它改壞了,git checkout 就回來了,最糟糕的是浪費你半小時。 這位同事的副作用打到別人身上: * 開一張 issue,會通知一整個 channel 的人 * 重置共享測試環境,會擋掉別人正在跑的 pipeline * 刪測試資料,可能毀掉同事跑到一半的驗證 * 對正式站做安全測試,那是另一種等級的麻煩 這些動作的共同點是收不回來。
閱讀時間 11 分鐘
Day 05|產品新人訓練:讓 Claude 看懂系統與功能
Claude × Playwright:30 天打造你的 Agentic SDET 同事

Day 05|產品新人訓練:讓 Claude 看懂系統與功能

前言 昨天發了員工手冊,這位同事知道公司的規矩了。但它還不知道自己要測的東西長什麼樣。 先別急著餵文件。這一集要回答的是更前面的問題:它到底在哪些時候需要產品知識? 這個問題的答案決定了你要準備多少東西。準備太少,它判不出真正的問題;準備太多,你會花兩個禮拜整理一份沒人看的文件。 為什麼不是先整理一份完整的產品文件 新人訓練最直覺的做法,是把手上所有文件丟給他:需求、規格、API 文件、歷史決策。對真人來說,這頂多是浪費幾天,對這位同事來說,並不需要這麼做。 所以問題要倒過來問:它在哪些時候真的需要規格?答案不是「隨時」。有一整類缺陷,它光看畫面就判得出來,那類完全不用你準備;剩下那類,不管你讀幾遍,畫面都判不出來,那類才值得你寫。 先看第一類長什麼樣,再看它的天花板在哪裡。 有一種 bug,不需要任何產品知識 先看一個真的抓到的例子。 我讓它去逛一個電商 demo 站的購物車,它回報了這個: 購物車頁面每一列商品的 Total 欄位一律顯示 $00.00,
閱讀時間 10 分鐘
Day 04|發員工手冊:用 CLAUDE.md 定義工作規則
Claude × Playwright:30 天打造你的 Agentic SDET 同事

Day 04|發員工手冊:用 CLAUDE.md 定義工作規則

前言 「下禮拜有個新功能要上線,要麻煩你幫忙看一下有沒有問題?」 收到這個任務之後,你的同事通常會先問一串問題,畢竟同事不會通靈,如果通靈可以的話,是不是觀落陰要變成每個測試人員的技能: * 功能相關的文件放在哪裡? * 有沒有開發相關文件或測試計畫? * 已經有手動測試案例了嗎? * 目前有沒有自動化測試? * 迴歸測試有包含這個功能嗎? * 測試完之後,測試報告要放在哪裡? 我的這位新同事也是一樣,如果每次開始工作前都要重新講一次專案結構、測試流程和相關操作限制,我會把時間全部花在重複交接上,不如我把這些工作須知,都寫進 CLAUDE.md 裡面。 它就是發給新同事的員工手冊:不會包含所有知識,但會告訴他開始工作前該知道什麼,以及需要更多資訊的時候該去哪裡找。 CLAUDE.md 是什麼 一份給 Claude Code 的專案指示,專案層級通常放這兩個位置之一: ./CLAUDE.md ./.claude/CLAUDE.md 每次新對話開始的時候,Claude Code 會把範圍內的 CLAUDE.md 載入自己的腦袋。除了專案底下這份,它也支援使
閱讀時間 17 分鐘
Day 03|準備辦公環境:建立 Claude × Playwright 專案
Claude × Playwright:30 天打造你的 Agentic SDET 同事

Day 03|準備辦公環境:建立 Claude × Playwright 專案

前言 昨天說到脫穎而出的是 Claude,今天先講為什麼。 Claude Code 有一套叫 skill 的機制:你可以把一段工作方法寫成 Markdown 檔,放進固定位置,之後它遇到對應的情境就會自己讀進來照做。這件事聽起來平凡,但它把兩樣東西分開了 —— 怎麼做是能力,做什麼是產品知識。能力寫成 skill,可以帶著走;產品知識放在另一個資料夾,換一個受測產品就換一份。 這正好是我這 30 天想建立的東西:這是一位換了公司甚至模型也還能繼續工作的同事,而並不需要綁死在某個專案裡的提示詞,當然針對公司產品還是要調整一番,但隨著模型越來越厲害,我相信這件事情會越來越容易。 好,先回到今天要做的事,就是幫這位同事準備辦公環境:一台電腦、一雙能看見畫面的眼睛、一本記事本,還有報到手續。 Claude Code 的工作方式 Claude 是 Anthropic 開發的 AI 模型,能理解人類語言、分析內容、產生程式碼,
閱讀時間 9 分鐘
Day 02|職務說明書:Agentic SDET 到底負責什麼?
Claude × Playwright:30 天打造你的 Agentic SDET 同事

Day 02|職務說明書:Agentic SDET 到底負責什麼?

前言 徵人啟事發出去之後,我收到不少應徵信。Gemini、ChatGPT、Claude 都投了,還有幾個開源模型,包括七月剛放出權重的 Kimi K3。每篇自我介紹都很精彩:有的說自己擅長剪片配音,有的說最會搜資料,能把一堆雜訊整理成學習報告跟投影片,有的自稱全能翻譯,任何語言即時轉換。但沒有一個講得出 Agentic SDET 要做什麼,於是我寫了這篇文章。 Agentic 之亂 我想起多年前的 Ops 之亂。當時的情況跟現在的 AI 差不多,大家喜歡在職稱前面加個字首:DevOps、TestOps、SecOps,接著是 DevTestOps,甚至 OpsOps。這樣說來,我把 Agentic 湊到 SDET 前面,應該也不為過。 但這個字首背後有實質差異。傳統測試的工作,不外乎寫測試計畫、測試策略、測試案例,
閱讀時間 12 分鐘
Day 01|歡迎新同事:我要打造一位 Agentic SDET
Claude × Playwright:30 天打造你的 Agentic SDET 同事

Day 01|歡迎新同事:我要打造一位 Agentic SDET

前言 最近真的忙爆了!新功能要手動測試、舊的功能要跑自動化測試,重點是新功能除了要瞭解原先的產品知識外,還需要瞭解新功能的內容與架構,再撰寫對應的測試計畫與測試案例,重點是原本負責的自動化測試常常動不動就在 CI 上面壞掉、而且測試環境還偶爾不穩定,我還要邊看分析失敗原因,才能確定是不是要修改測試程式碼。 常常處理其中某件事情,我的一天就過了,啊啊啊……下禮拜又是 sprint 的最後一天了,如果有個同事能夠幫我就好了,於是我決定撰寫一篇徵人啟事,讓我自己不需要再處理這類的事情,只需要在關鍵時刻找我判斷就好。 徵人啟事 首先,我希望這位同事能自行探索、判斷問題:只要給予目標與條件,他即可找出問題並記錄結果。當然,在自動化測試盛行的時代,他必須能撰寫測試腳本、理解產品知識,並在檢視錯誤後自行修復失敗的測試。 為什麼要找同事,而不是更好的工具?差別不只在功能,而在誰負責決定下一步。一般工具等你操作,遇到預期外的結果,通常還是由人判斷原因與接下來怎麼做;同事則可以接住一個目標,自己尋找解決方案,遇到超出權責的情況再停下來詢問。常常我們缺的不是更多工具,而是一個能幫你扛掉重複工作的
閱讀時間 6 分鐘
測試框架地圖:我為什麼建了 testframe.works,以及你該怎麼用它
精選

測試框架地圖:我為什麼建了 testframe.works,以及你該怎麼用它

如果今天身為團隊或者是公司唯一的測試人員,有一天主管走過來問你:「我們的產品,還有哪些測試可以做?」,請 AI 列一份清單?說「我們應該多做一點測試」?還是憑直覺說幾個聽起來專業的名詞?是不是有更好的測試方法論或是邏輯判斷依據,讓你可以分析產品的品質呢? 這個是莫約 4 年前,我們團隊接了一個遺留產品專案,原本功能是分散給各個產品團隊開發,但決定由一個團隊來負責,當時主管問了我這個問題,「我們還有哪些可以做的測試?」,而我當時的做法,是拿出測試金字塔和 Marick 測試象限,把產品現有的測試活動對應進去,然後看哪些格子是空的。空的格子,就是可以補強的地方。 使用任何的理論或框架,是需要了解當時的背景 隨著資歷越來越深,我越來越相信一件事:了解測試框架的來源、步驟與適用情境,跟會用這個框架同樣重要。 因為我們很容易看到某間公司的 Best Practice 就想直接套用,卻沒有注意到它的歷史背景。Google 的測試蜂巢模型是為了他們的系統規模設計的。Netflix 的混沌工程是為了分散式架構。把這些方法放到一個十人新創或中型企業,不一定適合你的團隊或你的公司,但搞清楚框架的
閱讀時間 7 分鐘
測試策略的全知讀者視角:從金字塔到 AI 時代的多次轉變

測試策略的全知讀者視角:從金字塔到 AI 時代的多次轉變

測試策略的全知讀者視角:從金字塔到 AI 時代的多次轉變 本文由作者撰寫主要觀點,AI 協助資料蒐集、結構編排與文字潤飾,最終由作者審定。 前言 在現代軟體開發中,測試已不再是開發完成後才啟動的獨立階段,而是必須貫穿整個開發流程的核心實踐。 但隨著前後端分離、微服務架構的普及,以及 AI 輔助開發的崛起,「應該怎麼分配測試資源」這個問題也開始有了不同的答案。測試金字塔(Testing Pyramid)作為敏捷時代的經典模型,正在被測試獎盃(Testing Trophy)、測試蜂窩(Honeycomb)、測試鑽石(Diamond)、測試螃蟹(Crab)等新模型挑戰與補充。 本文將從歷史脈絡出發,梳理這些模型的起源、適用場景與侷限,幫助你在不同的架構與團隊情境下,做出更合適的測試策略決策。 測試金字塔 起源與架構邏輯 測試金字塔最早由 Mike Cohn 在其 2009 年的著作《Succeeding with Agile》
閱讀時間 28 分鐘
拒絕加班的藝術:為什麼「測試左移」是測試工程師準時下班的救星?

拒絕加班的藝術:為什麼「測試左移」是測試工程師準時下班的救星?

前言 常常上線前三天才開始測新功能,結果一跑測試才發現功能與當初的文件不符合,於是開始與 PM 和開發釐清,花了幾天的時間,才搞清楚功能規格,但上線日期不會因為這些事情而延後,但我的下班時間會? 我曾經試著將測試左移引導至開發流程裡,對於釐清使用者需求的效果不錯,但涉及團隊的開發習慣、公司組織架構與產品特性,落地的困難度不一。如果你和我真的很想準時下班,我們可以來重新看看「測試左移」會不會是測試工程師準時下班的救星。 測試左移的起源與定義 要理解左移能不能真的幫上忙,先看看它從哪裡來。 2001 年的時空背景 測試左移在 2001 年被提出,想要理解為什麼被提出,需要先理解當時的開發環境。首先要介紹瀑布模型(Waterfall Model)和 V 模型(V-Model)這兩個當時主流的開發模型。 瀑布模型(Waterfall Model) 由 Winston Royce 在 1970 年的論文中首次描述(諷刺的是,Royce 本人其實是在論述這個模型的缺陷)
閱讀時間 24 分鐘
你的 async 真的是 async 嗎?FastAPI 平行處理踩坑紀錄

你的 async 真的是 async 嗎?FastAPI 平行處理踩坑紀錄

#開發筆記 前言 這是一個 RTSP 攝影機串流模擬工具。主要功能是當收到 API 的請求後,用 ffmpeg 將原本錄製好的 mp4 檔案透過 RTSP 推出去,模擬多台攝影機同時輸入的情境。 但當我同時送出兩個 API request,我發現第二個請求一定會等到第一個請求跑完才開始處理。可是程式碼裡面我明明宣告了 async def,為什麼沒有同時平行處理呢? ThreadPoolExecutor 是什麼 Python 的程式預設是單執行緒,也就是說同一個時間只會有一條執行路徑在執行。ThreadPoolExecutor 是標準函式庫 concurrent.futures 所提供的工具,讓我們可以同時間執行多個執行緒來處理工作。 基本概念 from concurrent.futures import ThreadPoolExecutor def do_work(n): return n * 2 with ThreadPoolExecutor(
閱讀時間 13 分鐘
實戰分享:如何用 Robot Framework 建立自動化測試流程

實戰分享:如何用 Robot Framework 建立自動化測試流程

回到 2019 年,那時的我們對 Robot Framework 的了解還不夠深入,導致許多測試案例無法平行執行;再加上測試資料管理的不足,進一步加大了測試的複雜度。然而,經過這些年的實踐,我們逐漸找到了應對之道。在撰寫新的自動化測試框架時,我們特別考慮了這些問題,並融入了解決方案。與五年前相比,現在的測試流程更加效率且穩定。 如果你對測試領域有興趣,建議參考我的 Threads,裡面涵蓋了豐富的測試知識、實用技巧和測試思維。若你想深入探討測試議題,例如:測試的學習路徑、敏捷流程的應用,或小型新創公司與大型企業的測試困難點。 前言 在 2019 年初,隨著產品迭代的速度變得越來越快,對於快速釋出新功能變得越來越不容易。當時團隊負責的產品已經是第八版 (2019),已經累積將近 8000 多個測試案例。 如果要釋出一項新功能,必須花費將近數個禮拜的時間做迴歸測試 (Regression Testing),除了原本的新功能,還必須重複地執行可能會被影響的舊功能的測試案例,以確保舊功能沒有任何的影響。 於是透過自動化測試保護重要的功能和新功能。最後花費將近一年的時間,將大部分的
閱讀時間 6 分鐘
在新創公司建立測試流程 — 從零開始的 QA 之路

在新創公司建立測試流程 — 從零開始的 QA 之路

最近在 reddit 看到一篇文章(原文連結),讓我感觸很深。身為新創公司唯一的 QA/SDET,我發現不少人也面臨相同的挑戰。即使有多年經驗,還是會覺得挑戰不小,更何況是剛入行的 QA?這感覺就像是一個新手球隊經理,獨自肩負打造冠軍隊伍的責任,既困難但也充滿機會。 瞭解公司的開發流程 在一間已經有產品上線的新創公司要建立測試流程,第一步是先搞清楚目前的開發流程,看看是否已經有測試機制運作中。也要特別注意開發週期中是否有經常被忽略的環節,這些地方往往是問題最多、最容易在上線後爆發的地方。 如果前期的測試還無法涵蓋大部分的使用者情境,那麼上線後的監控就變得特別重要。確保有足夠的監控機制,能夠即時發現問題、快速修復,這樣才能降低對用戶體驗的影響,並持續優化產品品質。 通常,我會使用測試金字塔模型或敏捷測試象限圖來檢視測試的缺口,確認有哪些地方做得不夠完善,但卻很關鍵部分。這些工具可以幫助我們更有系統地分配測試資源,確保每個環節都有適當的測試覆蓋。 在測試執行方面,一般來說: 單元測試通常由開發人員來寫,如果團隊還沒有這個習慣,可以先鼓勵大家養成撰寫單元測試或整合測試 (API
閱讀時間 6 分鐘