小牛丨软件测试学习小牛丨软件测试学习
首页
  • 业务测试面试题
  • 数据库测试面试题
  • Linux测试环境面试题
  • 网络协议测试面试题
  • 中间件测试面试题
  • Java测试开发面试题
  • Python测试开发面试题
  • Python自动化面试题
  • Java自动化面试题
  • 性能测试面试题
  • 手撕代码
  • HR面试题
  • 系列总入口
  • 业务测试理论
  • 数据库测试
  • Linux测试环境
  • 网络协议
  • 中间件测试
  • Python编程
  • Java编程
  • 自动化测试
  • 性能测试
  • AI测试
  • HR面试
  • AI测试学习路线
  • AI测试基础面试题
  • 大模型测试面试题
  • AI自动化测开面试题
  • AI Agent测试面试题
  • AI性能与稳定性测试面试题
  • AI应用安全测试面试题
  • 互联网大厂面试真题
  • 互联网中厂面试真题
  • 手机厂商面试真题
  • 通信厂商面试真题
  • 新能源汽车面试真题
  • 银行金融面试真题
  • 项目说明
  • 电商接口文档
  • 实战项目总入口
  • 测试简历编写指南
  • 20K level 简历打磨指南
  • 测试简历模板参考
  • 简历常见问题与避坑
  • 零基础入行专题路径
  • 初中级进阶高级专题路径
  • 零基础小白入行软件测试保姆级学习路线
  • 初中级测试进阶高级测试全路线
首页
  • 业务测试面试题
  • 数据库测试面试题
  • Linux测试环境面试题
  • 网络协议测试面试题
  • 中间件测试面试题
  • Java测试开发面试题
  • Python测试开发面试题
  • Python自动化面试题
  • Java自动化面试题
  • 性能测试面试题
  • 手撕代码
  • HR面试题
  • 系列总入口
  • 业务测试理论
  • 数据库测试
  • Linux测试环境
  • 网络协议
  • 中间件测试
  • Python编程
  • Java编程
  • 自动化测试
  • 性能测试
  • AI测试
  • HR面试
  • AI测试学习路线
  • AI测试基础面试题
  • 大模型测试面试题
  • AI自动化测开面试题
  • AI Agent测试面试题
  • AI性能与稳定性测试面试题
  • AI应用安全测试面试题
  • 互联网大厂面试真题
  • 互联网中厂面试真题
  • 手机厂商面试真题
  • 通信厂商面试真题
  • 新能源汽车面试真题
  • 银行金融面试真题
  • 项目说明
  • 电商接口文档
  • 实战项目总入口
  • 测试简历编写指南
  • 20K level 简历打磨指南
  • 测试简历模板参考
  • 简历常见问题与避坑
  • 零基础入行专题路径
  • 初中级进阶高级专题路径
  • 零基础小白入行软件测试保姆级学习路线
  • 初中级测试进阶高级测试全路线
  • Python 编程精华文章

    • Python 编程精华文章
    • 1. Python 基础语法面试怎么准备
    • 2. 列表元组字典集合怎么区分
    • 3. Python 字符串常用操作怎么用
    • 4. 函数参数和返回值怎么理解
    • 5. 异常处理在测试脚本中怎么用
    • 6. 文件读写和数据驱动测试
    • 7. Pytest 基础用法怎么讲
    • 8. Pytest fixture 怎么理解
    • 9. Python 接口测试脚本怎么写
    • 10. Python 自动化框架能力怎么提升
⌕
🛒项目实战📦资料包🛠测试神器AIAI路线CV简历测评🧭入行测评🧪测开测评🎯训练营🏆案例❤赞赏我

1. Python 基础语法面试怎么准备

测试工程师准备 Python 基础语法,不能只按开发岗位的方式去背语法点。测试岗位更关注你能不能用 Python 写测试脚本、处理测试数据、调用接口、读取文件、封装公共方法、定位异常和搭建自动化框架。也就是说,Python 基础不是为了展示语法多熟,而是为了证明你能把它用到测试工作里。

