2021拼死记录的自动化软件测试面试官必问题(含答案)


Python自动化测试面试题

一、问答题

1、自动化代码中,用到了哪些设计模式?

答:自动化代码用到过的设计模式:

①单例设计模式

②工厂模式

③PO设计模式

④数据驱动模式

⑤面向接口编程设计模式

2、什么是Selenium

答:Selenium是一个开源的web自动化测试框架,支持多种编程语言开发自动化测试脚本,支持跨浏览器平台进行测试

3、TestNG中注解有哪些?

答:@Test,@BeforeSuite,@AfterSuite,@BeforeTest,@AfterTest,@BeforeClass,@AfterClass,@BeforeMethod,@AfterMethod,@DataProvider

4、什么是断言?

答:断言Assert用于在代码中验证实际结果是不是符合预期结果,如果测试用例执行失败会抛出异常并提供断言日志

5、TestNG有哪些有点?

答:TestNG的注释非常强大和方便,TestNG允许并行测试,并可以基于group的方式执行测试,还可以生成测试报表,并且报告展示多样化,可在其基础上自行开发测试报告插件以及测试监听器

6、什么是web自动化测试?

答:web自动化测试指的是从UI(用户界面)层面进行的自动化测试,测试人员通过编程自动化程度(测试用例脚本)来打开浏览器测试网站的业务逻辑

7、写出Selenium中你最熟悉的接口或类?

答:webDriver、lnternetExplorerDriver、FirefoxDriver、ChromeDriver、WebElement、WebDriverWait、By

8、元素定位类型有哪些?

答:By类一共有8中元素定位方式,他们都是静态方法:

By.id(),By.name(),By.tagName(),By.className(),By.cssSelector(),By.linkText(),By.partialLinText(),By.xpath()

9、登录按钮除了用click方法进行点击以外还有其他方式么?

答:还可以使用submit()方法,前提是input元素的type为submit

10、怎么对含有验证码的功能进行自动化测试的?

答:1)图像识别,技术难度大,效果不佳,不推荐

2)屏蔽验证,邀请开发处理,但在预生产环境或者生产环境不推荐

3)万能验证码,使用一个负责的其他人无法猜到的验证码

11、怎么验证复选按钮是不是被选中?

答:可以使用元素的isSelected()方法,如果返回的是true则说明被选中,否则表明未被选中

12、如何处理alert弹窗?

答:处理alert弹窗首先需要先跳转到alert上,然后在点击确定或者取消按钮,

Alert alet=driver.switchTo().alert();//切换到alert

alert…accept();//确定

alert.dismiss();//取消

13、如何用webdriver进行鼠标右键点击操作?

答:使用Actions类

Actions actions=new Actions(driver);

actions.moveToElement(element).perform();

actions.contextClick().perform();

14、举一个webDriver中方法重载的例子?

答:frame(string nama),frame(int index),

frame(WebElement element)

15、下拉菜单中如何去选择一个菜单项?

答:如果下拉菜单是select标签,使用方法:

selectByValue()或者是selectBylndex()或者selectByVisibleText()即可

如果这个下拉菜单不是通过select标签创建,则直接通过xpath定位元素然后去点击选择

16、你的自动化用例的执行策略是什么?

答:自动化测试与软件开发本质上是一样的,利用自动化测试工具,经过测试需求分析,设计出自动

化测试用例,从而搭建自动化测试的框架,设计与编写自动化脚本,验证测试脚本的正确性,最终完

成自动化测试测试脚本(即主要功能为测试的应用软件)并输出测试结果

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

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

UI层面上的校验也是需要做的。

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

答:css 、xpath 几乎所有的元素都可以定位到,但是它们的短处在于页面上更改了元素后位置很容易

改变,所以首先使用的还是id或者name等。

18、APP 测试常见的严重问题有哪些? 分别引起的原因有哪些?

答:常见的有 crash、ANR(应用无响应、卡死),一般由设备碎片化、网络波动大、内存泄漏、代

码编写错误

19、app 测试有哪几种环境?

答:本地环境: app 安装的手机环境和电脑搭建的自动化测试环境(比如安卓 SDK 等等) 。

服务器环境: war 包部署的服务器, 服务器可以通过浏览器访问, 也可以通过 app 去访问。(访问

的是 web 程序的接口)

20、简单介绍一下 Android SDK 的安装步骤:

答: 下载 jdk 和安卓 sdk

安装 jdk, 配置环境变量(java_home、 classpath、 path)

21、当一个接口出现异常时候,你是如何分析异常的?

答:先抓包,用fiddler(charles)工具抓包,或者浏览器上F12调试工具;APP上的话,那就用

Fiddler做代理,通过手机设置代理去看请求和返回报文;

查看后端日志,如Linux系统通过xhell连上服务器,查看接口日志,查看是否有报错信息(命令:tail -

f 日志文件);

22、如何分析一个bug是前端还是后端的?

答:平常提bug的时候,前端开发和后端开发总是扯皮,不承认是对方的bug。

这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就是前端发

的数据不对
在这里插入图片描述
我是一枚职场中的测试小姐姐!刚学习完自动化测试教程,我再把它分享出来。如果对python自动化测试、web自动化、接口自动化、移动端自动化、面试经验交流等等感兴趣的测试人,可以关注微信公众号:【伤心的辣条】,获取软件测试工程师大厂面试资料!我的学习交流群:902061117 群里有技术大牛一起交流分享~

如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。

推荐阅读:

什么样的人适合从事软件测试工作?

谈谈从小公司进入大厂,我都做对了哪些事?

想转行做软件测试?快来看看你适不适合

软件测试从自学到工作,软件测试学习到底要怎样进行?

软件测试工程师简历项目经验怎么写?–1000个已成功入职的软件测试工程师简历范文模板(真实简历)

猜你喜欢

转载自blog.csdn.net/weixin_50271247/article/details/115269627