70 大功能测试面试题及答案

以下是功能测试面试问题和答案,可以帮助新手和经验丰富的应聘者获得理想的工作。

 

面向新生的功能测试面试问题和答案

1)什么是功能测试?

功能测试是一种软件测试方法,可以帮助您根据功能需求/规范验证软件系统。


2)功能测试的目的是什么?

功能测试的主要目的是通过提供适当的输入并根据功能要求验证输出来测试软件应用程序的每个功能。


3)哪些类型的测试涵盖功能测试?

功能测试 涉及黑盒测试,不关心应用程序的源代码。此测试检查用户界面、API、数据库、客户端/服务器通信以及测试中的各种其他应用程序功能。此软件测试方法可以手动或使用自动化执行。


4) 功能测试中测试什么?

以下是使用功能测试的一些原因:

  • 主线功能: 它测试应用程序的主要功能
  • 基本可用性: 该方法涉及系统的基本可用性测试。它还检查用户是否能够自由地浏览屏幕而没有任何困难。
  • 无障碍: 它检查软件系统对用户的可访问性
  • 错误情况: 您可以使用测试技术来检查错误情况。它还会检查是否显示相关的错误消息。
功能测试面试问题
功能测试面试问题

5)功能测试涵盖哪些重要步骤?

功能测试按以下步骤进行:
步骤1) 研究用户或组织指定的要求,然后消除所有疑问和疑问。
步骤2) 根据指定的要求,设计测试用例时要考虑所有测试用例必须涵盖的所有测试场景。
步骤3) 识别检查系统功能所需的所有测试数据并确定输入。
步骤4) 根据输入值和功能确定预期输出。
步骤5) 该测试人员执行完所有测试用例后,检查它们是否运行良好。
步骤6) 将结果与预期输出进行比较,确定系统的缺陷率和准确性。


6)可追溯性矩阵有什么用处?

可追溯性矩阵借助一个文档显示测试用例和需求之间的关系。


7)功能测试和非功能测试有什么区别?

功能 非功能测试
功能测试在非功能测试之前进行。 非功能测试 总是在功能测试之后进行。
它是根据客户的要求而定的。 它主要关注客户的期望。
它有助于验证应用程序的行为。 它有助于验证应用程序的性能。
它描述了产品的功能。 它描述了产品的工作原理。

8) 有哪些不同的测试级别?

测试分为四个级别:

  • 整合测试:集成测试是一种软件测试方法,其中将软件模块在逻辑上集成并作为一个组进行测试。
  • 系统测试: 系统测试是验证软件产品完整性和完全集成性的测试级别。
  • 验收测试: 验收测试 (UAT) 是由最终用户或客户在将软件应用程序移至生产环境之前执行的一种测试,用于验证/接受软件系统。
  • 单元/组件/程序/模块测试: 它用于测试所有被测组件和模块

9)验收测试有什么用处?

验收测试确定软件系统是否满足所需的规格。此类测试的主要目的是评估系统是否符合业务需求,并验证系统是否满足交付给最终用户所需的标准。


10)什么是临时测试?

临时测试也称为随机测试,是一种不遵循与应用程序相关的任何测试用例或要求的测试方法。在大多数情况下,这是一种计划外的活动,其中随机检查应用程序的任何部分以查找缺陷。


11)等价分割是什么意思?

等价划分也称为等价类。它是一种黑盒测试,将输入数据划分为数据类。此软件测试过程可帮助您减少测试用例的数量,同时仍能满足最大要求。


12)什么是边界值分析?

它是一种分析等价类划分边界值的技术。此测试技术可帮助您识别边界处的错误,而不是范围值内的错误。


13)何时进行烟雾测试?

冒烟测试是在收到构建后对系统执行的一种测试方法。这种测试方法检查关键路径而不是功能,以确保构建被接受进行进一步测试,或者在系统出现故障时应被拒绝。冒烟测试还会检查系统的关键路径,如果没有关键路径,应用程序将被阻止。


