下面列出了最常被问到的软件测试面试问题或QTP 面试问题和答案。
正常的软件开发过程有四个步骤。简而言之,这些步骤被称为 PDCA。
PDCA 代表计划、执行、检查、行动。
开发人员负责项目的“规划和构建”,而测试人员负责项目的“检查”部分。
黑盒测试:黑盒测试的策略是基于需求和规范。它不需要了解被测试软件的内部路径、结构或实现。
白盒测试:白盒测试基于被测试软件的内部路径、代码结构和实现。它需要完整和详细的编程技能。
灰盒测:这是另一种类型的测试,我们查看正在测试的盒子,它只是为了了解它是如何实现的。之后,我们关闭盒子并使用黑盒测试。
以下是白盒、黑盒和灰盒测试之间的区别:
在生命周期的早期设计测试可以防止缺陷出现在主代码中。
存在三种类型的缺陷:错误、缺失和额外。
错误:这些缺陷是由于需求未正确实现而发生的。
Missing:用于指定缺少的东西,即没有实施规范,或者没有适当地注意到客户的要求。
额外:这是最终客户未提供的产品中包含的额外设施。它始终与规范存在差异,但可能是客户所需的属性。但是,由于与用户要求的差异,它被视为缺陷。
针对应用程序的同步测试设计和执行称为探索性测试。在此测试中,测试人员使用他的领域知识和测试经验来预测系统在何处和在何种条件下可能会出现意外行为。
探索性测试是在软件发布之前进行的最终检查。它是自动回归测试的补充活动。
它可以帮助您防止代码中的缺陷。
基于风险的测试是一种基于风险对测试进行优先级排序的测试策略。它基于详细的风险分析方法,该方法按优先级对风险进行分类。首先解决最高优先级的风险。
验收测试的目的是使用户/客户能够确定是否接受软件产品。它还验证软件是否遵循一组商定的验收标准。在这个级别,系统测试用户的可接受性。
验收测试的类型是:
可访问性测试用于验证软件产品是否可供残障人士(聋人、盲人、智障人士等)访问。
临时测试是一个测试阶段,测试人员试图通过随机尝试系统的功能来“破坏”系统。
敏捷测试是一种使用敏捷方法的测试实践,即遵循测试优先设计范式。
应用程序编程接口是一组正式的软件调用和例程,可以被应用程序引用以访问支持的系统或网络服务。
使用无需人工干预即可执行测试的软件工具进行测试称为自动化测试。自动化测试可用于GUI、性能、API等。
自底向上测试是一种遵循集成测试的测试方法,其中首先测试最低级别的组件,然后测试更高级别的组件。重复该过程,直到测试顶级组件。
在基线测试中,运行一组测试来捕获性能信息。基线测试通过使用收集的信息并在应用程序中进行更改来提高应用程序的性能和功能。Baseline 将应用程序的当前性能与其以前的性能进行比较。
基准测试是将应用程序性能与其他组织提供的行业标准进行比较的过程。
这是一项标准测试,它指定了我们的应用程序相对于其他应用程序的位置。
有两种类型的测试对于 Web 测试非常重要:
Web 应用程序和桌面应用程序之间的区别在于 Web 应用程序对世界开放,可能有许多用户在不同时间同时访问该应用程序,因此负载测试和压力测试很重要。Web 应用程序也容易受到各种形式的攻击,主要是 DDOS,因此对于 Web 应用程序而言,安全测试也非常重要。
验证和确认的区别:
重新测试和回归测试之间的差异列表:
预防性测试设计得更早,而反应性测试则是在软件制作完成后设计的。
退出标准用于定义测试级别的完成情况。
决策表由一列中的输入组成,输出在同一列中但在输入之下。
决策表测试用于测试规范采用规则或因果组合形式的系统。您在表格中获得的提醒探索了输入组合以定义产生的输出。
这些是 alpha 和 beta 测试之间的主要区别:
随机测试也称为猴子测试。在此测试中,通常使用工具随机生成数据。数据是使用工具或某种自动化机制生成的。
随机测试有一些限制:
负面测试:当您输入无效输入并收到错误时,称为负面测试。
正面测试:当您输入有效输入并期望根据规范完成某些操作时,称为正面测试。
测试独立性非常有用,因为它避免了作者在定义有效测试时的偏见。
在边界值分析/测试中,我们只测试确切的边界而不是中间。例如:如果有银行申请,最多可以提现25000,最少可以提现100。所以在边界值测试中,我们只测试高于最大值和低于最大值。这涵盖了所有场景。
下图显示了上述银行应用的边界值测试。TC1 和 TC2 足以测试银行的所有条件。TC3 和 TC4 是重复/冗余测试用例,不会为测试增加任何价值。因此,通过应用适当的边界值基础,我们可以避免重复的测试用例,这不会增加测试的价值。
有很多方法可以测试 Web 应用程序的登录功能:
性能测试:性能测试是一种测试技术,它决定了系统在各种负载条件下的速度、可扩展性和稳定性等性能。该产品在投放市场之前经过性能测试。
软件测试的类型有:
1. 负载测试:
2.压力测试:
3. 尖峰测试:
4. 耐力测试:
5. 体积测试:
6. 可扩展性测试
软件测试中有多种可用的模型,如下所示:
以下是冒烟、健全性和试运行测试之间的差异:
要测试任何 Web 应用程序,例如Yahoo、Gmail等,我们将执行以下测试:
我们可能已经在一个平台上开发了该软件,并且用户可能会在不同的平台上使用它。因此,他们可能会遇到一些错误并停止使用该应用程序,并且业务可能会受到影响。因此,我们将进行一轮兼容性测试。
我们可以分辨出 2-5 个测试用例。
最初,我们习惯写 2-5 个测试用例,但在以后的阶段我们写大约 6-7 个,因为那时我们有更好的产品知识,我们开始重用测试用例,以及对产品的体验.
我们将编写大约 7 个测试用例,以便我们可以查看 7*3=21 个测试用例。我们可以说每天有 25-30 个测试用例。
我们每天可以运行大约 30-55 个测试用例。
正确答案是测试团队不好,因为有时软件测试的基础定义没有产品是零错误的。
我们可以手动跟踪错误,如下所示:
在自动化的帮助下跟踪错误,即错误跟踪工具:
我们在市场上有各种错误跟踪工具,例如:
基于产品:在基于产品的公司中,他们将只使用一种错误跟踪工具。
服务型:在服务型公司,他们有很多不同客户的项目,每个项目都会有不同的bug跟踪工具。
由于以下原因,该软件可能存在错误:
我们将在需要检查所有要求是否正确执行时进行测试,并确保我们提供正确的优质产品。
当我们有以下情况时,我们可以停止测试:
我们可以为以下类型的测试编写测试用例:
以下是用例和测试用例之间的显着差异:
我们可以执行手动和自动化测试。首先,我们将看到我们如何执行手动测试:
现在,我们将看到如何在笔上执行自动化测试:
为此拿一个滚筒,现在在滚筒上放一些纸,然后将笔连接到电机并打开电机。笔开始在纸上书写。一旦钢笔停止书写,现在观察它在每页上书写的行数、每条轨道的长度,并将所有这些相乘,这样我们就可以得到钢笔可以写多少公里。
原文链接:https://codingdict.com/