23年测试岗面试,高频自动化测试面试题(付答案)_pytest自动化面试题(1)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

项目周期比较长 一年以上,需求不会频繁变更,自动化脚本能够持续反复的使用
2)自动化工具selenium robotframework调研以及demo演示
3)由leader搭建自动化测试框架,并且在项目中逐步的实施,发现框架的问题并改善
4)把自动化流程化,框架出使用文档以及规范文档
5)生成定制的报告 并继续完善框架

面试题4:接口自动化如何设计测试用例?一个接口你会设计多少个测试用例?(20-30)

考虑:业务逻辑,入参,通过等价类边界值场景法来设计
1、设计:
正例 (两个)请求方式 get/post
反例:
鉴权反例:token,key:为空,错误,过期
参数反例:必须项检查,长度规则,类型规则,日期
错误码覆盖

其他的关注点:分页,图片格式,大小

面试题5:接口自动化测试框架中接口关联你们是怎么处理的?

postman和jmeter如何处理接口关联?
json提取器 正则表达式 cookie提取器

通过一个单独的extract.yaml文件来保存所有的关联字段,中间提取的变量这个变量在所有的测试用例之前清空

清空通过

unittest:setup_class
pytest:conftest+fixtrue

在测试用例的yaml里面通过一级关键字extract提取 提取支持json提取的正则表达式提取;
在其他的接口的yaml文件里面通过{{}}提取或者${}的提取;

面试题6:你有从零开始独立搭建过自动化接口自动化测试框架?

我在xx项目搭建的接口自动化测试框架所使用的核心技术:
request+pytest+allure+parametrize+jenkins 包装:basepage基础封装,testcase封装

requests二次封装,日志收集模块 yaml配置文件封装
封装的这个项目规则:
YAML格式用例的约定
1、必须包含一级关键字:name request validate
2、在request关键字下必须包括:method,url,data,如data没有的话那么输入默认值{}
3、提取变量使用一级关键字extract。支持json提取和正则提取(.+?)和(.*?)取值使用{}
4、可以使用热加载的方式调用debug_talk.py中debugTalk类里面的方法 通过${}调用方法

5、支持equals、contains两种断言
6、使用parameters做csv文件的数据驱动,通过$csv(appid)这种格式取值

更细:
web:frame怎么处理,下拉框怎么处理,多个页面 ,弹窗操作,鼠标操作(悬停),滚动条,键盘 你怎么处理
接口:接口加密 接口签名

技术决定面试决定薪资

前提:熟练pyhton包括装饰器反射等
1、接口测试理论;
2、精通基于工具类的接口测试:postman、jmeter,fiddler、charles、cookie,token session;
3、httprunner是目前唯一成熟的基于yaml设计测试用例的接口自动化框架 简历接口测试框架的设计思想;
4、unittest/pytest管理用例和报告定制;
5、requests二次封装;
6、接口自动化测试框架的封装;

面试题7:你做接口测试遇到了哪些bug?(接口测试常见的bug)

1、特殊值处理不当 导致程序异常退出会崩溃(快递信息用户未填写提交)
2、类型边界溢出 导致数据读取和写入不一致(列表查询 查的值与实际的条数不符)
3、取值边界值外没有返回正确的一个错误信息
4、权限未处理 可以访问其他的用户信息(报表导出需要角色权限 没处理所有人都可以看)
5、逻辑校验不完善可以利用漏洞获取非正当的利益(现金账户流入流出冻结解冻)
6、状态处理不当导致逻辑出现错误(订单状态 未支付 待支付 已付款 取消支付 待退款 已退款 已取消)
7、数组类型item个数为0或者item重复时程序异常退出

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要你心怀信念,坚持不懈地追求,你一定能够战胜困难,实现自己的梦想。相信自己的力量,勇往直前,无所畏惧,让奋斗成为你成功的阶梯,踏上属于自己的辉煌之路。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