14)为什么需要进行端到端测试?

端到端测试是一种允许您执行测试的方法,该测试涵盖测试应用程序从开始到结束的所有可能流程。这种软件测试方法可帮助您发现软件依赖关系,并断言不同的软件模块和子系统之间传递了正确的输入。


15)你对健全性测试有何理解?

完整性测试是在收到构建后进行的,以检查需要修复的新功能/缺陷。在这种类型的测试中,目标是检查功能、确定错误是否已修复,并测试已修复的错误对受测应用程序的影响。


16)严重性和优先级有什么区别?

缺陷严重性是缺陷对被测应用程序的影响程度。您应该记住,缺陷的严重性越高,对应用程序的影响就越大。


17)什么是RTM?

需求可追溯性矩阵 是 RTM 的全称。它是一种帮助测试人员跟踪测试过程中需求覆盖率的工具。一旦收到需求文档。它将根据需求创建并维护,直到特定系统或应用程序发布。


18)什么是数据驱动测试?

数据驱动测试是一种著名的功能测试方法,其中测试脚本在电子表格、Excel、CSV 文件、XML 文件和 SQL 数据库文件等数据源的帮助下重复执行。您可以使用这些数据源作为输入值来生成输出。之后,将其结果进行比较,以验证系统或软件。


19)什么是突变测试?

突变测试的目的是验证一组测试数据或测试用例是否有用。它是通过故意添加各种代码更改(错误)并使用原始测试用例或数据重新测试来完成的。


20)为什么彻底测试一个程序是不可能的?

以下是导致无法完全测试程序的两个重要原因。

  • 软件规范可能是主观的,可能会导致不同的解释。
  • 有时程序可能需要大量的输入、输出和路径组合。

经验丰富的功能测试面试问题和答案

21) 如果要求尚未冻结,您如何测试产品?

如果特定产品没有所需的规格,则可以根据对该产品的假设来制定测试计划。


22) 编写测试用例时需要记住哪些要点?

以下是编写测试用例时应考虑的几个要点:

  • 在开始编写测试用例之前,您必须清楚地了解客户的需求。
  • 您应该以测试用例的形式包含每个需求,并且不应该遗漏任何内容。
  • 所有功能性和非功能性需求都应包括UI界面,并且必须涵盖兼容性。
  • 应持续评估测试用例以避免任何重复或冗余。
  • 优先级也是编写测试用例时应设置的非常重要的因素。
  • 还可以构建测试用例 Sprint 以便测试人员和开发人员根据测试用例的执行来帮助您分析产品的质量。
  • 测试用例的结构必须易于理解,并且必须用简单的语言编写。

23)您一天可以执行多少个测试用例?

回答这种实时手动测试面试问题时要务实。这还取决于测试用例的复杂性和大小。有些测试用例的测试步骤很少,有些则更多。

示例答案应该是,“在我早期的项目中,我们通常每天执行 35-40 个简单测试用例,每天执行 15-17 个中型测试用例(如分配用户角色)和每天 5-7 个复杂测试用例。


24)什么是压力测试?

压力测试 是一种性能测试方法,其中应用程序必然会经历压力或压力。例如,执行应用程序超过中断阈值来确定软件程序崩溃的点。

压力测试
压力测试

25)什么是负载测试?

负载测试 是一种性能测试方法,其中应用程序在各种负载级别之外执行。它可以帮助您监控服务器的峰值性能、响应时间等。使用此性能测试方法,您可以确定应用程序在并行系统负载下的稳定性、性能和完整性。

负载测试
负载测试

26)什么是配置管理?

它是一种系统工程方法,用于建立和维护产品物理、性能、功能、设计和操作信息的一致性。它为您的组织带来成本效率和更好的时间管理。


27)基于风险的测试需要考虑的重要因素有哪些?

  • 它使您能够确定何时以及如何在适当的应用程序上实施基于风险的测试。
  • 您可以确定在应用程序关键区域搜索和处理风险时采取良好措施。

