50 多个顶级自动化测试面试问题及答案

以下是自动化测试面试问题和答案,可以帮助新手和有经验的应聘者获得理想的工作。

 

面向新人的自动化测试面试问题和答案

1)什么是自动化测试?

自动化测试使用自动化工具来执行测试用例。自动化测试的主要目标是减少需要手动运行的测试用例数量,而不是消除手动测试。

👉 免费 PDF 下载:自动化测试面试问题与答案


2)您何时会进行自动化测试?

以下情况是首选自动化

  • 重复任务。
  • 迭代测试
  • 烟雾和健全性测试。
  • 使用多个数据集进行测试。

不建议对一次性测试用例进行测试。通常,决定自动化哪些测试用例是基于投资回报率 (ROI)。自动化测试执行的次数越多,投资回报率就越高。


3)什么时候不会进行自动化测试?

以下情况不应进行自动化

  • 当被测应用程序频繁更改时
  • 一次性测试用例
  • 临时 – 随机测试
  • 探索性测试
  • 可用性测试通常需要人工干预来检查测试结果
  • 每次执行之前都要完成具有详细设置要求的测试用例
  • 返回不可预测的测试结果的测试用例
  • 排除计划外的测试用例

4)自动化过程涉及哪些步骤?

在自动化过程中,涉及的步骤包括

  • 选择测试工具
  • 定义自动化范围
  • 规划、设计和开发
  • 测试执行
  • 维护

5)规划自动化阶段时涵盖哪些要点?

在自动化规划阶段,必须考虑的事项包括:

  • 选择“正确” 自动化工具
  • 选择自动化框架(如果有)。
  • 自动化范围内和范围外的项目列表。
  • 测试环境设置。
  • 为测试脚本的开发和执行准备项目时间表的甘特图。
  • 确定测试可交付成果。


针对有经验的自动化测试面试问题

6)什么情况下不能使用敏捷方法的自动化测试?

在以下情况下,自动化测试对敏捷方法没有帮助:

  • 当用户故事不断变化时
  • 当 Agile 中需要详尽的文档时。
  • 仅适用于敏捷测试期间的回归测试,例如持续集成。

进一步了解 敏捷测试.


7)什么是测试脚本?

测试脚本是用于对应用程序执行一组指令的代码。它用于验证应用程序是否按照软件要求运行。

当您运行脚本时,它会给出通过或失败的测试结果,这取决于应用程序是否按预期工作。


8)如何选择一个好的测试自动化工具?

  • 广泛的测试环境支持
  • 操作简单
  • 良好的调试设施
  • 强大的物体识别
  • 记录和播放
  • 支持创建测试脚本的常见编程语言,例如, Java
  • 图像测试能力
  • 数据库测试
  • 参数化
  • 支持多种自动化框架
  • 为工具提供的支持类型包括文档、教程、培训等
  • 成本和预算
  • 良好的报告制度

9)您能告诉我一些自动化过程中的良好编码实践吗?

以下是良好的自动化实践:

  • 添加适当的注释来解释该编码部分。
  • 您应该识别可重复使用的方法并将它们写在单独的文件中。
  • 必须遵循特定语言的编码约定。
  • 将测试数据存储在单独的文件中。
  • 定期运行您的脚本。

10)什么是模块化测试框架?

模块化测试框架建立在抽象的概念之上。在这种类型的框架中,测试人员为所有被测试的应用程序模块创建脚本,然后按层次顺序组合这些脚本以创建测试用例。


11)数据驱动测试框架

数据驱动测试图像

In 数据驱动测试 框架中,输入数据和与输入数据相对应的预期输出数据被存储在文件或数据库中。

自动化脚本针对多个数据集运行相同的测试步骤。它还允许您运行多个测试用例,其中只有输入数据不同,但执行步骤保持不变。


12)您使用什么版本控制系统?

我们使用 GitHub。版本控制可帮助您跟踪代码更改。它通过记录更改历史记录来控制测试脚本源代码,以简化修改过程。如果您犯了错误,您还可以恢复到以前的代码版本。


13) 什么是 XPath 轴? 列举一些。

XPath 是一种处理 XML(可扩展标记语言)数据的语法。它们有助于定位与树上的节点相关的节点。一些重要的 XPath 轴是祖先、子节点、命名空间、父节点等。


14)如何加快自动测试套件的速度?

需要与多个元素交互的 UI 测试的应用程序可能会减慢测试过程。最好创建一个简单的测试脚本来加快测试执行速度。


15)自动化测试需要文档吗?

文档在测试自动化中起着至关重要的作用。您应该记录所有方法和程序以确保其可重复性。测试规范、设计、代码更改、测试用例、自动化计划、错误报告


16)软件自动化测试使用哪些类型的框架?

使用的四种类型的框架是

  • 数据驱动的自动化框架
  • 关键字驱动的自动化框架
  • 模块化自动化框架
  • 混合自动化框架