面试中问 Python 基础语法,常见考点包括变量、数据类型、条件判断、循环、函数、列表、字典、元组、集合、字符串、文件读写、异常处理、模块导入等。回答时不要一个个干背,最好结合接口自动化、数据驱动、日志处理、测试数据构造这些场景来讲。这样面试官会觉得你不是“学过 Python”,而是真的“用 Python 做过测试”。

一、测试工程师为什么要学 Python

Python 在测试岗位中应用非常广,常见场景包括:

  • 编写接口自动化脚本;
  • 用 requests 调用接口;
  • 用 pytest 组织测试用例;
  • 读取 Excel、CSV、YAML、JSON 测试数据;
  • 处理接口响应和断言;
  • 生成测试报告;
  • 批量构造测试数据;
  • 分析日志和统计结果;
  • 封装自动化测试框架;
  • 编写小工具提升测试效率。

所以 Python 基础语法要围绕这些目标学习。

二、变量和数据类型怎么准备

Python 常见数据类型包括:

  • int:整数;
  • float:小数;
  • str:字符串;
  • bool:布尔值;
  • list:列表;
  • tuple:元组;
  • dict:字典;
  • set:集合;
  • None:空值。

测试脚本中最常用的是字符串、列表和字典。

例如接口响应通常是 JSON,转换到 Python 后就是字典和列表:

response = {
    "code": 0,
    "message": "success",
    "data": {
        "order_id": "NO10001",
        "status": "paid"
    }
}

assert response["code"] == 0
assert response["data"]["status"] == "paid"

面试时可以说:我理解数据类型不是为了背概念,而是为了处理接口请求参数、响应 JSON 和测试数据。

三、条件判断怎么用

条件判断用于根据不同结果执行不同逻辑。

if status_code == 200:
    print("接口请求成功")
else:
    print("接口请求失败")

测试场景包括:

  • 判断接口状态码;
  • 判断业务 code;
  • 根据环境选择不同域名;
  • 根据用例结果统计成功失败;
  • 根据字段是否存在做断言。

例如:

if result["code"] == 0:
    assert result["data"] is not None
else:
    assert result["message"] != ""

四、循环怎么用

循环常用于批量执行测试数据。

cases = [
    {"username": "user1", "password": "123456"},
    {"username": "user2", "password": "123456"},
]

for case in cases:
    print(case["username"])

测试场景:

  • 遍历测试用例;
  • 批量调用接口;
  • 批量生成账号;
  • 遍历接口返回列表;
  • 统计失败用例。

循环和列表、字典结合,是数据驱动测试的基础。

五、函数怎么准备

函数用于封装重复逻辑。自动化测试中,函数非常重要。

例如封装登录:

def login(username, password):
    payload = {"username": username, "password": password}
    return payload

真实项目中会封装:

  • 登录方法;
  • 请求方法;
  • 数据库查询方法;
  • 读取文件方法;
  • 断言方法;
  • 生成测试数据方法。

函数的价值是减少重复代码,提高维护性。

面试可以这样说:

我在自动化脚本中会把登录、请求封装、数据读取、断言这些重复逻辑封装成函数,避免每个用例重复写。

六、列表和字典为什么重要

列表适合保存一组数据,字典适合保存键值对。接口测试中,它们非常常用。

请求参数通常是字典:

payload = {
    "product_id": 1001,
    "count": 2
}

多条测试数据通常是列表:

cases = [
    {"title": "正常下单", "count": 1, "expected": 0},
    {"title": "库存不足", "count": 9999, "expected": 4001},
]

接口响应中的列表也很常见:

orders = response["data"]["list"]
assert len(orders) > 0

七、字符串常用操作

测试中字符串常用于处理 URL、Token、日志、接口字段。

常用操作包括:

  • 拼接;
  • 切片;
  • 查找;
  • 替换;
  • 分割;
  • 去空格;
  • 格式化。

例如:

base_url = "https://api.example.com"
path = "/api/orders"
url = f"{base_url}{path}"

处理日志:

line = "ERROR order_id=NO10001 payment failed"
assert "ERROR" in line

八、文件读写怎么用

自动化测试经常要读取测试数据和写入结果。

例如读取 JSON 文件:

import json

