软件测试面试题和答案(2024年收集更新)
2024年收集更新的软件测试面试题和答案,下面列出了最常见的软件测试面试问题或 QTP 面试问题和答案。
黑盒测试:黑盒测试的策略是基于需求和规范。 它不需要了解被测软件的内部路径、结构或实现。白盒测试:白盒测试基于内部路径、代码结构和被测软件的实现。 它需要完整而详细的编程技能。灰盒测试:这是另一种类型的测试,我们在其中查看正在测试的盒子,这样做只是为了了解它是如何实现的。 之后,我们关闭盒子并使用黑盒测试。
以下是白盒、黑盒和灰盒测试之间的区别:
黑盒测试
灰盒测试
白盒测试
黑盒测试不需要程序的实现知识。
灰盒测试知道内部程序的有限知识。
在白盒测试中,完全需要程序的实现细节。
...
完整答案
正常的软件开发过程有四个步骤。 简而言之,这些步骤被称为 PDCA。
PDCA 代表计划、执行、检查、行动。
计划(Plan):它定义了目标和实现该目标的计划。执行/执行(Do/Execute):取决于计划阶段确定的计划策略,就是按照这个阶段来做的。检查/Check:这是软件开发阶段的测试部分,它用于确保按计划进行并获得预期的结果。Act:此步骤用于解决在检查周期中是否出现任何问题。 它相应地采取适当的行动并再次修改计划。
开发人员负责项目的“规划和构建”,而测试人员负责项目的“检查”部分。
完整答案
在生命周期的早期设计测试可以防止缺陷出现在主代码中。
完整答案
缺陷分为三种类型:错误、缺失和额外。
错误:这些缺陷是由于需求未正确实现而发生的。缺失:用于指定缺失的内容,即未实施规范,或未适当注意客户的要求。额外:这是最终客户未提供的并入产品的额外设施。 它始终与规范不同,但可能是客户想要的属性。 但是,由于与用户要求的差异,它被认为是缺陷。
完整答案
针对应用程序的同时测试设计和执行称为探索性测试。 在这个测试中,测试人员使用他的领域知识和测试经验来预测系统在什么情况下可能会出现意外行为。
完整答案
探索性测试是在软件发布之前进行的最终检查。 它是自动化回归测试的补充活动。
完整答案
它可以帮助防止代码中的缺陷。
完整答案
基于风险的测试是一种基于按风险对测试进行优先级排序的测试策略。 它基于详细的风险分析方法,该方法按优先级对风险进行分类。 首先解决最高优先级的风险。
完整答案
进行验收测试以使用户/客户能够确定是否接受软件产品。 它还验证软件是否遵循一组商定的验收标准。 在此级别中,系统会测试用户的可接受性。验收测试的类型有:
用户验收测试:也称为最终用户测试。此类测试是在产品经过测试人员测试后进行的。用户验收测试是针对用户需求、要求和业务流程执行的测试,以确定系统是否满足验收标准。操作验收测试:在产品投放市场之前进行操作验收测试。但是,它是在用户验收测试之后执行的。合同和法规验收测试:在合同验收测试的情况下,系统会根据某些标准进行测试,并在合同中制定标准。在法...
完整答案
可访问性测试用于验证软件产品是否可供残障人士(聋、盲、智障等)访问。
完整答案
临时测试/Adhoc是一个测试阶段,测试人员通过随机尝试系统的功能来尝试“破坏”系统。
完整答案
敏捷测试是一种使用敏捷方法的测试实践,即遵循测试优先的设计范式。
完整答案
应用程序编程接口是一组形式化的软件调用和例程,应用程序可以引用它们来访问支持系统或网络服务。
完整答案
使用无需人工干预即可执行测试的软件工具进行的测试称为自动化测试。 自动化测试可用于 GUI、性能、API 等。
完整答案
自底向上测试是一种遵循集成测试的测试方法,首先测试最低级别的组件,然后测试更高级别的组件。 重复该过程,直到测试顶级组件。
完整答案
在基线测试中,运行一组测试以捕获性能信息。 基线测试通过使用收集的信息并在应用程序中进行更改来提高应用程序的性能和功能。 基线将应用程序的当前性能与其以前的性能进行比较。
完整答案
基准测试是将应用程序性能与其他组织给出的行业标准进行比较的过程。这是一个标准测试,它指定我们的应用程序相对于其他应用程序的位置。
完整答案
有两种类型的测试对于 Web 测试非常重要:性能测试:性能测试是一种测试技术,其中测量系统的质量属性,例如响应能力、不同负载条件下的速度和可扩展性。 性能测试描述了在产品投放市场之前需要改进哪些属性。安全测试:安全测试是一种测试技术,它确定数据和资源是否可以从入侵者手中保存下来。
完整答案
Web 应用程序和桌面应用程序之间的区别在于,Web 应用程序对世界开放,可能有许多用户在不同时间同时访问该应用程序,因此负载测试和压力测试很重要。 Web 应用程序也容易受到各种形式的攻击,主要是 DDOS,因此安全测试在 Web 应用程序的情况下也非常重要。
完整答案
验证和确认的区别:
验证
确认
验证是静态测试。
验证是动态测试。
验证发生在验证之前。
验证发生在验证之后。
验证评估计划、文件、要求和规范。
验证评估产品。
验证中,输入是检查表、问题列表、演练和检查。
失效测试,实际产品进行测试。
验证输出是一组文档、计划、规范和需求文档。
无效的实际产品被输出。
完整答案
重新测试和回归测试之间的差异列表:
回归
重测
回归是一种软件测试,它检查代码更改不会影响应用程序的当前特性和功能。
重新测试是检查在最终执行中失败的测试用例的测试过程。
回归测试的主要目的是对代码所做的更改不应影响现有功能。
对缺陷修复应用重新测试。
缺陷验证不是回归测试的一个元素。
缺陷验证是回归测试的一个元素。
可以为回归测试执行自动化,而手动测试可能既昂贵又耗时。
无法为重新测试执行自动化。
回归测试也称为通用测试。
重新测试也称为计划测试。
回归测试关...
完整答案
预防性测试是较早设计的,而反应性测试是在软件生产后设计的。
完整答案
退出标准用于定义测试级别的完成。
完整答案
决策表由一列中的输入组成,输出在同一列中但在输入下方。决策表测试用于测试规范采用规则或因果组合形式的系统。 您在表格中获得的提醒探索输入组合以定义产生的输出。
完整答案
下面是 alpha 和 beta 测试之间的主要区别:
编号
Alpha 测试
Beta 测试
1
它总是由软件开发站点的开发人员完成。
它始终由客户在其站点执行。
2
它也由独立测试团队执行
它不是由独立测试团队执行
3
不向市场和公众开放。
它对市场和公众开放。
4
它总是在虚拟环境中执行。
它始终在实时环境中执行。
5
用于软件应用程序和项目。
它用于软件产品。
6
它遵循白盒测试和黑盒测试的类别。
它只是一种黑盒测试。
7
它没有任何其他名称。
它也...
完整答案
随机测试也称为猴子测试。 在此测试中,通常使用工具随机生成数据。 数据是使用工具或某种自动化机制生成的。
随机测试有一些限制:
大多数随机测试都是多余的和不切实际的。需要更多时间来分析结果。如果不记录用于测试的数据,则无法重新创建测试。
完整答案
负面测试:当输入无效输入并收到错误时称为负面测试。正面测试:当输入有效输入并期望根据规范完成的某些操作时,称为正面测试。
完整答案
测试独立性非常有用,因为它避免了作者在定义有效测试时的偏见。
完整答案
在边界值分析/测试中,我们只测试确切的边界,而不是在中间。 例如:如果有一个银行申请,最多可以取25000,最少可以取100。所以在边界值测试中我们只测试高于最大值和低于最大值。 这涵盖了所有场景。
下图显示了上述银行应用的边界值测试。TC1 和 TC2 足以测试银行的所有条件。 TC3 和 TC4 是重复/冗余的测试用例,它们不会为测试增加任何价值。 因此,通过应用适当的边界值基础,我们可以避免重复的测试用例,这不会为测试增加价值。
完整答案
有很多方法可以测试 Web 应用程序的登录功能:
使用有效的登录名登录,关闭浏览器并重新打开,看看是否仍然登录。登录,然后注销,然后返回登录页面,查看是否真正注销。登录,然后返回同一页面,是否再次看到登录屏幕?会话管理很重要。 必须关注我们如何跟踪登录用户,是通过 cookie 还是网络会话?从一个浏览器登录,打开另一个浏览器查看是否需要重新登录?登录,修改密码,然后注销,然后看看能不能用旧密码重新登录。
完整答案
性能测试:性能测试是一种测试技术,用于确定系统在各种负载条件下的速度、可扩展性和稳定性等性能。 该产品在投放市场之前经过性能测试。软件测试的类型有:1、负载测试:负载测试是一种测试技术,在该技术中系统以不断增加的负载进行测试,直到达到阈值。
注意:负载增加意味着用户数量增加。
负载测试的主要目的是检查随着负载量的增加系统的响应时间。负载测试是非功能性测试意味着只测试非功能性需求。执行负载测试以确保系统可以承受重负载。
2、压力测试:
压力测试是一种在CPU、内存、磁盘空间等硬件资源不足时...
完整答案
功能测试和非功能测试有以下区别 -
比较基础
功能测试
非功能测试
描述
功能测试是一种测试技术,它检查应用程序的功能是否在需求规范下工作。
非功能测试检查所有非功能方面,如性能、可用性、可靠性等。
执行
功能测试在非功能测试之前实施。
非功能测试是在功能测试之后进行的。
重点领域
视客户要求而定。
这取决于客户的期望。
需求
功能需求可以很容易地定义。
非功能性需求不容易定义。
手动测试
功能测试可以通过手动测试来执行。
非功能测试不能通过手动测试来执行。
...
完整答案
静态测试和动态测试有区别:
静态测试
动态测试
静态测试是一种白盒测试技术,在软件开发生命周期的初始阶段完成。
动态测试是在软件开发生命周期的后期完成的测试过程。
静态测试在代码部署之前进行。
在代码部署之后执行动态测试。
它在验证阶段实施。
它在验证阶段实施。
在此类测试期间不执行代码。
动态测试需要执行代码。
在静态测试的情况下,为测试过程制作检查表。
在动态测试的情况下,执行测试用例。
完整答案
负面和正面测试的区别 -
负面测试
正面测试
正面测试意味着通过提供有效数据来测试应用程序。
负面测试是指通过提供无效数据来测试应用程序。
在正面测试的情况下,测试人员总是检查应用程序的一组有效值。
在否定测试的情况下,测试人员总是检查应用程序的无效值集。
正面测试是通过考虑正面的观点来完成的,例如:通过提供诸如“Akshay”之类的值来检查名字字段。
负面测试是通过考虑负面观点来完成的,例如:通过提供诸如“Akshay123”之类的值来检查名字字段。
它验证已知的一...
完整答案
软件测试中有多种可用的模型,如下所示:
瀑布模型螺旋模型原型模型验证和确认模型混合模型敏捷模型合理的统一流程模型[RUP]快速应用程序开发 [RAD]
完整答案
以下是冒烟测试、健全性测试和空运行测试之间的区别:
冒烟测试 健全性测试 干运行测试它是肤浅的、广泛的和脚本化的测试。 它是狭隘、深入和无脚本的测试 试运行测试是在内部减轻可能失败的影响的过程。当构建到来时,我们将编写自动化脚本并执行脚本。 所以它会自动执行。 它将手动执行。 例如,一家航空航天公司可能会在首次试飞前使用新飞机和跑道进行起飞试运行。它将采用所有基本功能并执行高级测试。 它将需要一些重要的功能并执行深入的测试。
完整答案
以下是烟雾、健全性和空运行测试之间的区别:
冒烟测试
健全性测试
干运行测试
它是肤浅的、广泛的和脚本化的测试。
它是狭隘、深入和无脚本的测试
试运行测试是在内部减轻可能失败的影响的过程。
当构建到来时,我们将编写自动化脚本并执行脚本。所以它会自动执行。
它将手动执行。
例如,一家航空航天公司可能会在首次试飞前使用新飞机和跑道进行起飞试运行。
它将采用所有基本功能并执行高级测试。
它将需要一些重要的功能并执行深入的测试。
-
完整答案
要测试任何 Web 应用程序,例如 Yahoo、Gmail 等,将执行以下测试:
功能测试集成测试系统测试性能测试兼容性测试(在各种操作系统、多种浏览器和不同版本上测试应用程序)可用性测试(检查是否用户友好)临时测试可访问性测试冒烟测试回归测试安全测试全球化测试(仅当它以不同的语言开发时)
完整答案
我们可能在一个平台上开发了软件,用户也有可能在不同的平台上使用它。 因此,他们可能会遇到一些错误并停止使用该应用程序,并且业务可能会受到影响。 因此,我们将进行一轮兼容性测试。
完整答案
可以分辨出 2-5 个测试用例 -
第一个测试用例 → 第 1 天,第 2 天。第二个测试用例→第 3 天、第 4 天。第四个测试用例 → 第 5 天。5-10 个测试用例 → 第 19 天。
最初,我们习惯写 2-5 个测试用例,但在以后的阶段,会写 6-7 个左右,因为那时我们对产品有更好的了解,开始重新使用测试用例,以及在产品上的经验。
完整答案
我们编写大约 7 个测试用例,以便我们可以查看 7*3=21 个测试用例。 我们可以说每天有 25-30 个测试用例。
完整答案
每天可以运行大约 30-55 个测试用例。
注意:对于这些类型的问题 (39-41),请始终记住比例:可以编写 x 个测试用例,我们可以审查 3x 个测试用例,以及我们每天可以执行 5x 个测试用例。
完整答案
测试团队不好开发者超级棒产品旧上述所有的
正确的答案是测试团队不好,因为有时软件测试的基础定义没有产品具有零错误。
完整答案
可以手动跟踪错误:
识别错误。确保它不重复(即在错误存储库中检查它)。准备一份错误报告。将其存储在错误存储库中。将其发送给开发团队。管理错误生命周期(即不断修改状态)。
在自动化的帮助下跟踪错误,即错误跟踪工具:在市场上有各种可用的错误跟踪工具,例如:
JiraBugzillaMantisTelelogicRational Clear QuestBug_track质量中心(它是一个测试管理工具,它的一部分用于跟踪错误)
注意:在这里,有两类工具:
基于产品:在基于产品的公司中,将只使用一个...
完整答案
由于以下原因,该软件可能存在错误:
软件复杂性编程错误如果客户和公司之间没有发生通信,即应用程序应该或不应该根据软件的需要执行。需求修改时间压力。
完整答案
当需要检查所有要求是否正确执行时,我们将执行测试,并确保交付的产品质量正确。
完整答案
只要有以下情况,我们就可以停止测试:
一旦应用程序的功能稳定。当时间较少时,会测试必要的功能,然后停止它。客户的预算。当基本功能本身无法正常工作时。
完整答案
可以为以下类型的测试编写测试用例:
不同类型的测试
测试用例
冒烟测试
在此将只编写标准功能;因此,我们可以提取一些具有所有必要功能的测试用例。因此,我们不必为冒烟测试编写测试用例。
功能/单元测试
为单元测试编写测试用例。
集成测试
为集成测试编写测试用例。
系统测试
为系统测试编写测试用例。
验收测试
但这里客户可以编写测试用例。
兼容性测试
在此不必编写测试用例,因为与上面相同的测试用例用于不同平台的测试。
Adhoc 测试
不为 Adhoc 测试编写...
完整答案
可追溯性矩阵和测试用例审查过程的区别 -
可追溯性矩阵
测试用例审查
在此,将确保每个需求都有至少一个测试用例。
在此,将检查是否针对特定要求涵盖了所有场景。
完整答案
以下是用例和测试用例之间的显着差异:
测试用例
用例
它是描述输入、操作和预期响应的文档,以根据客户要求控制应用程序是否正常工作。
它是对客户要求的详细描述。
它源自测试场景、用例和 SRS。
它源自 BRS/SRS。
在开发测试用例的同时,还可以发现规范中的漏洞。
业务分析师或 QA Lead 准备它。
完整答案