🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 前 150 个软件测试面试问题&答案 > 原文: [https://www.guru99.com/software-testing-interview-questions.html](https://www.guru99.com/software-testing-interview-questions.html) **1.什么是探索性测试?** 探索性测试是一种动手实践的方法,在这种方法中,测试人员需要进行最少的计划和最大程度的测试执行。 该计划涉及创建测试章程,简短声明(短时间(1-2 小时)的有时间限制的测试工作范围,目标和可能使用的方法)。 测试设计和测试执行活动通常并行执行,而无需正式记录测试条件,测试用例或测试脚本。 这并不意味着将不使用其他更正式的测试技术。 例如,测试人员可能决定使用边界值分析,但会仔细考虑并测试最重要的边界值,而不必写下来。 在探索性测试期间将写一些笔记,以便以后可以生成报告。 **2.什么是“用例测试”?** 为了从头到尾识别并执行应用程序的功能需求,使用了“用例”,并且用于执行此操作的技术称为“用例测试”。 **3\. STLC(软件测试生命周期)和 SDLC(软件开发生命周期)之间有什么区别?** SDLC 处理软件的开发/编码,而 STLC 处理软件的验证和校验 **4.什么是可追溯性矩阵?** 在文档的帮助下显示了测试用例与需求之间的关系。 该文档被称为可追溯性矩阵。 **5.什么是等效分区测试?** 等效分区测试是一种软件测试技术,可将应用程序输入测试数据至少划分为每个等效数据一次,从中可以得出测试用例。 通过这种测试方法,它减少了软件测试所需的时间。 **6.什么是白盒测试并列出白盒测试的类型?** 白盒测试技术涉及基于对组件或系统的内部结构(代码覆盖范围,分支覆盖范围,路径覆盖范围,条件覆盖范围等)的分析来选择测试用例。 也称为基于代码的测试或结构测试。 不同类型的白盒测试是 1. 声明范围 2. 决策范围 **7.在白盒测试中,您要验证什么?** 在白盒测试中,验证了以下步骤。 1. 验证代码中的安全漏洞 2. 验证代码中不完整或损坏的路径 3. 根据文档规范验证结构流程 4. 验证预期的输出 5. 验证代码中的所有条件循环,以检查应用程序的完整功能 6. 逐行验证线路并覆盖 100%测试 **8.什么是黑匣子测试? 黑匣子测试技术有哪些不同?** 黑匣子测试是一种软件测试方法,用于在不知道代码或程序的内部结构的情况下测试软件。 通常执行此测试以检查应用程序的功能。 不同的黑匣子测试技术是 1. 等效分区 2. 边值分析 3. 因果图 **9.静态测试和动态测试有什么区别?** 静态测试:在静态测试方法中,不执行代码,而是使用软件文档执行代码。 动态测试:要执行此测试,代码必须采用可执行形式。 **10.什么是验证和确认?** 验证是在开发阶段评估软件的过程。 它可以帮助您确定给定应用程序的产品是否满足指定的要求。 验证是在开发过程之后评估软件并检查其是否满足客户要求的过程。 **11.有哪些不同的测试水平?** 有四个测试级别 1. 单元/组件/程序/模块测试 2. 整合测试 3. 系统测试 4. 验收测试 **12.什么是集成测试?** [集成测试](/integration-testing.html)是软件测试过程的一个级别,其中将应用程序的各个单元进行组合和测试。 通常在单元和功能测试之后执行。 **13.什么测试计划组成?** 测试设计,范围,测试策略,方法是测试计划文件所包含的各种细节。 1. 测试用例标识符 2. 范围 3. 要测试的功能 4. 功能未经测试 5. 测试策略&测试方法 6. 测试可交付成果 7. 职责范围 8. 人员配备和培训 9. 风险与或有事项 **14\. UAT(用户接受测试)和系统测试之间有什么区别?** 系统测试:系统测试是在系统整体进行测试时发现缺陷; 这也称为端到端测试。 在这种类型的测试中,应用程序遭受了从始至终的痛苦。 UAT:用户验收测试(UAT)涉及通过一系列特定测试来运行产品,这些测试确定该产品是否将满足其用户的需求。 **15.是否提到数据驱动测试和重新测试之间的区别?** **重新测试:**这是检查由开发团队执行的错误以验证其已修复的过程。 **数据驱动测试(DDT):**在数据驱动测试过程中,将使用多个测试数据来测试应用程序。 应用程序使用不同的值集进行了测试。 **16.在测试期间解决问题的重要步骤是什么?** * 记录:记录并处理已发生的任何问题 * 报告:将问题报告给上级经理 * 控制:定义问题管理流程 **17.测试方案,测试用例和测试脚本之间有什么区别?** 测试方案和测试用例之间的区别在于 **测试方案:**测试方案是可以测试的任何功能。 也称为测试条件或测试可能性。 **测试用例:**这是一个文档,其中包含必须执行的步骤; 它早已被计划。 **测试脚本:**它是用编程语言编写的,它是一个简短的程序,用于测试软件系统的部分功能。 换句话说,应该手动执行一组书面步骤。 **18.什么是潜在缺陷?** **潜在缺陷:**该缺陷是系统中的现有缺陷,不会导致任何故障,因为从未满足确切的条件集 **19.可以用来了解测试执行质量的两个参数是什么?** 要知道测试执行的质量,我们可以使用两个参数 * 不良率 * 缺陷漏率 ![](https://img.kancloud.cn/88/5d/885dce2afc3e70bb6459c0833986de6f_300x346.png) **20.软件测试工具“ phantom”的功能是什么?** Phantom 是免费软件,用于 Windows GUI 自动化脚本语言。 它使我们能够自动控制窗口和功能。 它可以模拟击键和鼠标单击以及菜单,列表等的任何组合。 **21.解释什么是应试课程?** 测试交付物是必须开发和维护以支持测试的一组文档,工具和其他组件。 在软件开发生命周期的每个阶段,都有不同的测试交付物 * 测试之前 * 测试期间 * 测试后 **22.什么是突变测试?** 变异测试是一种技术,通过有意引入各种代码更改(错误)并使用原始测试数据/案例进行重新测试以确定是否检测到错误,从而确定一组测试数据或测试用例是否有用。 **23.在为 AUT 选择自动化工具之前,您应该考虑什么所有事项?** * 技术可行性 * 复杂程度 * 应用稳定性 * 测试数据 * 申请规模 * 自动脚本的可重用性 * 跨环境执行 **24.您将如何进行风险分析?** 为了进行风险分析,需要执行以下步骤 1. 寻找风险的分数 2. 进行风险简介 3. 改变风险属性 4. 部署具有测试风险的资源 5. 建立风险数据库 **25.调试的类别有哪些?** 调试类别 1. 蛮力调试 2. 回溯 3. 原因消除 4. 程序切片 5. 故障树分析 **26.错误屏蔽示例说明了什么?** 当一个缺陷的存在掩盖了系统中另一缺陷的存在时,称为故障屏蔽。 示例:如果“负值”导致未处理的系统异常触发,则开发人员将阻止输入负值。 这将解决问题并隐藏未处理异常触发的缺陷。 **27.解释什么是测试计划? 测试计划应涵盖哪些信息?** 可以将测试计划定义为描述测试活动的范围,方法,资源和时间表的文档,并且测试计划应涵盖以下详细信息。 * 测试策略 * 测试目标 * 退出/暂停条件 * 资源规划 * 测试成果 **28.如何消除项目中的产品风险?** 它可以帮助您消除项目中的产品风险,并且有一个简单而关键的步骤可以降低项目中的产品风险。 * 研究规格文件 * 与包括开发人员在内的所有利益相关者讨论该项目 * 以真实用户的身份浏览网站 **29.导致项目失败的常见风险是什么?** 导致项目失败的常见风险是 * 人力资源不足 * 测试环境可能未正确设置 * 预算有限 * 时间限制 **30.您可以在什么基础上得出项目的估算值?** 要估算您的项目,您必须考虑以下几点 * 将整个项目划分为最小的任务 * 将每个任务分配给团队成员 * 估算完成每个任务所需的工作量 * 验证估计 **31.说明您如何分配任务给团队成员?** | **任务** | **成员** | | * 分析软件需求规范 | * 所有成员 | | * 创建测试规范 | * 测试员/测试分析师 | | * 建立测试环境 | * 测试管理员 | | * 执行测试用例 | * 测试人员,测试管理员 | | * 报告缺陷 | * 测试仪 | **32.解释什么是测试类型,什么是常用的测试类型?** 为了获得预期的测试结果,遵循标准程序,称为“测试类型”。 常用的测试类型是 * 单元测试:测试应用程序的最小代码 * API 测试:测试为应用程序创建的 API * 集成测试:单个软件模块被组合和测试 * 系统测试:完整的系统测试 * 安装/卸载测试:从客户端/客户角度进行的测试 * 敏捷测试:通过敏捷技术进行测试 **33.在监视项目时,您需要考虑什么?** 必须考虑的是 * 您的项目是否如期进行 * 你超出预算了吗 * 您是否朝着相同的职业目标努力 * 你有足够的资源 * 是否有任何即将发生问题的警告信号 * 管理层是否有压力要求尽快完成项目 **34.导致问题的常见错误是什么?** * 将资源匹配到错误的项目 * 测试经理缺乏技能 * 不听别人的话 * 日程安排不佳 * 低估 * 忽略小问题 * 不遵循流程 **35.典型的测试报告包含哪些内容? 测试报告有什么好处?** 测试报告包含以下内容: * 项目信息 * 测试目标 * 测试总结 * 缺陷 测试报告的好处是: * 告知项目现状和产品质量 * 如果需要,利益相关者和客户可以采取纠正措施 * 最终文件有助于确定产品是否已准备好发布 **36.什么是测试管理评审,为什么如此重要?** 管理评审也称为软件质量保证或 SQA。 SQA 更加关注软件过程而不是软件工作产品。 这是一组活动,旨在确保项目经理遵循标准流程。 SQA 帮助测试经理根据设定的标准对项目进行基准测试。 **37.软件质量保证的最佳做法是什么?** 有效实施 SQA 的最佳做法是 * 连续的提高 * 文献资料 * 工具用法 * 指标 * 团队成员的责任 * 经验丰富的 SQA 审核员 **38.什么时候准备 RTM(需求可追溯性矩阵)?** RTM 是在测试用例设计之前准备的。 需求应可从审查活动中追溯。 **39.测试矩阵和可追溯性矩阵有什么区别?** **测试矩阵**:测试矩阵用于捕获捕获软件测试所有阶段所需的实际质量,工作量,计划,资源和时间 **可追踪性矩阵**:测试用例和客户需求之间的映射称为可追踪性矩阵 **40.在手动测试中,存根和驱动程序是什么?** 存根和驱动程序都是增量测试的一部分。 在增量测试中,有两种方法,即自下而上和自上而下。 驱动程序用于自下而上的测试,存根用于自上而下的方法。 为了测试主模块,使用了存根,它是一个伪代码或程序。 **41.一旦发现缺陷,您将采取什么步骤?** 一旦发现缺陷,您将按照以下步骤进行操作 a)重现缺陷 b)附上截图 c)记录缺陷 **42.解释什么是“测试计划驱动”或“关键字驱动”测试方法?** 该技术使用测试人员使用包含特殊“关键字”的电子表格开发的实际测试用例文档。 关键字控制处理。 **43.什么是 DFD(数据流程图)?** 当通过信息系统以图形方式表示“数据流”时,则称为数据流图。 它还用于数据处理的可视化。 **44.解释什么是 LCSAJ?** LCSAJ 代表“线性代码序列和跳转”。 它由以下三项组成 a)可执行语句的线性序列的开始 b)线性序列的结尾 c)在线性序列末尾将控制流转移到的目标线 **45.请说明什么是 N + 1 测试?** 回归测试的变化表示为 N + 1。 在这种技术中,测试在多个周期中执行,其中解决了在测试周期“ N”中发现的错误,并在测试周期 N + 1 中对其进行了重新测试。 除非没有发现错误,否则重复该循环。 **46.什么是 Fuzz 测试以及何时使用?** 模糊测试用于检测软件中的安全漏洞和编码错误。 在这种技术中,随机数据被添加到系统中,以使系统崩溃。 如果漏洞仍然存在,则使用一种称为模糊测试器的工具来确定潜在原因。 对于较大的项目,此技术更有用,但只能检测到重大故障。 **47.提及软件测试的语句覆盖率度量标准的主要优点是什么?** 报表覆盖率指标的好处是 a)它不需要处理源代码,并且可以直接应用于目标代码 b)错误通过代码平均分配,因此所覆盖的可执行语句的百分比反映了发现的错误的百分比 **48.如何为“替换字符串”方法生成测试用例?** a)如果新字符串中的字符>前一个字符串中的字符。 所有字符都不应被截断 b)如果新字符串中的字符<前一个字符串中的字符。 请勿添加垃圾字符 c)不应删除字符串前后的空格 d)仅在首次出现字符串时才应替换字符串 **49.您将如何处理团队成员之间的冲突?** * 我将分别与每个人交谈并记录他们的担忧 * 我将为团队成员提出的常见问题找到解决方案 * 我将举行团队会议,透露解决方案,并要求人们进行合作 **50.提及缺陷的类别是什么?** 主要有三种缺陷类别 * **错误**:如果需求实施不正确 * **遗漏**:与规范存在差异,表示未执行规范或未满足客户要求 * **额外的**:最终客户未提供的产品中包含的要求。 由于它与现有要求有所不同,因此被认为是缺陷。 **51.解释测试覆盖率工具如何工作?** 代码覆盖率测试工具在对实际产品执行测试时并行运行。 代码覆盖率工具监视源代码的已执行语句。 完成最终测试后,我们将获得待处理报表的完整报告,并获得覆盖率。 **52.提到软件测试中“缺陷”和“失败”之间的区别是什么?** 简而言之,当缺陷到达最终客户时,称为缺陷,而缺陷在内部得以识别并得以解决; 则称为缺陷。 **53.解释如何在跨软件开发生命周期的项目中测试文档?** 该项目以以下方式跨越软件开发生命周期 * 中央/项目测试计划:它是概述项目完整测试策略的主要测试计划。 该计划将一直使用到软件开发生命周期结束 * 验收测试计划:该文档在需求阶段开始,并在最终交付时完成 * 系统测试计划:该计划从设计计划开始,一直持续到项目结束 * 集成和单元测试计划:这两个测试计划都在执行阶段开始,一直持续到最终交付为止 **54.请解释先写黑盒还是白盒的测试用例?** 首先编写黑盒测试用例,就像编写黑盒测试用例一样; 它需要项目计划和需求文档,所有这些文档都可以在项目开始时轻松获得。 在编写白盒测试用例时,需要更多的架构知识,并且在项目开始时不可用。 **55.解释潜在缺陷和掩盖缺陷之间的区别是什么?** * **潜在缺陷:**潜在缺陷是由于从未满足条件集而未引起故障的现有缺陷 * **掩盖的缺陷:**这是未引起故障的现有缺陷,因为另一个缺陷阻止了部分代码的执行 **56.提到什么是自下而上的测试?** 自下而上的测试是一种集成测试的方法,其中先测试最低级别的组件,然后再用于促进更高级别的组件的测试。 重复该过程,直到测试层次结构顶部的组件为止。 **57.提及不同类型的测试覆盖技术是什么?** 不同类型的测试覆盖技术包括 * **语句覆盖率:**验证源代码的每一行是否已执行和测试 * **决策覆盖率:**它确保源代码中的每个决策都得到执行和测试 * **路径覆盖率:**它确保执行和测试通过代码给定部分的每条可能路线 **58.提及呼气测试的含义是什么?** 呼气测试是一种测试套件,可行使产品的全部功能,但不会详细测试功能 **59.解释代码遍历的含义是什么?** 代码遍历是对程序源代码的非正式分析,以发现缺陷并验证编码技术 **60.提及缺陷报告格式的基本组成部分是什么?** 缺陷报告格式的基本组成部分包括 * 项目名称 * 模块名称 * 检测到缺陷 * 检测到的缺陷 * 缺陷编号和名称 * 缺陷快照 * 优先级和严重性状态 * 解决的缺陷 * 缺陷已解决 **61.提及进行端到端测试的目的是什么?** 端到端测试是在功能测试之后进行的。 进行端到端测试的目的是 * 验证软件要求并与外部接口集成 * 在实际环境中测试应用程序 * 测试应用程序与数据库之间的交互 **62.请解释一下测试工具的含义?** 测试工具正在配置一组工具和测试数据,以在各种条件下测试应用程序,并且涉及用预期的输出监视输出的正确性。 **63.在一个测试项目中解释您将自动化哪些测试活动?** 在测试项目测试活动中,您将自动化 * 需要为应用程序的每个版本运行的测试 * 使用多个数据执行同一组操作的测试 * 需要使用不同的浏览器执行的相同测试 * 关键任务页面 * 交易页面短期内不会更改 **64.在生命周期的早期设计测试的主要好处是什么?** 它有助于防止将缺陷引入代码中。 **65.什么是基于风险的测试?** 基于风险的[测试](/software-testing.html)是用于创建基于风险优先测试的[测试策略](/how-to-create-test-strategy-document.html)的方法的术语。 该方法的基础是详细的风险分析,并按风险级别对风险进行优先级排序。 然后指定针对每种风险的测试,首先从最高风险开始。 **66.预防性和反应性测试方法之间的主要区别是什么?** 预防性测试应尽早设计; 反应测试是在软件制作完成后设计的。 **67.退出标准的目的是什么?** 退出标准的目的是定义何时完成测试级别。 **68.什么决定风险水平?** 不良事件的可能性和事件的影响确定风险级别。 **69.何时使用决策表测试?** 决策表测试用于测试系统,其规范采用规则或因果组合的形式。 在决策表中,输入列在一列中,输出在同一列中但在输入下方。 该表的其余部分探讨了输入的组合以定义所产生的输出。 在视频教程 [**此处**](/decision-table-testing.html) 了解更多有关决策表测试技术的信息。 **70.为什么我们使用决策表?** 等效划分和边界值分析技术通常应用于特定情况或输入。 但是,如果不同的输入组合导致采取不同的操作,则使用等价分区和边界值分析可能会更难于显示出来,而等价划分和边界值分析往往更关注于用户界面。 其他两种基于规范的技术,决策表和状态转换测试更侧重于业务逻辑或业务规则。 决策表是处理事物组合(例如输入)的好方法。 有时,此技术也称为“因果”表。 原因是存在一种相关的逻辑图表技术,称为“因果图”,有时被用来帮助导出决策表。 **71.审查可交付的软件时,主要目标是什么?** 识别任何软件工作产品中的缺陷。 **72.以下哪个定义了测试的预期结果? 测试用例规范或测试设计规范。** 测试用例规范定义了测试的预期结果。 **73.测试独立性有什么好处?** 它避免了作者在定义有效测试方面的偏见。 **74.在哪个测试过程中,您确定退出标准?** 退出标准是根据“测试计划”确定的。 **75.什么是 Alpha 测试?** 最终用户代表在开发人员站点上进行的预发布测试。 **76.什么是 Beta 测试?** 由潜在客户在自己的位置执行的测试。 **77.提及试点测试和 Beta 测试之间的区别是什么?** 试点测试和 Beta 测试之间的区别在于,试点测试实际上是在最终部署之前由用户组使用该产品完成的,而在 beta 测试中,我们不输入实际数据,而是将其安装在最终客户上以进行验证 该产品是否可以用于生产。 **78.给定以下代码段,100%决策覆盖率需要多少测试?** ``` if width > length thenbiggest_dimension = width if height > width thenbiggest_dimension = height end_if elsebiggest_dimension = length if height > length thenbiggest_dimension = height end_if end_if ``` 4 **79.您已经设计了测试用例,以为以下代码片段提供 100%的语句和 100%的决策覆盖率。 如果 width >长度,则 maximum_dimension =宽度,否则,bigstant_dimension =长度 end_if 在上面的代码片段的底部添加了以下内容。 打印“最大尺寸为” & maximum_dimensionprint“ Width:” & width 打印“ Length:” & length 需要多少个测试用例?** 没有,可以使用现有的测试用例。 **80.测试技术和测试工具有什么区别?** 测试技术:–一种确保应用系统或单元某些方面正常运行的过程,其中可能只有很少的技术,而有很多工具。 测试工具:–是执行测试过程的工具。 该工具是测试人员的资源,但其本身不足以进行测试 在此处 了解有关测试工具 [**的更多信息**](/testing-tools.html) **81.我们使用需求分析的输出,需求规范作为编写的输入…** 用户验收测试用例 **82.修改后,对已经测试的程序进行重复测试,以发现由于测试软件或其他相关或不相关软件组件的更改而导致的任何引入或发现的缺陷:** 回归测试 **83.批发商出售打印机墨盒。 最小订购数量为 5。订购 100 个或更多墨盒时,可享受 20%的折扣。 您被要求使用订购的打印机墨盒数量的各种值来准备测试用例。 以下哪一组包含使用边值分析生成的三个测试输入?** 4, 5, 99 **84.什么是组件测试?** 组件测试(也称为单元,模块和程序测试)在可单独测试的软件(例如,模块,程序,对象,类等)中搜索缺陷并验证其功能。 根据开发生命周期和系统的上下文,可以与系统的其余部分隔离地进行组件测试。 大多数情况下,存根和驱动程序用于替换缺少的软件,并简单地模拟软件组件之间的接口。 从要测试的软件组件中调用存根; 驱动程序调用要测试的组件。 这是 [**单元测试**](/unit-testing-guide.html) 上的精彩视频 **85.什么是功能系统测试?** 测试整个系统的端到端功能被定义为功能系统测试。 **86.独立测试的好处是什么?** 独立测试人员没有偏见,可以同时识别不同的缺陷。 **87.在一种反应性的测试方法中,您希望何时开始大部分测试设计工作?** 测试设计工作的大部分工作是在软件或系统生产完成后开始的。 **88.敏捷开发模型中有哪些不同的方法?** 我目前知道七种不同的敏捷方法论: 1. 极限编程(XP) 2. Scrum 3. 精益软件开发 4. 功能驱动开发 5. 敏捷统一流程 6. 水晶 7. 动态系统开发模型(DSDM) **89.基本测试过程中的哪些活动包括对需求和系统的可测试性的评估?** “测试分析​​”和“设计”包括对需求和系统的可测试性的评估。 **90.通常,使用风险来推动测试工作的最重要的原因是什么?** 因为测试一切都不可行。 **91.什么是随机/猴子测试? 什么时候使用?** 随机测试通常称为猴子测试。 在这种类型的测试中,通常使用工具或自动机制随机生成数据。 使用此随机生成的输入,对系统进行测试,并相应地分析结果。 这些测试的可靠性较差; 因此,它通常由初学者使用,以查看系统是否会在不利影响下保持正常运行。 **92.以下哪些是事件报告的有效目标?** 1. 向开发人员和其他方提供有关问题的反馈,以根据需要进行识别,隔离和更正。 2. 提供改进测试过程的想法。 3. 提供评估测试人员能力的工具。 4. 为测试人员提供一种跟踪被测系统质量的方法。 **93.考虑以下技术。 哪些是静态技术,哪些是动态技术?** 1. 等效分区。 2. 用例测试。 3. 数据流分析。 4. 探索性测试。 5. 决策测试。 6. 检查。 数据流分析和检查是静态的; 等效分区,用例测试,探索性测试和决策测试是动态的。 **94.为什么静态测试和动态测试是互补的?** 因为他们的共同目标是识别缺陷,但是发现的缺陷类型不同。 **95.正式审查的阶段是什么?** 与非正式审查相反,正式审查遵循正式程序。 典型的正式审核过程包括六个主要步骤: 1. 规划 2. 开始 3. 制备 4. 审查会议 5. 重工 6. 跟进。 **96.主持人在审核过程中的作用是什么?** 主持人(或审核负责人)领导审核过程。 他或她与作者合作确定审阅的类型,方法和审阅小组的组成。 主持人执行入站检查和返工跟踪,以控制审查过程的输入和输出的质量。 主持人还安排会议,在会议之前分发文件,指导其他团队成员,安排会议的进度,主持可能的讨论并存储收集的数据。 在此处 中了解有关视频教程 [**的更多审核过程。**](/testing-review.html) **97.什么是等效分区(也称为等效类)?** 值的输入或输出范围,以使该范围中只有一个值成为测试用例。 **98.什么时候应执行配置管理程序?** 在测试计划中。 **99.一种功能测试,它调查与检测威胁有关的功能,例如来自恶意外部人员的病毒?** 安全测试 **100.测试,其中我们使测试目标服从不同的工作负载,以测量和评估性能行为以及目标和测试在这些不同工作负载下继续正常运行的能力?** 负载测试 **101.为暴露接口和集成组件之间的交互中的缺陷而执行的测试活动是?** 集成水平测试 **102.什么是基于结构的(白盒)测试技术?** 基于结构的测试技术(也是动态的而不是静态的)使用软件的内部结构来得出测试用例。 它们通常被称为“白盒(white-box)”或“玻璃盒(glass-box)”技术(暗示您可以看到系统),因为它们需要了解如何实现软件(即软件如何工作)的知识。 例如,一种结构技术可能与执行软件中的循环有关。 可以得出不同的测试用例来执行一次,两次和多次循环。 无论软件的功能如何,都可以这样做。 **103.什么时候应该执行“回归测试”?** 在更改软件或更改环境后[应该执行回归测试](/regression-testing.html)。 **104** 。 **什么是阴性和阳性测试?** 否定测试是当您输入无效的输入并收到错误时。 积极测试是指您输入有效的输入并期望根据规范完成一些操作。 **105.测试完成标准的目的是什么?** 测试完成标准的目的是确定何时停止测试 **106.静态分析找不到什么?** 例如内存泄漏。 **107.重新测试和回归测试有什么区别?** 重新测试可确保原始故障已消除; 回归测试寻找意外的副作用。 **108.什么是基于经验的测试技术?** 在基于经验的技术中,人们的知识,技能和背景是测试条件和测试用例的主要贡献者。 技术人员和业务人员的经验都很重要,因为他们为测试分析和设计过程带来了不同的观点。 由于以前在类似系统上的经验,他们可能会深入了解可能出问题的地方,这对于测试非常有用。 **109.哪种类型的审核需要正式的出入标准,包括指标?** 检查 **110.审查或检查是否可以视为测试的一部分?** 是的,因为两者都可以检测到故障并提高质量。 **111.一个输入字段取 1900 年至 2004 年之间的出生年份为多少,用于测试该字段的边界值是多少?** 1899,1900,2004,2005 **112.回归测试的自动化将使用以下哪些工具? 一个。 数据测试仪 b。 边界测试仪 c。 捕获/播放 d。 输出比较器。** d。 输出比较器 **113.要测试一个函数,必须编写一个程序员,该程序员调用要测试的函数并传递测试数据。** 司机 **114.开发人员难以测试自己的作品的主要原因之一是什么?** 缺乏客观性 **115.“多少测试就足够了?”** 答案取决于您所在行业的风险,合同和特殊要求。 **116.什么时候应该停止测试?** 这取决于被测试系统的风险。 您可以根据一些标准停止测试。 1. 截止日期(测试,发布) 2. 测试预算已用完 3. 错误率低于一定水平 4. 完成一定比例的测试用例 5. 测试的 Alpha 或 Beta 时期结束 6. 满足代码,功能或要求的覆盖范围 **117.小型集成测试中集成策略的主要目的是什么?** 集成策略的主要目的是指定哪些模块何时以及何时合并。 **118.什么是半随机测试用例?** 半随机测试用例什么都不是,但是当我们执行随机测试用例并对这些测试用例进行等效划分时,它会删除多余的测试用例,从而为我们提供了半随机测试用例。 **119.给定以下代码,关于完整语句和分支覆盖范围所需的最小测试用例数量,以下哪个语句正确?** **读取 p** **读取 q** **IF p + q > 100** **然后打印“大”** **ENDIF** **如果 p > 50** **然后打印“ p 大”** **ENDIF** 1 个语句覆盖率测试,2 个分支覆盖率测试 **120.通常使用哪种评价来评估产品,以确定其对预期用途的适用性并确定差异?** 技术审查。 **121.发现的错误应首先由谁记录?** 通过测试人员。 **122.当前全球公认的正式文档标准是什么?** 没有一个。 **123.创建了待审核项目的审核参与者是谁?** 作者 **124.在软件中修复了许多严重的错误。 所有错误均在与报告相关的一个模块中。 测试经理决定仅在报告模块上进行回归测试。** 回归测试也应该在其他模块上进行,因为固定一个模块可能会影响其他模块。 **125.为什么边界值分析提供了良好的测试案例?** 因为在值范围的“边缘”附近对不同情况进行编程期间经常会出错。 **126.什么使检查与其他检查类型不同?** 它由训练有素的领导者领导,使用正式的出入标准和清单。 **127.为什么测试人员可以依赖于配置管理?** 因为配置管理可确保我们知道测试软件和测试对象的确切版本。 **128.什么是 V 型?** 一个软件开发模型,说明测试活动如何与软件开发阶段集成 **129.什么是维护测试?** 由现有软件的修改,迁移或报废触发 **130.什么是测试覆盖率?** 测试覆盖率以某种特定方式来衡量一组测试所执行的测试量(以其他方式得出,例如,使用基于规范的技术)。 只要我们可以计算事物的数量,并且可以告诉每个事物是否已经通过某种测试进行了测试,那么我们就可以衡量覆盖率。 **131.为什么增量集成优先于“大爆炸”集成?** 因为增量集成具有更好的早期缺陷筛选和隔离能力 **132.从端子模块开始的过程是什么?** 自下而上的整合 **133.在哪个测试活动中可以最经济高效地发现故障?** 在测试计划期间 **134.需求阶段的目的是** 冻结需求,了解用户需求,定义测试范围 **135.为什么我们将测试分为不同的阶段?** 由于以下原因,我们将测试分为不同的阶段: 1. 每个测试阶段都有不同的目的 2. 分阶段进行测试更容易 3. 我们可以在不同的环境中进行不同的测试 4. 使用分阶段测试可以提高测试的性能和质量 **136.什么是 DRE?** 为了衡量测试有效性,使用了一种功能强大的度量标准来衡量测试有效性,这种度量称为 DRE(缺陷清除效率)。通过该度量标准,我们可以知道从测试用例集中发现了多少个错误。 DRE 的计算公式为 DRE =测试中的错误数/测试中的错误数+用户发现的错误数 **137.使用提供测试捕获和重播功能的测试工具,最有可能从以下哪个受益? a)回归测试 b)集成测试 c)系统测试 d)用户验收测试** 回归测试 **138.您如何估计可能需要的重新测试量?** 以前类似项目的度量标准以及与开发团队的讨论 **139.什么研究数据流分析?** 通过代码在路径上使用数据。 **140.什么是失败?** 失败是对特定行为的背离。 **141.什么是测试比较器?** 如果您将某些输入输入到某些软件中,却从不看该软件是否产生正确的结果,这真的是一种测试吗? 测试的实质是检查软件是否产生正确的结果,并做到这一点,我们必须将软件产生的结果与应该产生的结果进行比较。 测试比较器有助于自动化比较的各个方面。 **142.谁负责记录审查会议中确定的所有问题,问题和开放点?** 隶 **143.非正式审查的主要目的是什么** 一种便宜的方式获得一些好处 **144.测试设计技术的目的是什么?** 确定测试条件并确定测试用例 **145.在测试成绩计算系统时,测试人员确定从 90 到 100 的所有分数都将得到 A 级,而低于 90 的分数则不会。 该分析被称为:** 等价分区 **146.测试经理想要使用可用于自动测试 Web 应用程序的资源。 最好的选择是**测试人员,测试自动化,网络专家,DBA **147.在测试模块测试器期间,“ X”发现了一个错误并将其分配给开发人员。 但是开发人员拒绝了这一说法,称这不是错误。 “ X”应该做什么?** 发送遇到的错误的详细信息,并检查可重复性 **148.一种集成测试,其中,软件元素,硬件元素或两者同时全部组合成一个组件或整个系统,而不是分阶段进行。** 大爆炸测试 **149.实际上,取决于项目和软件产品,哪种生命周期模型可能具有更多,更少或不同级别的开发和测试。 例如,可能在组件测试之后进行组件集成测试,而在系统测试之后进行系统集成测试。** V 型 **150.可以使用哪种技术来实现输入和输出覆盖? 它可以应用于人工输入,通过系统接口输入或集成测试中的接口参数。** 等价分区 **151.“此生命周期模型受进度和预算风险的驱使”此陈述最适合。** V-Model **152.应该按什么顺序运行测试?** 最重要的一个必须首先测试 **153.在开发生命周期中发现故障的时间越晚,修复故障的成本就越高。 为什么?** 该故障已内置在更多文档,代码,测试等中 **154.什么是覆盖率测量?** 这是测试彻底性的部分度量。 **155.什么是边值测试?** 在输入和输出等效类的边缘之上,之下和之上测试边界条件。 例如,假设有一个银行应用程序,您最多可以提取 20,000 卢比,而最低提取 100 卢比,因此在边界值测试中,我们仅测试确切的边界,而不是中间。 这意味着我们将测试高于最大限制而低于最小限制。 **156\. COTS 代表什么?** 商业现成的。 **157.这样做的目的是允许在与释放物品时使用被测物品的环境尽可能相似的系统或网络上进行特定测试?** 测试环境 **158.可以认为是基于项目计划,但有更多细节?** 阶段测试计划 **159.什么是快速应用程序开发?** 快速应用程序开发(RAD)在形式上是功能和后续集成的并行开发。 组件/功能是并行开发的,就好像它们是小型项目一样,这些开发需要按时装箱,交付,然后组装成可用的原型。 这可以非常快速地为客户提供一些可见和使用的东西,并提供有关交付及其需求的反馈。 使用这种方法可以快速更改和开发产品。 但是,在某个时候需要为产品制定产品规格,并且在投入生产之前,必须将项目置于更正式的控制之下。 **请参阅我们的** [测试测验](https://bit.ly/2PU7NSY) 上面的手动测试面试问题将对新生和经验丰富的质量检查工程师都提供帮助。 请与朋友和同事分享页面。