「查缺补漏」我的2020珍藏的50道自动化软件测试面试题,给你秋招保驾护航

Posted 测试baby

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「查缺补漏」我的2020珍藏的50道自动化软件测试面试题,给你秋招保驾护航相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

前言:

最近了解到朋友因为学习起来感觉有些乱,没方向感,他特意挑了难一点的大厂找找找虐,他说这样才有意义嘛!

还跟我说什么怀着进大厂的梦想,先去试试水。

结果嘛

就被虐得体无完肤,于是我就问他都有些什么内容,然后做了以下的总结。(下列都以第一人称叙述)

涉及的企业有:阿里、快手、转转、用友(较简单,不做展示)。还有一个企业不记得名称了(纯业务的面试,没印象)

每日一面环节:

今天先分享一部分Web自动化测试的面试题

1.Selenium中hidden或者是display = none的元素是否可以定位到?

2.Selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?

3.如何提高Selenium脚本的执行速度?

4.用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?

5.你的自动化用例的执行策略是什么?

6.自动化测试的时候是不是需要连接数据库做数据校验?

7.id,name,class,xpath, css selector这些属性,你最偏爱哪一种,为什么?

8.如何去定位页面上动态加载的元素?

9.如何去定位属性动态变化的元素?

10.什么是page object设计模式?

11.如何在定位元素后高亮元素(以调试为目的)?

12.什么是断言?

13.你觉得自动化测试最大的缺陷是什么?

14.Webdriver可以用来做接口测试吗?

在这里插入图片描述

说明: 以下所有答案均为个人的理解,有不同的回答可以留言评论私下交流

1.Selenium中hidden或者是display = none的元素是否可以定位到?

不能,可以写javascript将标签中的hidden先改为0,再定位元素

2.Selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?

  1. 添加元素智能等待时间 driver.implicitly_wait(30)

  2. 添加强制等待时间(比如python中写 sleep)

  3. try 方式进行 id,name,clas,x path, css selector 不同方式进行定位,如果第一种失败可以自动尝试第二种

3.如何提高Selenium脚本的执行速度?

代码优化,多任务,分布式部署都是可以提升脚本执行速度的。

4.用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?

  1. time.sleep( )

  2. driver.implicitly_wait(30)

  3. 多用 try 捕捉,处理异常

5.你的自动化用例的执行策略是什么?

自动化测试与软件开发本质上是一样的,利用自动化测试工具,经过测试需求分析,设计出自动化测试用例,从而搭建自动化测试的框架,设计与编写自动化脚本,验证测试脚本的正确性,最终完成自动化测试测试脚本(即主要功能为测试的应用软件)并输出测试结果

6.自动化测试的时候是不是需要连接数据库做数据校验?

从数据库层面来进行数据校验可以更方便验证系统的数据处理方面是否正确,数据处理逻辑正常后,UI层面上的校验也是需要做的。

7.id,name,class,xpath, css selector这些属性,你最偏爱哪一种,为什么?

css 、xpath 几乎所有的元素都可以定位到,但是它们的短处在于页面上更改了元素后位置很容易改变,所以首先使用的还是id或者name等。

8.如何去定位页面上动态加载的元素?

触发动态加载元素的事件,直至动态元素出现,进行定位

9.如何去定位属性动态变化的元素?

xpath或者css通过同级、父级、子级进行定位

点击链接以后,Selenium是否会自动等待该页面加载完毕?

会的

10.什么是page object设计模式?

简单来说,就是把页面作为对象,在使用中传递页面对象,来使用页面对象中相应的成员或者方法,能更好的体现面向对象语言(比如java或者python)的面向对象和封装特性。

11.如何在定位元素后高亮元素(以调试为目的)?

用JavaScript等脚本来重置元素属性,给定位的元素加背景、边框

12.什么是断言?

断言的英文是assertion,断言检查的英文是assertion checking。

断言是指定一个程序必须已经存在的状态的一个逻辑表达式,或者一组程序变量在程序执行期间的某个点上必须满足的条件。

13.你觉得自动化测试最大的缺陷是什么?

  1. 不稳定

  2. 可靠性

  3. 不易维护

  4. 成本与收益

14.Webdriver可以用来做接口测试吗?

接口测试有现成的模块来处理,WebDriver是用于做WebUI自动化测试的。如果要实现接口测试,可以使用Requests模块来实现

在这里插入图片描述

好了!各位大佬,今天的面试题就先到这里了。

如果本文有任何错误,请 严厉批评指教,不胜感激 !


最后【可能给予你助力的教程】

在这里插入图片描述

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

关注我的微信公众号:【伤心的辣条】免费获取~

我的学习交流群:902061117 群里有技术大牛一起交流分享~

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

好文推荐:

35岁之后软件测试工程师靠什么养家?我能继续做测试!

App公共测试用例梳理

Python简单?先来40道基础面试题测试下

阿里二黑叹息:越来越多的年轻人从职场撤退了?

从一名开发人员转做测试的一些感悟

以上是关于「查缺补漏」我的2020珍藏的50道自动化软件测试面试题,给你秋招保驾护航的主要内容,如果未能解决你的问题,请参考以下文章

「查缺补漏」巩固你的Nginx知识体系

JVM技术专题深入分析CG管理和原理查缺补漏「番外篇」

6.18 函数查缺,补漏

stauctunion详细查缺补漏

Java面试八股文宝典之SpringMVC篇备战2023 查缺补漏 你越早准备 越早成功!!!——Day15

查缺补漏