进一步了解 自动化框架


17)是否有可能实现100%自动化?

不,不可能实现所有自动化。实现 100% 自动化非常困难,因为在某些情况下,注册页面会包含验证码或一些我们不经常执行的测试用例。此外,自动化这些测试用例不会为自动化增加价值或带来积极的投资回报率。


18)您每天平均自动化执行多少个测试用例?

答案取决于测试场景的长度和复杂性。通常,当复杂性有限时,QA 测试人员每天可以自动执行 2-4 个测试场景。但是,当复杂性很高时,有时可能会减少到 1-2 个。


19)执行自动化测试时的脚本标准是什么?

在编写自动化脚本时,必须考虑以下事项:

  • 统一命名规范。
  • 每 3 行代码有 10 行注释。
  • 足够的缩进。
  • 强大的错误处理和恢复场景。
  • 尽可能使用框架。

20)最流行的自动化测试工具有哪些?

最流行的自动化测试工具是:

这是一个完整的列表 自动化测试工具.


21)如何衡量自动化测试的成功?

以下标准可以衡量自动化测试的成功:

  • 缺陷检测率
  • 节省自动化执行时间和产品发布时间
  • 减少劳动力和其他成本

22)你能列出一些手动测试的缺点吗?

  • 手动测试 需要更多时间和更多资源。
  • 不准确
  • 重复执行相同的测试用例容易出错而且很繁琐。
  • 对于非常大且时间紧迫的项目进行手动测试是不切实际的。

23)自动化测试中开源工具、供应商工具和内部工具之间有何区别?

以下是两者之间的区别:

  • 开源工具: 它们是免费工具,源代码可在网上获取。例如: Selenium
  • 供应商工具: 这些测试工具由公司开发,您需要购买他们的许可证。例如:Microfocus UFT。
  • 内部工具: 它是由公司建造,供他们使用。

24)自动化测试的先决条件是什么?

自动化测试的一些重要先决条件是:

  • 稳定的构建
  • 要测试的功能
  • 自动化测试的测试用例

25)没有框架你能实现自动化吗?

框架只是指南,并非创建和执行自动化脚本的强制性要求。所以,是的,我们可以在没有框架的情况下实现自动化。如果我们创建并遵循框架,增强和维护测试脚本将很容易。


26)告诉我你对 Selenium

Selenium 是一个免费(开源)测试自动化套件。它用于自动化 Web 和移动环境。它由以下内容组成。

  • Selenium IDE(浏览器插件——录制和回放工具)
  • Selenium 网络驱动程序
  • Selenium 网格(分布式测试)
  • Selenium 支持以下语言的脚本 Java,C#, Python、Ruby、PHP、Perl 和 Java脚本。

27)告诉我有关 QTP 的信息

QTP(快速测试专业) 现在称为 Microfocus UFT。它是一种商业自动化工具,支持广泛的测试环境:Web、桌面、 SAP、Delphi、Net、ActiveX、Flex、 Java, Oracle、Mobile、PeopleSoft、PowerBuilder、Siebel、Stingray 和 Visual Basic 等等。

脚本语言是 VBScript。该工具与 ALM (测试管理工具)和 加载程序 (性能测试工具)。

QTP 的显著特点包括业务流程测试、关键字驱动框架、XML 支持、强大的检查点和测试结果。


28)什么是 SikuliX?

SikuliX 是一个使用“视觉图像匹配”方法自动化图形用户界面的工具。 SikuliX 应该被视为图像并存储在项目内部。

SikuliX 由...构成

  • SikuliX 脚本
  • Jython 的可视化脚本 API
  • SikuliX IDE

实际用途 SikuliX 是:

  • 它可以自动化基于窗口的应用程序以及您在屏幕上看到的任何内容,而无需使用内部 API 支持。
  • 它提供了一个简单的 API。
  • 它可以轻松地与以下工具链接 Selenium.
  • Web 应用程序可以实现自动化。
  • SikuliX 为自动化 Flash 对象提供广泛的支持。
  • 它可以在任何技术上运行 -.NET, Java.

29)请说明 Selenium 和 SikuliX 是什么?

SikuliX Selenium
它为自动化 Flash 对象提供了广泛的支持 它无法自动化视频播放器或音频播放器等 Flash 对象。
它有一个简单的 API 它有复杂的API
它使用视觉匹配来查找屏幕上的元素。因此,我们可以自动化屏幕上看到的任何内容。 它使用 CSS、ID、定位器和其他选定元素来识别 GUI 元素
它可以自动化网络和 Windows 应用程序 它可以仅自动化 Web 应用程序

30)好的自动化框架具有哪些属性?

