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 驱动的测试报告分析与缺陷预测指南:让数据帮你找到高风险模组
教 QA 团队用 AI 工具分析测试报告、预测高风险模组、自动产出缺陷趋势报告,从被动修 Bug 转为主动预防,附实际工具与操作步骤。
GitHub Copilot 写测试脚本实战指南:QA 用 AI 写 Playwright 和 Selenium 测试
手把手教 QA 工程师用 GitHub Copilot 撰写 Playwright 和 Selenium 自动化测试脚本,含 Prompt 技巧、实际案例、常见陷阱与最佳实践。
一般声明
本站提供之资讯仅供参考,不保证其完整性与正确性。使用者应自行判断资讯之适用性。