← ClaudeAtlas

browser-qalisted

瀏覽器功能測試方法論。當要對某功能 / 頁面 / 流程做功能測試時觸發——含「開發完成需驗證新互動 / 新畫面 / 新流程」, 也含使用者說「執行 / 跑 / 做 一些測試案例」、「幫我測這個功能」、「跑 e2e / 端對端測試」、「回歸測試」、 「測試落地 / 沉澱測試 / 存測試案例」等意圖(這些都指「設計並執行功能測試、沉澱成可重跑 runner」,不是單純跑一支既有腳本)。 兩階段皆由 QA agent(qa-engineer)一手包:設計測試計畫(含 critical points)→ 預擬 codify 草稿 (grep 原始碼填真實值)→ 首跑收失敗清單 → 只對失敗 CP 定向探索補值,以結構化證據 (API 碼 / DOM 讀回 / 來源 readback)自我驗證並輸出測試報告;主 Agent 只派工收結論、不親跑 MCP。
abs1294/fulin-claude-plugins · ★ 2 · Testing & QA · score 65
Install: claude install-skill abs1294/fulin-claude-plugins
# Browser QA Skill > **機械保證的邊界(先讀)**:本 skill 分兩層—— > **產物層**(每個功能在 `tests/e2e/` 留下可重跑的 `test_*.py` + junitxml 報告 + 回填的 catalog)由 `qa-flow.sh` + Stop hook **機械強制**,AI 繞不過。 > **設計品質層**(覆蓋矩陣是否窮盡、證據是否夠強、是否真走兩階段 qa-engineer 設計)**無法機械強制**(品質是 AI-complete)——下面的方法論是**強烈建議的流程**,靠引導不靠閘門。 > 所以:產物一定會有,但「測得好不好」需人把關。別把「hook 全綠」當成「測試設計到位」。 把測試計畫的每條「預期結果」對映成一個 **critical point**,再落成可重跑 runner 裡**(至少)一行 `assert`**(雙向卡控等可多行)。 這條設計的好處:測試**寫一次**(探索階段花一次 agent token),之後直接 `pytest`(或對應 runner)跑—— 有 assert 就能自動判 pass/fail、無 agent、不花 token、可掛 CI。 > **方法論中立、載體固定優先 pytest(核心原則)**:本 skill 的價值在「測試設計方法論」(覆蓋矩陣 / > 可追溯 / CP→assert / 必測 checklist / 測試資料原則)。沉澱載體**固定優先 pytest-playwright**—— > **唯二例外**:(a) 目標專案「既有」測試資產就是別的 runner(如既有 Playwright JS 專案)→ 沿用既有、對齊風格; > (b) greenfield 且**使用者明確不同意**裝 Python 環境 → 退而用 Playwright JS。除此之外一律 pytest, > **不得因「載體中立」自行選 JS**(歷史踩雷:執行者看到子目錄有 JS 專案就鑽進去出 JS)。 > 判定一律靠**結構化證據**(API 業務碼、DOM/a11y 讀回、來源 readback),**不靠讀截圖**。截圖至多留檔備查。 > > **落點鎖死**:測試 / 報告 / catalog 一律落在**你起 session 的那個資料夾**底下(`tests/e2e/`), > **禁止鑽進子專案目錄**。此規範由 `qa-flow.sh`(鎖 `CLAUDE_PROJECT_DIR`)機械執行,見下方「qa-flow.sh 腳本」。 | Phase | 執行者 | 職責 | |-------|--------|------| | Phase 1 | QA Agent(本 plugin 的 `qa-engineer` agent) | 設計測試計畫、定義 critical points 與輸出格式 | | Phase 2 | QA Agent(同一個 `qa-engineer` agent 接續執行) | 預擬草稿(每 CP 一行 assert)→ 首跑收失敗清單 → 定向探索補值 → 結構化證據自驗 → 輸出測試報告 + 回填 catalog | > 主 Agent(指揮官)不出現在任何 Phase:它只判斷何時該 QA、派 qa-engineer agent(附環境啟動方式 / > 已知 DOM 坑 / allow-list 前提)、收報告結論,**不親跑 MCP**。實作 agent 不做瀏覽器自驗。 > **a