QA 必學 Python 腳本實戰指南:自動化測試、資料處理、報告生成一次搞定
QA 工程師用 Python 提升效率的完全教學,涵蓋自動化腳本、測試資料生成、Log 分析、報告自動化等實際場景,附可直接套用的程式碼範例。
最後更新:2026-05-24
目錄
1. QA 學 Python 要學到什麼程度?
QA 不需要像開發者一樣精通 Python。你需要的是「能寫腳本解決重複性工作」的程度。以下是 QA 需要掌握的 Python 技能層級。
-
Level 1(一週學會):變數、字串、列表、字典、If/For 迴圈、函式 → 能寫簡單的資料處理腳本
-
Level 2(兩週學會):檔案讀寫、Csv/Json 處理、Requests 套件 → 能自動化 Api 測試和資料處理
-
Level 3(一個月學會):Pytest 框架、Selenium/Playwright → 能寫自動化測試
-
Level 4(進階):Pandas 資料分析、排程(Schedule)、報告自動化 → 能建立完整的測試工具鏈
-
對 Qa 來說,Level 2 就能解決 80% 的問題。不需要學物件導向、設計模式那些
2. 場景 1:自動化重複性測試步驟
QA 最常見的痛點是「每次 regression 都要重複做一樣的事」。用 Python 寫腳本自動化這些步驟。
-
批量建立測試帳號:用 Requests 套件呼叫註冊 Api,一次建立 50 個測試帳號,而不是手動一個一個註冊
-
自動清理測試資料:測試結束後自動呼叫 Api 或連資料庫清理測試資料,確保下次測試環境乾淨
-
批量驗證 Api 回應:寫一個腳本呼叫 100 個 Api 端點,自動檢查 Status Code 和必要欄位,10 秒跑完手動要做 30 分鐘的工作
-
環境健康檢查:每天早上自動跑一次,檢查測試環境的所有服務是否正常,有異常自動發通知
小提示
- 先把你每天重複做的事列出來,挑最重複的那個開始自動化
- 不需要一次寫完美。先寫一個能跑的版本,後續再慢慢優化
3. 場景 2:測試資料生成
測試需要大量不同條件的資料,手動建立太慢。用 Python 的 Faker 套件可以快速生成各種測試資料。
-
安裝:Pip Install Faker
-
生成假資料:From Faker Import Faker; Fake = Faker('Zh_Tw') → Fake.Name() 生成中文姓名、Fake.Email() 生成 Email、Fake.Phone_Number() 生成電話
-
批量生成 Csv:用 Csv 套件把生成的資料寫入 Csv 檔案,方便匯入測試系統
-
邊界值資料:生成超長字串('A' * 256)、特殊字元、空值、極端數值等邊界測試資料
-
符合業務邏輯的資料:自訂生成器,例如「金額在 100-9999 之間、狀態從 [Pending, Paid, Shipped] 中隨機選」
4. 場景 3:Log 分析自動化
手動看 Log 太慢,用 Python 腳本自動分析 Log 中的錯誤模式。
-
統計錯誤類型:讀取 Log 檔案,用正則表達式擷取錯誤訊息,統計每種錯誤出現的次數,按頻率排序
-
時間分布分析:分析錯誤發生的時間分布,找出「每天下午 3 點錯誤最多」這種模式
-
跨 Log 關聯:同時分析 Access.Log 和 Error.Log,找出「哪些 Api 請求觸發了錯誤」
-
自動告警:腳本每 5 分鐘掃描一次 Log,如果 Error 數量超過閾值,自動發 Slack 通知
-
匯出報告:把分析結果匯出成 Html 或 Markdown 報告,附上圖表
5. 場景 4:API 測試自動化
用 Python 的 requests 套件 + pytest 框架,建立 API 自動化測試。
-
基本 Api 測試:Import Requests; Response = Requests.Get(Url); Assert Response.Status_Code == 200
-
Post 請求測試:Requests.Post(Url, Json=Payload, Headers=Headers) → 測試建立資源的 Api
-
回應驗證:用 Jsonschema 套件驗證 Api 回應的 Json 結構是否符合規格
-
串連測試流程:建立訂單 → 取得訂單 Id → 用 Id 查詢 → 用 Id 取消。每一步都驗證回應
-
參數化測試:用 Pytest.Mark.Parametrize 一次跑多組測試資料,同一個測試邏輯測 20 種情境
小提示
- API 測試腳本是 QA 自動化的最佳起點——比 UI 測試穩定、比單元測試容易理解
- 把 API 的 base URL 放在設定檔或環境變數中,方便在不同環境(dev/staging/prod)切換
6. 場景 5:測試報告自動化
每週手動整理測試報告很浪費時間。用 Python 自動從各來源收集數據、分析、產出報告。
-
從 Jira/Clickup 拉 Bug 數據:用 Api 取得本週的 Bug 列表、狀態、嚴重度分布
-
從 Ci/Cd 拉測試結果:解析 Junit Xml 或 Allure Json 報告,統計通過率和失敗測試
-
產出 Markdown 報告:用 Python 字串格式化產出結構化的週報
-
加入圖表:用 Matplotlib 或 Plotly 產出趨勢圖,嵌入報告中
-
自動發送:用 Smtplib 或 Slack Api 自動把報告發給團隊
7. 場景 6:排程與監控
讓腳本定時自動執行,不需要每次手動跑。
-
Python 排程:用 Schedule 套件在腳本內排程。Schedule.Every(30).Minutes.Do(Health_Check) → 每 30 分鐘跑一次健康檢查
-
系統排程:用 Cron(Linux)或工作排程器(Windows)定時執行 Python 腳本
-
監控腳本範例:每小時呼叫一次所有關鍵 Api,檢查回應是否正常、回應時間是否超標,異常時發通知
-
環境比對:每天自動比對 Staging 和 Production 的 Api 回應,找出環境差異
8. 推薦套件與學習路線
QA 最常用的 Python 套件和學習建議。
| 套件 | 用途 | 安裝指令 |
|---|---|---|
| requests | HTTP 請求(API 測試) | pip install requests |
| pytest | 測試框架 | pip install pytest |
| faker | 假資料生成 | pip install faker |
| pandas | 資料分析 | pip install pandas |
| selenium | 瀏覽器自動化 | pip install selenium |
| playwright | 瀏覽器自動化(更新) | pip install playwright |
| allure-pytest | 測試報告 | pip install allure-pytest |
| schedule | 任務排程 | pip install schedule |
| python-dotenv | 環境變數管理 | pip install python-dotenv |
小提示
- 學習順序建議:requests → pytest → faker → pandas → selenium/playwright
- 不要試圖一次學完所有套件。先學 requests + pytest,能寫 API 測試就已經很有價值了
重點整理
- 1 Python 是 QA 工程師最推薦學習的程式語言——語法簡單、套件豐富、社群活躍
- 2 本指南聚焦 QA 實際工作場景,不是教你從零學 Python,而是教你用 Python 解決 QA 的問題
- 3 涵蓋 6 大場景:自動化腳本、測試資料生成、Log 分析、API 測試、報告生成、排程任務
- 4 每個場景都有可直接複製修改的程式碼範例
相關懶人包
AI 自動化測試工具完全比較 2026:Testim、mabl、Katalon AI 等 6 大工具評測
2026 年 6 大 AI 自動化測試工具深度比較,涵蓋 Testim、mabl、Katalon AI、Applitools、Codium AI、Playwright AI 的功能、價格與適用場景。
AI 輔助測試實戰:5 個場景讓你的測試效率翻倍
從測試案例生成到視覺回歸,手把手教你在日常 QA 工作中導入 AI 工具,附實際操作步驟與工具推薦。
AI 驅動的測試報告分析與缺陷預測指南:讓數據幫你找到高風險模組
教 QA 團隊用 AI 工具分析測試報告、預測高風險模組、自動產出缺陷趨勢報告,從被動修 Bug 轉為主動預防,附實際工具與操作步驟。
一般聲明
本站提供之資訊僅供參考,不保證其完整性與正確性。使用者應自行判斷資訊之適用性。