2021年金三面试大总结(面试题及答案)!

金三已经过去了,这一篇文章主要给大家分享的是金三面试过程中一些同仁被问到的问题,希望对接下来面试银四的同仁有更好的帮助!为大家提高面试的成功率!

需要测试相关资料、笔记、完整学习路线等可点击这领取

这里写目录标题

    • UI自动化面试总结:
      • 1. Selenium原理。
      • 2.分布式测试架构与用例并发如何实现
      • 3.如何实现POM自动化测试架构。
    • APP面试总结:
      • 1. 解释什么是Appium?
      • 2. 列出Appium的可以完成的事情?- 应用能力是
      • 3. 列出使用APPIUM的先决条件?
      • 4. 列出使用Appium的局限性?
      • 5. 解释移动应用程序中如何查找DOM元素或xPath
    • 接口自动化:
      • 1. 网络协议
      • 2. Mock:Mock是什么,在接口测试领域下一般在什么情况使用,以及基于Python如何实现Mock服务。
      • 3. 接口关联。
    • 测试框架面试总结:
      • 1. List item框架是如何设计的?框架的设计方法
      • 2. UnitTest/PyTest
      • 3. 自动化测试框架如何运行(在企业中如何将测试框架推行起来)?

UI自动化面试总结:

1. Selenium原理。

  • 目前主流的自动化技术就是Selenium+Webdriver。
  • Selenium本身是完全基于JS来实现的前端交互自动化体验。
  • Selenium+WebDriver是基于HTTP网络协议下的代理服务来进行的内容交互。

2.分布式测试架构与用例并发如何实现

  • 但凡关联到分布式测试架构的体系,一般都是基于UI自动化,SeleniumGrid是一套特别好用的分布式架构部署服务。
  • 目前主流的分布式测试框架部署是基于主从节点形态来部署的。配置一个网关+N个子节点的形态来实现分布式架构。java端的Selenium-stand-alone.jar模块来实现部署。用例的并发,推荐用多线程模式来实现。
  • Jenkins自带有分布式部署的模式,也是基于主从节点来实现。配置的每一个子节点本身的环境要与主节点保持一致。 由此就可以应用到Docker技术。

3.如何实现POM自动化测试架构。

  • 如何解决多人团队下的自动化工作的开展:架构。
  • 所谓的自动化测试分为两类:
    自动化测试框架的执行者和用例编写者
    自动化测试框架的研发与维护者
  • 定义测试框架的结构:
    基类
    页面对象类
    测试用例
    测试数据
    配置
    功能
    。。。。。

APP面试总结:

1. 解释什么是Appium?

Appium是一个免费分发的开源移动应用UI测试框架。

2. 列出Appium的可以完成的事情?- 应用能力是

  • 测试Web
  • 为Native和Hybrid移动自动化提供跨平台
  • 支持JSON线协议
  • 它不需要重新编译App
  • 支持物理设备以及类似或仿真器的自动化测试
  • 它不依赖于移动设备

3. 列出使用APPIUM的先决条件?

  • ANDROID SDK
  • JDK
  • Eclipse(Java编译器),Pycharm(Python编译器)
  • Selenium Webdriver
  • APPIUM for Windows
  • APK App信息在Google Play上
  • Node JS
  • 也可参见appium通信分析一(appium的初始化准备工作)

4. 列出使用Appium的局限性?

Appium不支持Android版本低于4.2的测试

  • 有限的支持混合应用程序测试。 例如,不可能将应用程序从Web应用程序的切换动作测试为本机,反之亦然
  • 不支持在Microsoft Windows上运行Appium Inspector(一般用SDK下面的uiautomatorviewer来替换)

5. 解释移动应用程序中如何查找DOM元素或xPath

要找到DOM元素,使用“UIAutomateviewer”来查找Android应用程序的DOM元素。

接口自动化:

1. 网络协议

HTTP网络协议原理,数据交互原理
Cookie、Session、Token区别和应用
Get/Post的区别

2. Mock:Mock是什么,在接口测试领域下一般在什么情况使用,以及基于Python如何实现Mock服务。

我们会遇到很难获取的数据。通过模拟的形式来将这些数据获取到手。
def 接口_正式版():
return
def 接口_模拟版():
return

3. 接口关联。

关注的点在于你的接口自动化测试框架如何实现的。
关键字驱动+数据驱动+测试用例管理+关联接口的公共数据管理
基于yaml进行数据管理,结合全局变量管理公共数据+Pytest/UnitTest实现接口关联的业务。所有的系统接口业务链,分别以不同的文件来进行管理。
纯粹技术,没有其他的。

测试框架面试总结:

1. List item框架是如何设计的?框架的设计方法

  1. 关键字驱动+数据驱动
    • 将常用的操作行为进行二次封装,生成一个自定义的关键字类,把所有的封装函数放在类中,便后续进行调用。
    • 优先考虑Excel数据驱动。结合Python反射机制+openpyxl模块来实现excel数据内容的读取与执行,再定义规范化的Excel文件的测试用例格式。
    • 结合日志信息配置、框架的测试环境配置、服务器的配置、数据文件的读取路径配置、公共参数配置等进行细化的配置模块的研发管理。
    • 优化考虑基于UnitTest/PyTest实现用例管理,定义数据读取的驱动函数。
    • 集成HTMLTestRunner或者Allure测试报告。集成邮件,集成Jenkins实现自动化测试构建。
    • 分布式测试框架部署的技术实现+用例并发实现。
    • POM测试框架实现。

2. UnitTest/PyTest

  1. UnitTest:特点是什么?
    四大特性:前置与后置、测试用例管理、测试套件与测试运行器、断言、附加(DDT)
  2. PyTest:特点是什么?
    自由度极高、非常完善的自动化测试服务提供

3. 自动化测试框架如何运行(在企业中如何将测试框架推行起来)?

在现有的企业中,自动化测试框架的推行遇到了阻力,而且后续的维护中遇到了问题

  1. 选择项目试点。
  2. 提取自动化。
  3. 基于内容实现测试Demo:
  4. 定义框架
  5. 结构设计
  6. 编码落地
  7. 开会,自动化测试Demo进行演示与讲解
  8. 整理资料。安排使用人员培训。
  9. 维护和升级测试框架。

你可能感兴趣的:(软件测试,自动化测试,python,面试,分布式,软件测试)