一、linux 1,linux常用命令 2,某个时间段日志的查询 3,linux文件的上传和下载 二、功能测试 1,工作中所遇到的错误 2,测试流程: 3,测试计划元素: 4,测试报告元素: 5,测试点: 6,测试方法: 7,bug相关问题 8,adb常用命令 9,软件测试原则 10,测试用例编写的要素 11,测试用例的设计原则 12,软件产品质量特性 13,android四大组件 14,web测试和app测试的区别 15,app的anr的根本原因 16,app的crash的原因 17,h5页面图片未加载出来问题排查 18,区分原生和h5页面 19,为什么不能用jenkins打包 三、性能测试 1,了解jmeter 2,性能指标 3,如何做性能测试 四、接口测试 1,如何设计接口测试用例 2,为什么要做接口测试 3,接口测试的关注点 4,request处理cookie的三种方式 五、自动化测试 1自动化核心框架 2,自动化测试的好处 3,自动化的前提 4,自动化测试的场景 5,元素定位的8种方式 6,如果一个元素无法定位,一般会考虑哪些原因 7,driver.close()和driver.quit()的区别 8,自动化脚本断言 9,判断页面元素是否存在 10,js在web自动化中的作用展示 11自动化代码优化 12,selenium对比RF 13,自动化测试脚本三种等待 14,PO模式 六、HTTP协议 1,HTTP协议特点: 2,HTTP传输原理 3,get和post的区别 4,HTTP响应代码 5,osi七层模型 6,三次握手过程 7,session和cookie的区别 8,tcp和udp的区别 9,sockect通信原理 10,post的三种请求方式 七、数据库 1,sql分类 2,数据库事务特性:ACID 3,mysql索引的类型 4,池化思想 5,redis 6,如何提高数据库运行效率 八、java 1,面向对象的三个特征 2,重写和重载 3,比较sping,sping mvc 4,进程和线程的区别 5,java三层架构 6,处理异常 九、python 1,字符串反转的7种方法 2,new 和 _init_ 3,不使用中间变量交换两个变量的值 4,python四大内置高阶函数 5,python带颜色输出 6,python *args,**kargs用法 7,python常用模块 8,python多线程 9,python发送邮件 10,python操作图像 11,python的replace()方法的使用
<think>嗯,用户想了解软件测试AI岗位的面试题。首先,我需要确定用户的需求是什么。可能他们正在准备面试,或者对这个岗位感兴趣。软件测试和AI结合,所以面试题可能涉及传统软件测试知识和AI相关的内容。 接下来,我得考虑软件测试的基础知识。比如黑盒测试、白盒测试、单元测试自动化测试工具这些应该是必问的。然后AI部分,可能包括机器学习模型测试、数据验证、模型评估指标,还有像对抗样本这样的特定问题。 用户可能还希望知道常见的题型,比如编程题、案例分析等。需要举一些例子,比如测试图像分类模型,或者处理过拟合的情况。此外,工具和框架如TensorFlow、PyTorch、Selenium、Jenkins也可能被问到。 还要注意AI测试的特殊挑战,比如数据漂移、模型解释性、伦理问题。这些方面可能被用来考察候选人的综合能力。另外,软技能如沟通、团队合作也不能忽视。 需要确保回答结构清晰,分点列出,让用户容易理解。同时,结合传统测试和AI知识点,给出具体例子和准备建议。最后提醒用户动手实践和深入理解,这样更有帮助。</think>以下是对软件测试AI岗位面试题的详细介绍,内容分为技术考察方向、典型题型示例及准备建议,以结构化方式呈现: --- ### 一、技术考察方向 #### 1. **软件测试基础知识** - **核心概念** - 测试类型:黑盒测试(等价类划分、边界值分析)、白盒测试(路径覆盖、条件覆盖) - 测试层级:单元测试、集成测试、系统测试 - 自动化测试工具:Selenium、JMeter、Postman $$ \text{测试覆盖率} = \frac{\text{已覆盖代码路径数}}{\text{总代码路径数}} \times 100\% $$ - **高频问题示例** - “如何设计一个登录功能的测试用例?” - “解释持续集成(CI)在测试中的作用。” #### 2. **AI/机器学习测试专项** - **模型测试要点** - 数据验证:数据分布一致性、缺失值处理 - 模型评估指标:准确率、精确率、召回率、F1值 $$ F1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} $$ - 对抗样本测试:生成对抗网络(GAN)攻击检测 - **高频问题示例** - “如何测试一个图像分类模型是否存在过拟合?” - “模型AUC值下降可能由哪些原因引起?” #### 3. **编程与算法能力** - **语言要求** Python为主(常用库:NumPy、Pandas、Scikit-learn),部分要求Java或Shell脚本 - **典型题目** - 编写一个函数检测数据中的异常值(如使用IQR方法) - 用递归实现二叉树遍历算法 #### 4. **场景分析与问题解决** - **考察形式** - 案例分析:给定一个推荐系统准确率下降的场景,分析可能原因 - 设计测试方案:针对自动驾驶感知模块的输出结果设计验证策略 --- ### 二、典型题型示例 #### 1. **理论题** - “解释模型漂移(Model Drift)的概念及检测方法。” - “比较监督学习与无监督学习在测试中的差异。” #### 2. **实践题** ```python # 题目:编写代码验证模型预测结果的稳定性 import numpy as np def test_model_stability(model, X_test, num_runs=10): predictions = [] for _ in range(num_runs): pred = model.predict(X_test) predictions.append(pred) std_dev = np.std(predictions, axis=0) return std_dev.mean() ``` #### 3. **工具相关** - “如何用TensorFlow Debugger(tfdbg)定位模型训练失败的原因?” - “设计一个Jenkins流水线实现自动化模型部署与测试。” --- ### 三、准备建议 1. **夯实基础** - 复习软件测试经典理论(如ISTQB考点) - 掌握至少一个AI测试框架(如TensorFlow Extended/TFX) 2. **实战演练** - 在Kaggle数据集上实操模型训练与测试全流程 - 使用Pytest编写测试用例并集成到CI/CD环境 3. **扩展视野** - 研究AI伦理测试(如公平性、可解释性) - 跟踪最新技术(如大语言模型/LLM的测试方法) --- 通过以上结构化准备,可系统性覆盖软件测试AI岗位的核心考察点。建议结合具体岗位JD(Job Description)调整侧重点,并注重体现问题解决能力与AI测试场景的结合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值