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

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文


前言

面试题1:你有没有做过自动化测试?

答:
我在xx项目中实施了web自动化测试,我们项目中搭建自动化测试框架技术:python+selenium+Pytest/unittest+ddt+jenkins,然后用的POM分层的模式(面向对象思想),数据驱动使用的是excel+ddt的驱动模式,我在这个自动化测试实施的项目里所负责的那些模块那些测试用例的自动化代码编写

我在xx项目中实施了接口自动测试平台搭建,技术栈:python+django+pytest+ddt+jenkins

面试题2:请举例说明一下,你在编写自动化脚本过程中碰到了那些异常?

NoSuchElementException:没有如此元素异常
TimeoutException:超时异常
NosuchFrameException:没有如此框架异常

面试题3:你们公司是如何在公司里面实施自动化测试的?

公司目前展开自动化,希望你能够承担自动化的实施过程;
公司已经在开展自动化了,想借鉴一下;
1)项目组做自动化的可行性分析自动化率到i什么程度
项目周期比较长 一年以上,需求不会频繁变更,自动化脚本能够持续反复的使用
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年最全的软件测试工程师学习知识架构体系图

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

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
24b (备注软件测试)**
[外链图片转存中…(img-9SdUH8O8-1713695346253)]

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

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、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()方法的使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值