面试题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年最全的软件测试工程师学习知识架构体系图 |
只要你心怀信念,坚持不懈地追求,你一定能够战胜困难,实现自己的梦想。相信自己的力量,勇往直前,无所畏惧,让奋斗成为你成功的阶梯,踏上属于自己的辉煌之路。
只有不断追求进步,才能超越自己的极限,只有奋斗拼搏,才能实现梦想的辉煌。相信自己的力量,努力拼搏,未来将会因你而改变!
只有拼尽全力,才能让梦想破茧成蝶,只有坚韧不拔,才能征服高山峻岭。人生的路途虽艰辛,但奋斗是我们挑战命运的唯一途径,只要不放弃、不停息,终将登上属于自己的巅峰!