以下是良好自动化框架的一些重要属性:

  • 模块化: 它是一个能够适应变化的框架。这样测试人员就能够根据环境修改脚本。
  • 可重复使用: 它应该是可重复使用的,以便方法或实用程序应该写在所有脚本可访问的通用文件中。
  • 一致: 它应该以一致的格式书写。
  • 独立: 自动化脚本应该以彼此独立的方式编写。
  • 集成化: 自动化框架应以易于与其他应用程序集成的方式进行开发。

31)什么是跨浏览器测试?

它是浏览器自动化测试的一个子集,可以帮助您确保在线应用程序在不同的浏览器上正常运行。 Google Chrome,Mozilla Firefox, Microsoft Edge,Safari等。

使用跨浏览器测试 Selenium 网络驱动程序

的主要目的 跨浏览器测试 是检查您的网站或网络应用程序是否在不同的浏览器和操作系统组合上正常运行。


32)可以使用 Selenium 框架?

你可以使用 Selenium 框架进行以下测试:

  • Web 应用程序的负载测试。
  • Web 应用程序的回归测试。
  • Web 应用程序的功能测试。

33)自动化测试是白盒测试还是黑盒测试?

自动化测试主要是一种黑盒测试。


34)使用哪个关键字来获取当前页面的 URL? Selenium?

Selenium WebDriver 可以帮助您使用 getcurrentURL() 找到页面的当前 URL。此方法将找到打开的应用程序的 URL 并生成一个字符串。


35) 您将在哪里保存 URL、登录名和密码等信息?

URL、登录名和密码是经常使用且经常更改的重要信息。它们应始终保存在单独的文件中。如果不这样做,那么自动化测试人员必须在每个文件中更改它及其引用。


针对 3 至 5 年经验的自动化测试面试问题

36)QTP 的扩展和测试资产是什么?

QTP 的一些重要的测试资产和扩展包括:

  • 结果 .xml
  • 恢复场景.qrs
  • 测试批处理运行器 .mtb
  • 共享对象存储库 .tsr
  • 本地对象存储库.mtr
  • 测试文件.mts
  • 函数库.qfl

37)手动测试和自动化测试有什么区别?

以下是一些主要的 手动测试和自动化测试之间的区别:

参数 手动测试 自动化测试
耗时 更多 Less
STLC 手动关注 按照使用工具
购物车 Less 昂贵 昂贵
可靠性 Less 可靠 高度可靠
品质保证
技能 Less 所需技能组合 需要很高的技能。

38)自动化测试框架的基本模块有哪些?

以下是自动化测试框架的一些基本模块:

  • 测试断言工具: 此测试工具将提供断言语句,用于评估被测应用程序中的预期值。例如,Junit, TestNG、Junit等
  • 数据设置: 确保 每个测试用例从数据库、文件或嵌入在测试脚本中获取测试数据。
  • 构建管理工具: 需要构建和部署框架来创建测试脚本.
  • 持续集成工具: 他们需要在每次迭代中集成并部署框架中所做的更改。
  • 报告工具: 它有助于在测试用例之后生成可读的报告,以便更好地查看步骤、失败和结果。
  • 记录工具: 它们有助于更好地调试错误和缺陷。

39)什么是 Cucumber?

Cucumber 是一个开源(BDE)行为驱动开发工具。它用于基于 Web 的应用程序自动化测试,并支持以下语言: Java,Ruby,Ruby,Scala, Groovy等等。 Cucumber 读取以纯文本编写的可执行规范,并根据这些规范测试被测应用程序。


40)什么是测试完成?

TestComplete 是一款适用于桌面应用程序、Web、移动设备等的自动化 UI 测试工具。它可以灵活地在一个浏览器上记录测试用例并在多个浏览器上运行,从而支持跨浏览器测试。


41)什么是 Cypress?

Cypress 是一个开源测试框架。它开发于 Java脚本最近因其简单性和广泛的功能而受到欢迎,可以进行浏览器测试,并且用户手册应该有完整的记录。


42)如何处理 Selenium WebDriver?

Selenium 如果测试过程中出现问题,则会发出警报。弹出界面允许您通过将控件切换到弹出窗口、按“确定”或“取消”按钮并返回到源页面屏幕来处理警报。

String srcPage = driver.getWindowHandle();
Alert pop = driver.switchTo().alert(); // shift control to the alert pop-up.
Pop.accept(); // click k button.

43)什么是混合测试框架?

混合测试框架通过在模块化测试框架中组合模块化脚本来开发测试用例。


44)编写步骤来自动化应用程序的主要“登录”功能测试用例?

以下是自动化基本登录功能的步骤:

步骤1) 了解项目需求。

步骤2) 确定测试场景

步骤3) 准备一个数据输入文件,其中包含与每个场景相对应的数据

步骤4) 从程序启动该工具。

步骤5) 识别用户名、密码和登录按钮。

步骤6) 验证负面场景的错误消息是否与正面测试场景的成功消息相同。

这些面试问题也会对你的口试有帮助