28)什么是非功能测试?

非功能测试是一种软件测试方法,用于检查软件应用程序的非功能方面,如性能、可用​​性和可靠性。它主要用于根据非功能参数测试系统的准备情况,而功能测试从未涉及这些参数。


29)自动化测试的主要优点是什么?

以下是自动化测试的优点:

  • 它为重复测试用例的执行提供支持
  • 它有助于测试大型测试矩阵
  • 它允许并行执行,也鼓励无人值守执行

点击此处了解更多信息 自动化测试.


30) 覆盖范围包括哪些?有哪些不同的覆盖技术?

覆盖技术有三种基本类型,分别是:

  • 声明范围: 这种覆盖方法确保每一行源代码都经过执行和测试。
  • 决策覆盖 确保源代码中的每个决策(真/假)都已执行并测试。
  • 路径覆盖: 确保执行并测试代码给定部分的所有可能路径。

31) 什么是 Bug 报告?

软件测试人员在软件测试期间记录他们的观察结果、事实发现和其他对开发人员有用的信息。所有这些与测试记录相关的数据也称为错误报告。

详细的错误报告对于测试期间的生产至关重要。

  • 它可以帮助你理解问题
  • 发生这种情况的环境和具体条件
  • 软件开发人员修复问题后的解决方案

32)什么是 GUI 测试?

GUI 测试是 图形用户界面测试 测试软件和最终用户之间的界面。


33) API 测试设计的标准规则是什么?

以下是 API 测试设计的关键原则:

  1. 建立: 创建对象、启动服务、初始化数据。
  2. 执行: 应用 API 或场景,包括日志记录
  3. 验证: 允许评估执行结果
  4. 报告: 显示通过、失败或阻止状态
  5. 清理: 测试前状态

34)手动测试有什么优点?

使用手动测试方法的优点如下:

  • 与自动化测试相比,这是一种方法
  • 只有通过手动测试才能从最终用户的角度分析产品
  • 您可以在手动测试的帮助下更准确地进行 GUI 测试,因为视觉可访问性和偏好很难实现自动化
  • 对于刚进入测试领域的新人来说,手动测试很容易学习
  • 它适用于短期项目,因为测试脚本不会重复使用
  • 它最适合于项目处于早期开发阶段的情况

35)什么是测试工具?

A 测试线束 通过在压力、数据驱动等不断变化的条件下运行程序或单元并监控其行为和输出来收集软件和测试信息来测试程序或单元。


36)什么是测试结束?

测试结束是一份总结测试期间进行的所有测试的文档。 SDLC(软件开发生命周期) 并对所删除的错误和发现的错误进行了详细的分析。

该文件还包含实验的总数、执行的实验总数、发现的缺陷总数、未解决的错误总数、拒绝的错误总数等。


37)功能测试中的关键错误是什么?

严重错误是指会影响特定应用程序大部分功能的错误。这还意味着大部分功能或主要系统完全崩溃,并且没有解决方法可以继续处理。


38)什么是基线测试?

基线测试是一系列用于收集性能信息的测试。收集到的信息还可用于根据结果进行更改,从而增强应用程序的性能和功能。此测试方法将应用程序的当前性能与之前的性能进行比较。


39)什么是缺陷级联?

这是一种在测试过程中仍发现任何缺陷时触发应用程序中其他缺陷的技术。它会引发其他应用程序缺陷,因为在开发的后期阶段会出现多个缺陷。

但是,如果缺陷级联影响应用程序中的其他功能,则识别受影响的功能将变得非常具有挑战性。您可以制作各种测试用例来解决这个问题。


40) 说出缺陷报告格式的所有基本组成部分。

缺陷报告格式的基本组成部分包括:

  • 项目名称
  • 模块名称
  • 检测到缺陷
  • 缺陷编号
  • 缺陷名称
  • 缺陷截图
  • 严重性和优先级状态
  • 缺陷已解决,并已解决

