九号工具站
返回列表

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 每个场景都有可直接复制修改的程式码范例
ℹ️

一般声明

本站提供之资讯仅供参考,不保证其完整性与正确性。使用者应自行判断资讯之适用性。

意见反馈