with open("case.json", "r", encoding="utf-8") as f:
    data = json.load(f)

写入日志或结果:

with open("result.txt", "w", encoding="utf-8") as f:
    f.write("测试完成")

with open 可以自动关闭文件,是推荐写法。

九、异常处理怎么用

异常处理用于避免脚本因为一个错误直接中断,同时记录错误信息。

try:
    result = 10 / 0
except ZeroDivisionError as e:
    print(f"计算异常: {e}")

测试场景:

  • 接口请求超时;
  • 文件不存在;
  • JSON 解析失败;
  • 数据库连接失败;
  • 字段不存在;
  • 用例执行失败后记录日志。

异常处理不是为了吞掉错误,而是为了让错误可定位。

十、模块和包怎么理解

Python 中可以把代码拆成不同模块。自动化框架中常见结构:

common/      公共方法
config/      配置文件
data/        测试数据
testcases/   测试用例
utils/       工具方法

例如:

from common.request_util import send_request

面试时可以说:自动化框架会把请求封装、配置读取、日志、断言、数据处理分模块管理。

十一、测试岗位 Python 面试常见问题

常见问题包括:

  • Python 有哪些数据类型;
  • 列表和元组区别;
  • 字典怎么取值;
  • 函数参数怎么理解;
  • 如何处理异常;
  • 如何读写文件;
  • 怎么读取 JSON;
  • 怎么用 Python 调接口;
  • pytest 怎么组织用例;
  • fixture 怎么用。

准备时要尽量带测试场景回答。

十二、面试回答模板

如果面试官问“Python 基础语法怎么掌握”,可以这样回答:

我学习 Python 主要是从测试脚本和自动化框架角度掌握。基础语法包括变量、字符串、列表、字典、元组、集合、条件判断、循环、函数、文件读写、异常处理和模块导入。实际项目中,接口请求参数和响应 JSON 通常会用字典和列表处理;批量测试数据会用循环执行;登录、请求封装、断言和数据读取会封装成函数;文件读写用于读取 JSON、YAML、CSV 或写测试结果;异常处理用于捕获接口超时、文件不存在、字段缺失等问题,方便定位脚本失败原因。

十三、常见追问

追问:测试中最常用哪些数据类型?

字符串、列表、字典最常用。字符串处理 URL 和字段,列表保存多条测试数据,字典处理请求参数和响应 JSON。

追问:为什么要封装函数?

减少重复代码,提高维护性。例如登录、请求、断言、读取文件都适合封装。

追问:异常处理是不是把错误忽略?

不是。异常处理是为了捕获错误、记录原因、让脚本更容易定位问题,而不是隐藏缺陷。

十四、练习清单

  1. 熟悉字符串、列表、字典;
  2. 用循环遍历测试数据;
  3. 封装一个登录函数;
  4. 读取一个 JSON 文件;
  5. 写入测试结果文件;
  6. 捕获一次接口请求异常;
  7. 解析接口响应 JSON;
  8. 断言业务 code;
  9. 拆分公共模块;
  10. 准备 Python 基础面试回答。

Python 基础语法的学习目标,不是把每个语法点背下来,而是能把它们组合成测试脚本,解决接口自动化、数据处理和框架封装中的实际问题。

配套刷题:

  • Python测试开发面试题
相关推荐

下一步可以看这些

面试通关软件测试面试通关系列精华文章

把面试题、项目、简历和训练营串成一套求职准备路径。

入行路线零基础入行软件测试专题路径

从测评、学习路线、项目、简历到面试,按顺序入行。

进阶路线初中级测试进阶高级专题路径

接口自动化、性能测试、CI/CD、复杂业务质量保障进阶路线。

AI 方向AI 测试学习路线专题页

大模型评测、RAG 测试、Agent 测试和 AI 自动化路线。

求职结果Offer 案例 / 学员案例展示

看看真实学员 Offer 案例,判断目标和学习投入是否匹配。

资料 / 交流群添加小牛微信

备注:资料、简历、AI 或找工作,领取对应资料或进交流群。

添加小牛微信
Prev
Python 编程精华文章
Next
2. 列表元组字典集合怎么区分