九號工具站
返回列表

QA 必學 Python 腳本實戰指南:自動化測試、資料處理、報告生成一次搞定

QA 工程師用 Python 提升效率的完全教學,涵蓋自動化腳本、測試資料生成、Log 分析、報告自動化等實際場景,附可直接套用的程式碼範例。

Python QA 自動化 腳本 測試資料 報告生成 pytest

最後更新: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 每個場景都有可直接複製修改的程式碼範例
ℹ️

一般聲明

本站提供之資訊僅供參考,不保證其完整性與正確性。使用者應自行判斷資訊之適用性。

意見反饋