1、当一个接口出现异常时你是如何分析的?
考察点:对系统了解程度(那个服务查看日志),接口了解程度(接口文档、接口传参、接口如何交互、是同步接口、是异步接口)。
1)先通过抓包获取接口请求参数,返回参数,与接口文档对比;查看是传参错误,还是后端错误。
2)如果没有接口文档,找到后端开发确认对应服务器日志,对日志进行分析(用户操作都可以通过日志进行还原)。
3)如果服务日志 和 接口传参 没有问题,也有可能是 中间件出了问题,因为服务与服务之间基本是通过 MQ(消息)来进行通信的,如果 MQ 和 数据同步 挂掉了(一般公司
数据库都会做读写隔离)也会出现异常。
2、在自动化测试过程中上下游接口有数据依赖如何处理?
考察点:有没有真正做过自动化。
1)将依赖的参数提取出来,然后做成全局变量,然后进行参数化,带入场景举个项目中的例子。
2)或者可以使用 mock服务。
3、依赖第三方数据的接口如何进行测试?
考察点:是否有能力对接第三方系统。
1)根据第三方的接口文档写一个 mock服务。
2)让开发直接写死参数。
3)开发debug修改参数(比较复杂的接口)。
4、Cookie 与 Session 的区别?
考察点:网络基础。
1)Session:保存在服务端,作用是跟踪 用户状态。
2)Cookie:保存在客户端(
浏览器、App),一般 session 放在 cookie 当中,再传到服务端中,前端通过这种方式,把跟踪用户的状态参数,传给服务端。
3)区别:存储的位置不同,作用不一样;session 是会失效的。
5、Selenium 工作原理
考察点:是否深入了解过 Selenium。
1)Selenium 是通过 webdriver 实现对浏览器的操作。
2)工作流程:启动一个 webdriver,打开浏览器,发送命令给浏览器,浏览器执行对应的操作。
考察点:经验有没有那么丰富。
1)先获取到当前页面的句柄 han dle。
2)获取到新页面的句柄 han dle。
3)很多窗口的时候可以根据 url 地址去进行筛选。
4)进行切换。
7、web自动化过程中弹框如何处理?
考察点:能不能处理各种弹框?经验问题。
8、做自动化的过程中如何处理验证码?
考察点:经验。
1)万能验证码。
2)注释掉验证码校验的代码。
4你遇到的场景:redis、数据库、服务器的日志。
9、python 为什使用 *args 和 *kwargs ?
考察点:python基础。
1)args:不确定要传多少个参数的时候。
2)kwargs:不确定要传多少个关键字参数的时候a=2,b=3。
10、自动化测试在什么阶段执行会带来什么收益?
考察点:自动化实施阶段;自动化的作用。
1)接口自动化:前后端联调完成后,
接口测试,当我们功能测完后,做接口自动化。
2)UI自动化:页面功能稳定之后,做UI自动化。
3)效率问题:提高回归测试效率。
4)回归测试容易漏测的问题。
11、自动化测试框架包含哪些模块?
考察点:有没有真正设计过自动化框架。
基础方法、数据驱动、PO分层、接口分层(业务与数据分离)、工具包、配置、测试报告、日志。
12、web ui 自动化中显示等待、隐式等待有什么区别?
1)都是智能等待,在一定时间范围内,找不到元素,就会报错。
2)显示等待:针对某一个元素,设置一个等待时间,设置的查询间隔时间去查找元素。
3)隐式等待:针对所有元素,设置一个等待时间,在设置的时间以内,程序会不停的去检查元素是否全部加载完成。