🔥 交流讨论:欢迎加入我们一起学习!
🔥 资源分享:耗时200+小时精选的「软件测试」资料包
🔥 教程推荐:火遍全网的《软件测试》教程
📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
Selenium自动化测试面试题
一、目录
1、什么是自动化测试、自动化测试的优势是什么?
2、什么样的项目比较适合做自动化测试,什么样的不适合做自动化测试?
3、说一下开展自动化工作的主要流程是怎样的?
4、在制定自动化测试计划的时候一般要考虑哪些点?
5、编写自动化脚本时的一些规范?
6、你一般一天能编写多少个自动化脚本?
7、做自动化测试时关注的一些指标?
8、自动化测试可以达到100%的覆盖率吗?
9、你们公司开展自动化测试遇到一些什么问题?
10、Selenium驱动浏览器使用的协议是什么?
11、Selenium工具都包含哪些组件?
12、Selenium中定位网页元素的八种方式?
13、webdriver启动常见的浏览器语句?
14、如何选中下拉列表中的下拉选项?
15、如何取消选中下拉列表中的下拉选项?
16、Selenium如何处理弹窗?
17、Selenium可以处理Windows弹窗吗?
18、如何判断一个元素在页面上是显示出来的?
19、Selenium中如何判断元素是否存在?
20、driver.quit()和driver.close()的区别?
21、自动化测试用例从哪里来?
22、常见的自动化测试框架有哪些?
23、什么是POM?
24、Selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?
25、如何提高Selenium脚本的执行速度?
26、你的自动化用例的执行策略是什么?
27、什么是持续集成?
二、面试题答案
1、什么是自动化测试、自动化测试的优势是什么?
通过工具或脚本代替手工测试执行过程的测试都叫自动化测试。
自动化测试的优势:
1、减少回归测试成本
2、减少兼容性测试成本
3、提高测试反馈速度
4、提高测试覆盖率
5、让测试工程师做更有意义的测试
2、什么样的项目比较适合做自动化测试,什么样的不适合做自动化测试?
1、适合做的项目:
a.项目周期长且相对稳定
b.需要做频繁的冒烟测试
c.需要经常做回归测试
d.需要进行大数据量的数据驱动测试
2、不适合做的项目:
a.项目周期短用例不会多次重复执行
b.被测项目不稳定变化太频繁
3、说一下开展自动化工作的主要流程是怎样的?
1、选择合适的测试工具
2、定义自动化测试覆盖的范围
3、制定测试计划
4、自动化测试环境搭建
5、脚本开发
6、测试执行
7、测试脚本维护
4、在制定自动化测试计划的时候一般要考虑哪些点?
1、选择适合的测试工具或分析当前的工具是否适合新项目
2、选择合适的自动化测试框架
3、确定要做自动化测试的范围和不做自动化测试的范围
4、测试环境的准备与搭建
5、制定一个粗略的脚本开发的时间表
6、制定脚本执行的一些策略,如冒烟测试的频率,回归测试的时间点及频率等
7、定义自动化测试的输出,比如脚本,测试数据,发现的缺陷,测试报告等
5、编写自动化脚本时的一些规范?
1、统一的命名约定,如用例名,方法名等
2、良好的脚本注释
3、遵循代码规范,使用适当的缩进
4、对异常进行处理
6、你一般一天能编写多少个自动化脚本?
这个取决于测试用例场景的复杂度,一般一天能写2~5个左右,复杂的话一天只能写一个
7、做自动化测试时关注的一些指标?
1、自动化测试用例的覆盖率=自动化测试用例数/所用用例总数,这个比例越高测试反馈越快,成本节约越多
2、节省的时间成本=手工测试所花的时间-自动化测试所花的时间
3、自动化测试的投入=开发脚本的投入+脚本维护的投入+工具价格
4、自动化测试发现的缺陷数,每次回归测试时自动化测试发现的缺陷数及漏测数,反应了自动化用例的有效性
5、自动化测试投入产出比
ROI=(手工测试的成本-自动化测试成本)/自动化测试成本
ROI如果是负值说明自动化测试的成本未收回,ROI为正值说明自动化测试成本已回收,且值越大说明回报越好
8、自动化测试可以达到100%的覆盖率吗?
比较难,因为有些用例场景无法被自动化,一些验证易用性友好性的用例不适合做自动化,有些边缘的用例很少被重复执行,从投入产出比来说也不适合做自动化
9、你们公司开展自动化测试遇到一些什么问题?
1、项目流程不规范,项目变动频繁导致自动化用例维护成本高,解决:深入理解用户需求,规范开发流程,自动化用例先覆盖已经稳定的功能
2、对自动化期望太高,自动化也是一个逐步完善的过程,不可能一下子完全代替手工
3、有些自动化工程师的技术能力偏弱,提升编程能力,提升自动化工具使用能力,对新人进行培训等
10、Selenium驱动浏览器使用的协议是什么?
JsonWireProtocol 是通过使用 webdriver 与 remote server 进行通信的 web service 协议。通过 http 请求,完成和 remote server 的交互。
现在还想从事软件测试行业的小伙伴们,想要心仪的工作,要多努力学习哟。我给大家整理了2022最新软件测试八股文,大家刷起来哟
1.软件测试基础题(250题)
2.Linux(55题)
3.MySQL(80题)
4.web测试(10题)
5.接口测试(36题)
6.APP测试(12题)
7.Python(100题)
8.Selenium(40题)
9.LordRunner相关(80题)
10.计算机网络(26题)
11.人力资源(55题)
最后我邀请你进入我们的【软件测试学习交流群:785128166】, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路
作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:程序员二黑】自提!