40 个 QA(质量保证)面试问题及答案
面向应届毕业生的质量保证面试问题和答案
1)QA和软件测试有什么区别?
QA(质量保证)的作用是监控软件生产“流程”的质量。而软件测试则是确保最终产品的功能满足用户要求的过程。
2)什么是测试件?
测试件是设计和执行测试所需的测试工件,例如测试用例、测试数据、测试计划。
3)构建和发布有什么区别?
构建:这是开发团队提供给测试团队的可安装软件的编号。
发布:这是测试人员或开发人员交给客户的可安装软件的编号。
4)SQA(软件质量保证)团队在测试时面临哪些自动化挑战?
- 掌握自动化工具
- 自动化脚本的可重用性
- 测试用例对自动化的适应性
- 自动化复杂的测试用例。
5)什么是bug泄漏和bug发布?
缺陷发布是指在明知缺陷存在于发布版本中的情况下将软件或应用程序移交给测试团队。在此期间,缺陷的优先级和严重性较低,因为可以在最终移交之前消除缺陷。
错误泄露是指错误被最终用户或客户发现,但测试团队在测试软件时却没有检测到的情况。
6)什么是数据驱动测试?
数据驱动测试是一种自动化测试框架,它测试 AUT 上的不同输入值。这些值直接从数据文件中读取。数据文件可能包括 csv 文件、excel 文件、数据池等等。
7) 解释一下 Bug Cycle 的步骤?
- 一旦测试人员发现错误,就会将其以开放状态分配给开发经理
- 如果该错误是一个有效的缺陷,开发团队将会修复它。
- 如果它不是一个有效的缺陷,该缺陷将被忽略并标记为被拒绝
- 下一步是检查它是否在范围内。如果该错误不是当前版本的一部分,则缺陷将被推迟
- 如果缺陷或错误较早出现,则测试人员将分配重复状态
- 当错误被分配给开发人员修复时,它将被赋予“进行中”状态
- 一旦缺陷被修复,状态将变为 FIXED,最后如果通过最终测试,测试人员将给出 CLOSED 状态。
8)测试策略包括哪些内容?
测试策略包括测试活动的介绍、资源、范围和计划、测试工具、测试优先级、测试计划以及必须执行的测试类型。
9)提及不同类型的软件测试?
- 单元测试
- 集成测试和回归测试
- 震荡测试
- 烟雾测试
- 功能测试
- 性能测试
- 白盒测试和黑盒测试
- Alpha和Beta测试
- 负载测试和压力测试
- 系统测试
10)什么是分支测试,什么是边界测试?
对代码的所有分支进行一次测试称为分支测试。而专注于软件极限条件的测试称为边界测试。
11)测试计划和测试用例的内容是什么?
- 测试目标
- 测试范围
- 测试框架
- 环境
- 测试原因
- 进入和退出的标准
- 已有成果
- 风险因素
12)什么是敏捷测试,敏捷测试的重要性是什么?
敏捷测试是软件测试,是使用敏捷方法的测试。这种测试的重要性在于,与普通测试过程不同,这种测试不会等待开发团队先完成编码然后再进行测试。编码和测试同时进行。它需要持续的客户互动。
经验丰富的 QA 面试问题和答案
13)什么是测试用例?
测试用例是针对被测应用程序进行检查的特定条件。它包含测试步骤、先决条件、测试环境和输出的信息。
14)自动化测试计划的策略是什么?
- 自动化测试计划的策略
- 自动化测试计划的制定
- 记录场景
- 错误处理程序合并
- 通过插入检查点和循环结构来增强脚本
- 调试脚本并解决问题
- 重新运行脚本
- 报告结果
15)什么是质量审核?
为确定质量控制程序的有效性而进行的系统、独立的检查称为质量审计。
16)测试人员在测试时使用哪些工具?
- Selenium
- 萤火虫
- OpenSTA
- WinSCP赋予
- Yslow for FireBug
- Firebox 的 Web 开发人员工具栏
以上只是示例工具。测试人员使用的工具可能因项目而异。
17)解释压力测试、负载测试和容量测试?
- 负载测试:在高负载但预期负载下测试应用程序称为负载测试。这里的负载是指大量的用户、消息、请求、数据等。
- 压力测试:当系统负载增加或加速到超出正常范围时,这称为压力测试。
- 容量测试:检查系统是否能够处理所需量的数据、用户请求等的过程称为容量测试。
18) 软件开发问题的五种常见解决方案是什么?
- 建立需求标准,软件的需求应该完整、明确并且得到所有人的认可
- 接下来是现实的时间表,比如规划、设计、测试、修复错误和重新测试的时间
- 充分的测试,一个或多个模块开发完成后立即开始测试。
- 在设计阶段使用快速原型,以便客户可以轻松找到所需内容
- 使用群组沟通工具
19)什么是“USE”案例?它包括什么?
描述特定功能的用户操作和系统响应的文档称为用例。它包括修订历史、目录、事件流、封面、特殊要求、先决条件和后置条件。
20)什么是 CRUD 测试以及如何测试 CRUD?
CRUD 代表创建、读取、更新和删除。可以使用 SQL 语句进行 CRUD 测试。
21)什么是线程测试?
线程测试是一种自上而下的测试,其中组件的逐步集成遵循需求子集的实现,而不是按连续较低的级别进行组件的集成。
针对 3 年经验的 QA 面试问题
22)什么是配置管理?
这是一个控制和记录项目生命周期内发生的任何变更的过程。发布控制、变更控制和 Rev视觉控制是配置管理的重要方面。
23)什么是 Ad Hoc 测试?
这是一个测试阶段,测试人员会随机测试系统的功能,试图破坏系统。它也可以包括负面测试。
24) 列出软件质量保证工程师的角色?
A 软件质量保证 工程师的任务可能包括以下内容
- 编写源代码
- 软件设计
- 源代码控制
- Rev查看代码
- 更换管理层
- 配置管理
- 软件整合
- 程序测试
- 发布管理流程
25)解释什么是测试驱动程序和测试存根以及为什么需要它们?
- 存根从要测试的软件组件调用。它采用自上而下的方法
- 驱动程序调用要测试的组件。它采用自下而上的方法
- 当我们需要测试模块 X 和 Y 之间的接口,并且我们只开发了模块 X 时,就需要这样做。因此,我们不能只测试模块 X,但如果有任何虚拟模块,我们可以使用该虚拟模块来测试模块 X
26)解释什么是 Bug 分类?
A 错误分类 是一个过程
- 确保错误报告的完整性
- 分配并分析错误
- 将错误分配给适当的错误所有者
- 适当调整 Bug 严重程度
- 设置适当的错误优先级
27) 列出应用程序开发过程中支持测试所需的各种工具?
为了支持应用程序开发过程中的测试,可以使用以下工具
- 测试管理工具:JIRA、Quality Center等。
- 缺陷管理工具:Test Director、Bugzilla
- 项目管理工具:Sharepoint
- 自动化工具:RFT、QTP 和 WinRunner
28)什么是因果图?
因果图是输入和相关输出效果的图形表示,可用于设计测试用例。
29)软件测试中的测试指标是什么?它包含哪些信息?
在软件测试中,测试度量是指测试测量的标准。它们是描述测试结构或内容的统计数据。它包含以下信息:
- 总测试
- 试运行
- 测试通过
- 测试失败
- 测试推迟
- 测试首次通过
30)解释什么是可追溯性矩阵?
测试矩阵用于将测试脚本映射到需求。
针对 5 年以上经验人员的 QA 面试问题
31)解释回归测试和重新测试之间的区别是什么?
进行重新测试以检查缺陷修复情况,而进行回归测试以检查缺陷修复是否对其他功能产生任何影响。
32) 列出软件开发周期中的软件质量实践?
软件质量实践包括
- Rev在开始开发阶段之前查看需求
- 代码 RevIEW
- 编写全面的测试用例
- 基于会话的测试
- 基于风险的测试
- 根据使用情况确定错误优先级
- 组建专门的安全和性能测试团队
- 运行回归循环
- 对生产进行健全性测试
- 在生产中模拟客户账户
- 包括软件 QA 测试报告
33)解释“测试驱动开发”规则是什么?
测试驱动开发的规则是在编写实际代码之前准备测试用例。这意味着您实际上是在为应用程序编写代码之前为测试编写代码。
34)请提及SQA中的文档类型有哪些?
SQA 中的文档类型包括
- 需求文件
- 测试指标
- 测试用例和测试计划
- 任务分配流程图
- 交易组合
- 用户资料
- 测试日志
- 测试事件报告
- 测试总结报告
35) 解释一下您的 QA 文档应包括哪些内容?
QA测试文档应该包括
- 按严重程度列出检测到的缺陷数量
- 详细解释每项要求或业务功能
- 检验报告
- 型号
- 测试计划和测试用例
- 错误报告
- 用户手册
- 为管理人员和用户准备单独的报告
36)解释什么是MR,以及MR由哪些信息组成?
MR 代表修改请求,也称为缺陷报告。它用于报告软件中的错误/问题/建议。
37)软件质量保证文档应包括什么?
软件质量保证文档应该包括
- 规格
- 设计
- 商业规则
- 型号
- 代码变更
- 测试计划
- 测试用例
- 错误报告
- 用户手册等
38) 请说明应如何进行验证活动?
验证活动应采用以下技术进行
- 聘请第三方独立验证和确认
- 指派不参与验证和核查活动的内部工作人员
- 独立评估
我们介绍了针对新人最重要的 QA 测试面试问题,以及针对经验丰富的 QA 工程师的 QA 测试面试问题,以帮助您为即将到来的面试做好准备。这份 QA 测试员面试问题的详细指南将帮助您消除对 QA 工程师面试问题的疑虑,并帮助您破解工作面试。这些面试问题也将有助于您的口试