自动化测试常见面试问题

Posted 互联网杂货店

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化测试常见面试问题相关的知识,希望对你有一定的参考价值。

1.你们自动化测试使用的代码框架是什么样的

我们使用的测试框架以数据驱动测试为思路,

在unittest与ddt基础上进行二次封装,实现了

代码元素分离、代码数据分离、selenium二次封装,日志、

批量执行用例生成报告、定时执行用例等功能

代码框架分为:用例模块、数据模块、公共方法模块、执行模块、公共配置等

2.你们在写代码时都封装过哪些方法

1.封装元素操作相关的方法,比如:点击、输入、获取文本、上传文件等

2.封装读取元素信息的方法,读取ini文件中的元素信息

3.封装读取excel数据的方法

4.封装打印日志的方法

3.自动化测试一般在什么时候执行

1.自动化测试适合的项目:项目功能比较稳定、迭代周期适中测试人员具备自动化测试能力

2.自动化测试可以覆盖哪些功能,覆盖率多少:可以覆盖项目中的大多数功能的正常和异常场景,覆盖率可以达到40%-60%

3.一般用于测试开始时的冒烟测试或项目上线前的回归测试

4.自动化测试的优缺点

优点:1.可以在较短的时间执行更多测试,提升测试效率
2.可以快速执行冒烟测试或回归测试,节省时间成本

缺点:1.相对于手工测试,自动化测试覆盖率较低,测试不全面
2.手工测试在测试一些复杂场景时,比自动化测试更可靠

5.假如给你一个项目,说一下你要怎么样开展自动化测试

1.判断当前项目是否适合做自动化测试:1.项目比较稳定 2.非金融相关项目

2.从功能测试用例中挑选出可以被自动化实现的用例

3.设计代码框架、封装基础操作方法、封装日志方法、读取ini配置文件方法等

4.将页面元素定位信息收集到ini配置文件中

5.按照功能测试用例中的步骤,编写自动化测试用例,使用封装好的方法,调用ini中的元素信息

6.在excel中设计测试数据,封装读取excel数据的方法,将测试数据加入到用例中

7.统一执行用例,并生成报告,根据脚本执行情况进行调优

6.讲一下用到了unittest中的哪些功能

1.testCase 测试用例 :setUp() test_*() tearDown()

2.testSuit 测试套件:用例的集合,将用例添加到套件中可以实现批量执行

3.htmlTestRunner 测试执行器:执行测试套件,并生成测试报告

4.ddt 数据驱动测试,可以通过ddt将测试数据传到测试用例中

7.你在做自动化测试的时候都用到了哪些工具

pycharm+python3.6+selenium+xlrd+unittest+ddt+ini

8.你在做自动化测试时遇到过哪些问题,你是怎么解决的

1.元素定位不到的问题,或者动态元素,解决办法:切换其他定位方式,当常规定位方法无效时可以使用模糊定位,分层定位等方式,检查是否存在嵌套网页,是否依赖操作步骤。

2.项目中的业务问题,比如OA项目中新建合同脚本需要使用订单数据,订单数据需要依赖产品,产品依赖联系人数据,需要按照业务逻辑顺序设计脚本。

3.断言设计,部分功能无法直接通过页面中的文本来判断是否执行通过,需要查询数据库,或者其他操作来作为判断依据。

9.selenium控制浏览器的原理是什么

selenium为代码包,提供了控制浏览器的方法

使用python编写脚本,调用selenium中控制浏览器的方法,执行脚本时,通过浏览器驱动(chromedriver)

控制浏览器按照脚本中的步骤执行

10.常用的定位元素方法有哪些

精确定位:id、name、xpath、css_selector

模糊定位:link_text、tag_name、class_name

分层定位:先定位到某个元素,再从该元素的范围内进行第二次定位

以上是关于自动化测试常见面试问题的主要内容,如果未能解决你的问题,请参考以下文章

自动化测试常见面试问题

软件测试面试常见问题及答案是啥?

Python自动化测试笔试面试时常见的编程题

UI自动化常见精华面试题整理

移动端APP自动化测试超全基础汇总

移动端APP自动化测试超全基础汇总