前言
为了帮助小伙伴们在面试中更容易地拿捏住面试官,帮助大家更容易解决面试中的问题,特意创建这个这个系列文章,大家如果觉得不错可以关注我并转发,让更多程序兄弟看到~接下来我们进入正文环节(面试题+答案领取方式:关注公众号【蜀道衫】回复“666”)
一、基础理论题(必问,初级 / 中级测试)
- 什么是接口自动化测试?为什么要做接口自动化,和手工接口测试区别在哪?
- HTTP 常见请求方法 GET/POST/PUT/DELETE 区别,适用业务场景?
- 400、401、403、404、405、500、502、503 状态码分别代表什么,接口测试如何排查?
- Cookie、Token、Session、JWT 区别,自动化中怎么全局携带鉴权信息?
- 接口请求头 Content-Type:application/json、x-www-form-urlencoded、multipart/form-data 差异,自动化传参注意点?
- 接口中入参 query、path、body 参数怎么区分,代码里分别怎么传?
- 接口依赖是什么?举个业务场景,自动化如何处理接口依赖(A 接口返回数据给 B 接口使用)?
- 接口测试断言怎么做?只校验状态码够吗?一般断言哪些内容?
- 接口超时、接口重试机制怎么设计,什么场景需要加重试?
二、工具实操类(Postman、JMeter 高频)- Postman 如何实现接口自动化?Collection、环境变量、全局变量作用?
- Postman Tests 脚本怎么提取 token、id 等返回值,实现接口关联?
- Postman 批量执行接口,导出测试报告怎么做?
- JMeter 正则提取器、JSON 提取器使用场景,二者怎么选?
- JMeter 全局 token 怎么统一管理,避免每个接口重复登录?
- JMeter 接口报错 400、500,你排查步骤是什么?
三、Python+Requests 自动化框架核心(市场主流,面试重点)- requests 库常用方法:get/post 传参方式,json 参数和 data 参数区别?
- 如何封装统一请求工具类(统一处理 url、请求头、token、超时、异常捕获)?
- 接口依赖怎么处理?举代码思路:登录接口获取 token,其他接口自动携带。
- 响应结果是 json 格式,如何提取指定字段做断言?多层嵌套 json 怎么取值?
- 自动化中异常捕获怎么写?网络超时、接口 500、参数错误如何区分捕获?
- 如何实现接口数据分离?用 yaml/excel 存储用例,好处是什么?
- 什么是数据驱动测试 DDT,写一个简单 ddt 实现接口多组参数测试?
- 日志模块 logging 在自动化框架中的作用,如何分级打印日志(INFO/ERROR)?
- 自动化测试报告有哪些?Allure、HTMLTestRunner 区别,怎么生成可视化报告?
- 接口加密场景:请求参数 AES/RSA 加密,返回数据解密,框架怎么封装?
- pytest 相比 unittest 优势有哪些?
- fixture 作用,如何实现全局登录 token fixture,所有用例自动调用?
- fixture 的作用域(function/class/module/session)分别适用什么场景?
- pytest 参数化几种方式,如何读取 yaml 文件批量参数化接口用例?
- pytest 跳过用例、预期失败、重跑失败用例命令怎么写?
- pytest 钩子函数 conftest.py 作用,为什么不用到处导入 fixture?
- 如何控制用例执行顺序?接口有强依赖时怎么保证执行先后?
- Allure 报告常用装饰器(@feature、@story、@severity)使用场景?
五、完整自动化框架架构实战题(中级 / 高级测试必问)- 说说你搭建的接口自动化框架整体目录结构,每个文件夹作用?
- 框架分层设计:请求层、用例层、数据层、公共工具层、报告层,分层意义?
- 如何实现多环境切换(测试环境、预发、生产),不用修改代码切换地址?
- 数据库校验:接口新增数据后,如何连接 MySQL 查询数据库,断言数据入库正确?
- 接口上传文件、下载文件,requests 如何实现?
- 定时执行自动化用例怎么做?Jenkins + 定时任务流程讲一遍。
- Jenkins 集成自动化:代码提交 Git 后自动执行接口测试,发送测试报告到钉钉 / 企业微信,完整流程?
- 自动化用例失败,自动截图 / 保存接口请求日志,怎么实现?
- 接口并发场景,自动化如何处理接口并发报错、脏数据问题?
- 接口边界值测试怎么做?数字、字符串、空参数、超长参数举例。
- 如何做接口异常测试:非法参数、空 token、过期 token、越权访问?
- 什么是接口幂等性?如何测试接口幂等,自动化怎么设计用例?
- 第三方接口(支付、短信)如何自动化测试,不能调用真实第三方怎么处理?
- 测试过程中接口偶尔报错,偶现 bug 怎么定位排查?
七、进阶开发 & AI 相关(含 LangChain 接口,贴合你需求)- 如何做 AI 大模型接口自动化(LangChain/OpenAI 接口)?和普通业务接口区别?
- LLM 接口流式返回 stream 数据,requests 如何接收分段返回内容并断言?
- LangChain 调用链接口存在上下文依赖,自动化怎么保存会话上下文?
- 接口性能和自动化区分:自动化侧重功能,压测侧重性能,代码实现有什么不同?
- 接口 Mock 是什么?什么时候需要 Mock,pytest 如何 mock 第三方接口?
- 工作中自动化接口用例覆盖率大概多少,哪些接口不会写自动化?
- 假如给你一个全新项目,你搭建接口自动化的完整步骤?
关注作者微信公众号 —《蜀道衫》
了解更多软件测试开发知识以及最新面试宝典