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