软件测试面试常见问题及答案


我们收集了一系列最常被问到的软件测试问题和答案,帮助您熟悉面试官在面试过程中可能会问到的各种软件测试问题类型。本软件测试面试问题及答案列表涵盖了所有常见的初级和高级测试面试问题,并提供了详尽的答案,帮助您轻松通过软件测试职位面试。

什么是探索性测试?

探索性测试是一种实践学习方法,测试人员尽可能少地进行准备,尽可能多地执行测试。计划包括制定测试策略,即对时间限制在短时间(1到2小时)内的测试活动的范围、目标和将使用的各种方法的简要描述。

通常,测试制定和执行操作同时进行,不对测试条件、测试场景或测试脚本进行书面记录。但这并不排除使用其他更正式的测试方法。例如,如果测试人员决定应用边界值分析,他们会考虑并测试最相关的边界值,而无需实际写下来。在探索性测试期间,会做一些笔记,以便之后进行审查。

什么是“用例测试”?

“用例”用于从头到尾发现和实现应用程序的所需功能,以及执行此操作的方法称为“用例测试”。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

STLC(软件测试生命周期)和SDLC(软件开发生命周期)有什么区别?

SDLC关注软件开发/编码,而STLC关注软件测试和评估。

什么是可追溯性矩阵?

一个用于演示测试用例和目标之间关系的文档,这被称为可追溯性矩阵。

等价划分测试的定义是什么?

等价划分测试是一种软件测试方法,其中程序输入测试数据被划分为至少一个等价的数据分区,从中可以生成测试用例。这种测试策略减少了软件测试所需的时间。

什么是白盒测试,白盒测试的各种类型是什么?

白盒测试方法包括根据对组件或系统内部工作原理的检查来选择测试用例(代码覆盖率、分支覆盖率、路径覆盖率、条件覆盖率等)。它通常被称为基于代码的测试或结构测试。白盒测试有几种类型:

  • 语句覆盖

  • 判定覆盖

在白盒测试中验证什么?

通过白盒测试验证以下方面:

  • 检查脚本是否存在安全漏洞。

  • 检查代码中是否存在任何缺失或损坏的路径。

  • 根据文档规范检查结构的操作。

  • 检查预期结果。

  • 检查代码中所有条件循环,以确保程序正常工作。

  • 逐行检查代码并进行100%验证。

什么是黑盒测试?黑盒测试的各种方法是什么?

黑盒测试是一种软件测试方法,其中测试应用程序无需了解代码或程序的实际结构。通常执行此测试以确保应用程序正常工作。各种黑盒测试方法如下:

  • 等价划分

  • 边界值分析

  • 因果图

静态测试和动态测试有什么区别?

静态测试:静态测试方法不运行程序,而是使用程序文档进行。

动态测试需要程序以可访问的方式才能执行。

验证和确认有什么区别?

在开发生命周期中审查软件的过程称为验证。它帮助您确定给定应用程序的结果是否满足所需标准。确认是在软件开发完成后审查软件,以确保它满足客户的需求。

测试的各个阶段是什么?

测试有四个阶段:

  • 单元/组件/程序/模块测试

  • 集成测试

  • 系统测试

  • 验收测试

什么是集成测试?

集成测试是测试阶段的一个阶段,其中将单独的软件模块组合在一起并进行测试。它通常在单元测试和功能测试之后进行。

测试计划的组成部分是什么?

测试计划文档包含许多元素,例如测试设计、目标、测试方法和策略。

  • 测试用例标识

  • 范围

  • 要测试的功能

  • 不测试的功能

  • 测试策略和方法

  • 测试交付物

  • 任务

  • 人员和培训

  • 风险和应急措施

UAT(用户验收测试)和系统测试有什么区别?

系统测试 - 系统测试是发现整个系统中缺陷的过程;它通常被称为端到端测试。在这种类型的测试中,应用程序会从头到尾地运行。

UAT - 用户验收测试 (UAT) 是对产品进行一系列测试以查看它是否满足客户需求的过程。

数据驱动测试和回归测试有什么区别?

回归测试是验证开发团队已解决的缺陷的过程,以确保已解决这些缺陷。

数据驱动测试 (DDT) - 在数据驱动测试方法中,应用程序使用多个测试数据集进行测试。使用不同的值测试应用程序。

在测试过程中进行故障排除时,最重要的步骤是什么?

  • **记录** - 记录发生的任何问题并处理它们。

  • **报告** - 向上级管理层报告问题。

  • **控制** - 指定问题管理过程。

测试场景、测试用例和测试脚本有什么区别?

  • **测试场景** - 可以测试的任何功能都称为测试场景。它也称为测试条件或测试可能性。

  • **测试用例** - 这是一个文档,它提供了必须执行的动作;它是在之前计划好的。

  • **测试脚本** - 它是在编程语言中编写的简短程序,用于测试软件系统功能的一部分。换句话说,它是必须手动执行的已记录动作序列。

什么是潜在缺陷?

**潜在缺陷** - 系统中存在但不会导致问题,因为从未满足特定的参数集。

可以帮助您确定测试执行有效性的两个因素是什么?

我们可以使用两个因素来确定测试执行的效率。

  • 缺陷拒绝率

  • 缺陷泄漏率

“Phantom”软件测试工具的用途是什么?

Phantom 是一种用于 Windows GUI 自动化的免费脚本语言。它使我们能够控制多个窗口和功能。它可以模拟任何组合的按键和鼠标动作,以及菜单、列表和其他功能。

什么是测试交付物?

测试交付物是必须创建和维护的一组记录、工具和其他组件,以支持测试。

在软件开发生命周期的每个阶段,都有各种测试交付物。

  • 测试前

  • 测试期间

  • 测试后

什么是变异测试?

变异测试是一种通过故意引入不同的代码更改(缺陷)并使用原始测试数据/用例重新测试来确定一组测试数据或测试用例是否有用性的方法,以查看是否发现了缺陷。

在为 AUT 选择自动化解决方案之前,您应该考虑什么?

  • 技术适用性

  • 复杂程度

  • 应用程序的可靠性

  • 测试数据

  • 应用程序的大小

  • 自动化脚本的可重用性

  • 跨平台执行

您将使用什么方法进行风险分析?

为了进行风险分析,必须采取以下步骤:

  • 计算风险等级

  • 创建风险概况

  • 修改风险特征

  • 利用测试风险资源。

  • 创建风险数据库

调试的各种类型是什么?

调试类别:

  • 软件测试面试常见问题及答案

  • 回溯

  • 排除法

  • 程序切片

  • 故障树分析

什么是故障屏蔽,你能用一个例子来描述它吗?

故障屏蔽是指一个故障的存在掩盖了系统中另一个问题的存在。

例如,如果“负值”导致抛出一个未处理的系统错误,开发人员将阻止输入负值。这将解决问题并掩盖未处理的异常抛出的缺陷。

更新于:2021年12月20日

浏览量:879

开启您的职业生涯

完成课程,获取认证

立即开始
广告