41)什么是测试平台?

测试平台是用于支持测试过程的软件、硬件和其他测试项目。测试平台的主要目的是控制和监控测试条件。

它还提供执行测试的方法。在手动软件测试中,测试平台包含多种工具和技术。

示例包括 PHP 等编程语言、Joomla 或 WordPress 等 Perl 框架以及 PostgreSQL or MySQL.


42)缺陷去除效率是什么?

缺陷消除效率 (DRE) 是一种测试指标,表明开发团队在产品发布之前修复错误和问题的能力。它衡量缺陷与发现问题数量的比率。例如,如果测试期间发现 80 个缺陷,修复了 60 个缺陷,则 DRE 为 80/60 = 1.3%。


43)Bug 发布与Bug 泄露有何区别?

Bug 发布是指发布特定软件版本时存在已知 Bug。这些 Bug 主要属于低优先级或低严重性,而 Bug 泄露是指最终客户发现但软件测试人员未发现的 Bug。


44)什么是敏捷测试,为什么它很重要?

敏捷测试可帮助您从客户的角度评估软件。它不需要开发团队在开始质量审核流程之前完成编码。相反,测试和编码过程同时进行。但是,它可能需要持续的客户互动。


45) 当遇到 Bug 时,作为测试人员你会怎么做?

找到错误后,我们需要将错误锁定在错误报告中。然后应将此错误分配给可以修复它的开发人员并传达给他们。开发人员修复错误后,必须重新测试所有错误,并确定是否需要进行回归测试,以确保修复不会在其他地方产生问题。


46)调试类别有哪些不同类型?

调试的各种类别包括:

  • 暴力调试
  • 原因消除
  • 程序切片
  • 回溯
  • 故障树分析

47)测试可交付成果是什么?

测试可交付成果是为支持测试而维护和开发的一组工具、文档和组件。

以下是软件开发生命周期各个测试阶段的测试可交付成果:

  • 软件测试之前
  • 软件测试期间
  • 软件测试后

48)导致项目失败的常见风险有哪些?

以下是导致项目失败的常见风险:

  • 人力资源不足
  • 测试环境可能设置不正确,风险巨大
  • 有限的预算

49)测试矩阵和可追溯性矩阵之间有哪些显著区别?

以下是测试矩阵和可追溯性矩阵之间的显著差异:

  • 测试矩阵: 测试矩阵可帮助您捕获软件测试所有阶段所需的实际质量、工作量、计划、资源和时间
  • 可追溯性矩阵: 该矩阵涉及测试用例和客户要求之间的映射。

50)什么是正面测试和负面测试?

我们可以说,当测试人员输入有效输入并期望某些操作按照规范完成时,就会进行积极测试,而当输入任何无效输入并收到错误时,就会进行消极测试。


针对 5 年以上经验的功能测试面试问题和答案

51)什么是大爆炸方法?

大爆炸是一种广泛使用的集成测试策略,需要并行检查所有系统组件。这种测试方法的主要好处是测试人员可以检查整个系统及其组件的工作情况。


52)故障是什么意思?

故障是导致软件在执行某一功能时无法执行的情况。


53)功能测试中的 Bug 泄漏是什么?

当最终客户发现软件缺陷而测试团队在测试软件时却没有注意到时,就会发生软件缺陷泄露。


54)什么是 TDD?

测试驱动开发 是一种软件开发方法。在该方法中,软件的开发由为要实现的功能创建的测试用例驱动。测试用例是在 TDD 方法中创建的,并编写通过测试的代码。


55)潜在缺陷和掩盖缺陷有什么区别?

潜在缺陷是当前版本中存在的未被识别的缺陷。然而,由于从未满足发现缺陷的条件,因此它是不可见的。这些缺陷仅在软件测试触发特定事件时才会发生,从而隐藏其存在。


