APP、Web自动化测试面试题

App/Web自动化的面试题
备注:一般面试的时候是结合简历上的项目一步一步深入进行问的问题,只要你实际做过一个项目的,加上自己面试准备下,问题不会太大

【APP自动化问题:1.3.6.10.11.12.13.14.19】

【Web自动化问题:20.21.22.24.25.26.29.31.32.33.34.】

【共有问题:2.4.5.7.8.9.15.16.17.18.】

1、目前主流的APP自动化测试框架,各个自动化适合的语言

参考点:appium macaca、robotium、UiAutomator

2、你对单元测试框架了解多少

参考点:unittest、testng、nose

3、app自动化,简述一下这几种自动化框架的异同

4、定位方式有哪几种?一般如何选择

参考点:ID/className/Name/LinkText/PartialLinkText/Xpath/CSS selector

5、UI自动化能发现多少Bug

参考点:UI自动化的目的不是为了发现多少Bug,主要是为了减轻重复的基础操作和线上监控的作用

6、monkey属于自动化吗?

参考点:monkey不属于严格意义上的自动化,monkey是生成用户或系统的伪随机事件,在屏幕上触发随机点击事件

7、谈谈你们的自动化是怎么搭建的?

8、你们在自动化过程中遇到了哪些问题

9、你们一般对什么case会进行自动化,自动化一般在哪个阶段进行

参考点:主要是主流程中比较容易实现的进行自动化,一般在集成阶段进行该版本的自动化监控,平常的话会一直跑线上监控的

10、robotium可以跨进程吗?你能简述一下吗?

11、app自动化你们一般用什么工具定位元素?

参考点:Uiautomatorview和appium的客户端

12、您需要一台服务器机器来运行Appium上的测试吗?

参考点:不,您不需要服务器机器在Appium上运行测试。 Appium促进了一个2层架构,其中测试机连接到运行Appium的测试服务器并自动化整个事情。您可以在运行测试的同一台机器上运行Appium。

13、使用Appium可能遇到的错误是什么?

参考点:

错误1:需要以下所需的功能,但不提供:设备名称,platformName

错误2:找不到adb。请使用Android SDK根目录路径设置ANDROID_HOME环境变量

错误3:openqa.selenium.SessionNotCreatedException:无法创建新的会话

错误4:如何在移动应用程序中查找DOM元素或XPath?

详情见:https://www.jianshu.com/p/53d8a0f0e35c

14、简述Appium的原理?

参考点:Appium是使用Node.js平台编写的“HTTP Server”,并使用Webdriver JSON线协议驱动iOS和Android会话。 因此,在初始化Appium Server之前,必须在系统上预先安装Node.js 当Appium被下载并安装时,在我们的机器上设置一个暴露REST API的服务器
它从客户端接收连接和命令请求,并在移动设备(Android / iOS)上执行该命令,
它响应HTTP响应。 再次,为了执行此请求,它使用移动测试自动化框架来驱动应用程序的用户界面。 框架像Apple Instruments for iOS(仅适用于Xcode 3.0或更高版本的OS X v10.5及更高版本)适用于Android API的Google UIAutomator 16级或更高版本

Selendroid for Android API等级在15以下。

15、目前你们用的自动化工具版本号是多少?

16、元素等待的3种方式简述一下,并且你平常用的是哪一种?

17、断言是什么

18、测试报告你们用的是什么框架?

19、app自动化 如何控制在多台设备上执行?

20、selenium的原理?

21、selenium 如何控制多个浏览器执行?

22、robotframework是什么?和selenium的关系是什么

23、你们目前用的py版本是多少的?2.X和3.X的异同?

24、selenium中如何保证操作元素的成功率?

参考点:- 添加元素智能等待时间 driver.implicitly_wait(30)

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

-Selenium保证元素成功率是通过元素的定位,当然它的定位方法很多,一定能有合适的。但是在自动化工程的实施过程中,高质量的自动化测试不是只有测试人员保证的。需要开发人员规范开发习惯,如给页面元素加上唯一的name,id等,这样就能大大地提高元素定位的准确性。当然如果开发人员开发不规范,我们在定位元素的时候尽量使用相对地址定位,这样能减少元素定位受页面变化的影响。只要我们元素定位准确,就能保证我的每一个操作符合我的预期

25、如何提高selenium脚本的执行速度?

参考点:如网速,操作步骤的繁琐程度,页面加载的速度,以及我们在脚本中设置的等待时间,运行脚本的线程数等。所以不能单方面追求运行速度的,要确保稳定性,能稳定地实现回归测试才是关键。

我们可以从以下几个方面来提高速度:

一,减少操作步骤,如经过三四步才能打开我们要测试的页面的话,我们就可以直接通过网址来打开,减少不必要的操作。

二,中断页面加载,如果页面加载的内容过多,我们可以查看一下加载慢的原因,如果加载的内容不影响我们测试,就设置超时时间,中断页面加载。

三,在设置等待时间的时候,可以sleep固定的时间,也可以检测某个元素出现后中断等待也可以提高速度。

四,配置testNG实现多线程。在编写测试用例的时候,一定要实现松耦合,然后在服务器允许的情况下,尽量设置多线程运行,提高执行速度。

26、selenium2.X和3.X的异同?

27、什么是持续集成?

持续集成源于极限编程(XP),是一种软件实践,软件开发过程中集成步骤是一个漫长并且无法预测的过程。集成过程中可能会爆发大量的问题,因此集成过程需要尽可能小而多,实际上持续集成讲的是不断的去做软件的集成工作。持续集成,最简单的形式是包括一个监控版本控制(SVN等等)变化的工具。当变化被发觉时,这个工具可以自动的编译并测试你的应用

28、什么是page object设计模式?

通过分离测试对象和测试脚本的抽象来实现的

29、selenium中下拉框怎么定位?

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

参考点:-不稳定

-可靠性

-不易维护

-成本与收益

31、Selenium是否支持桌面应用软件的自动化测试。

Selenium不支持桌面软件的自动化测试,Selenium是根据网页元素的属性才定位元素,而其他桌面软件自动化测试工具是根据桌面元素的位置来定位元素,当然现在也有根据桌面元素的属性来定位的。

32、BDD是什么?你了解多少?TDD是什么?

参考点:BDD:行为驱动开发(Behavior Driven Development)

TDD:测试驱动开发(Test-Driven Development)

33、selenium是否可以直接读取Excel表中测试用例,来执行相关测试

参考点:可以的,需要借助第三方库

34、Selenium有哪些组件?

最早的有Selenium IDE,IDE只支持安装在fiefox上一个插件,支持录制自动化脚本。还有
remote RC,和Grid 和webdriver。我们一般最重要的就是使用webdriver。
 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

APP、Web自动化测试面试题_第1张图片

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取  

你可能感兴趣的:(面试,单元测试,职场和发展,功能测试,测试用例,测试工具,性能测试)