56)什么是随机/猴子测试?

随机测试方法也称为 猴子测试。在这种类型的测试中,数据是随机生成的,通常使用工具或自动化机制。使用这种随机生成的输入测试您的系统,然后分析结果。


57)什么是上下文驱动测试?

上下文驱动测试涉及采用测试实践、方法和方法论,有时还根据项目上下文对其进行定制。


58)软件测试中的 PDCA 循环是什么?

PDCA循环是软件开发过程中持续过程改进的关键。

它包括以下 4 个步骤:

  • 计划: 规划有助于实现客户满意度的目的、任务和举措。
  • 这样做: 它将计划付诸实施。它有助于为客户提供更优质和更满意的服务;制定一个好的执行计划至关重要。
  • 检查: 检查计划的执行进度,结果还显示计划的准确性。
  • 法案: 根据结果​​采取行动进一步改进有助于测试人员实现计划的目标。

59)软件测试的入学标准是什么?

启动测试活动需要一组先决条件,包括测试环境、测试工具、测试数据等等。


60)软件测试的退出标准是什么?

退出标准是一组条件,用于指定应用程序的约定功能或状态,以标记流程或产品的完成。


61)系统测试可以在任何阶段进行吗?

所有软件组件都经过测试,以确保产品满足指定要求。因此,系统软件测试不能在任何阶段进行。相反,系统测试必须仅在所有模块或单元正常工作并到位时开始。


62)Alpha、Beta 和 Gamma 测试是什么意思?

所有给定的都是软件测试术语的名称:

Alpha测试 由开发软件的开发人员和测试人员进行。有时我们会发现 alpha 测试是由采购方或外包团队进行的,没有开发人员或测试人员。

交付前由指定数量的最终用户进行 Beta 测试。大多数情况下,测试在最终用户处进行。

伽马测试: 这种测试方法在软件准备发布时检查指定的需求。它通常在最终用户处进行。它也是直接进行的,省略了所有内部测试活动。


63)从端到端测试中我们可以了解到什么?

端到端测试系统是一种测试应用程序的方法,以确保其是否按预期运行。它用于从开始到结束测试应用程序流程。端到端测试系统可帮助您仔细检查系统的完整流程。此测试方法还确认不同系统组件和系统之间保持了数据完整性。


64)什么是用例测试?

用例测试是一种让我们测试特定软件功能的方法。它还能帮助您了解我们为什么应该或不应该使用软件。


65)什么是 A/B 测试?

A/B 测试会与用户一起测试两个或多个不同版本的软件,以评估哪个版本的性能更好。这是一种测试新功能或现有功能变化的低风险方法。

您可以选择一部分用户使用功能 A,另一组用户使用功能 B。之后,您可以使用统计测试检查用户反馈和响应,以确定功能的最终版本。


66)什么是缺陷生命周期?

缺陷生命周期,也称为错误生命周期,是缺陷在其整个生命周期中经历的一系列阶段。此软件测试生命周期从测试人员发现或报告缺陷时开始,到 QA 测试人员确保缺陷得到解决且不会再次发生时结束。


67)什么是配置测试?

配置测试是一种软件测试方法,用于评估软件的配置要求。它可以帮助您发现应用程序在系统下运行的最佳配置。它还可以帮助您识别和解决任何兼容性问题。


68)什么决定了风险水平?

不良事件发生的可能性及其影响决定了风险等级。


69)缺陷分类是什么意思?

缺陷分类 是一种根据严重性、风险和解决问题所需的时间等各种特征对缺陷进行优先排序的方法。缺陷分类会议将开发团队、测试团队、项目经理等利益相关者聚集在一起。


70)什么是 Stub?

当执行自上而下的集成测试时,通常直到测试和集成了顶层模块后才会生成底层模块。存根是在这种情况下使用的虚拟模块,通过根据输入变量提供预测或硬编码结果来模拟模块行为。

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