📜  探索性测试

📅  最后修改于: 2021-01-11 00:50:16             🧑  作者: Mango

探索性测试

在本节中,我们将学习探索性测试,它的类型,使用时的优缺点。

什么是探索性测试?

如果不存在要求,则我们进行一轮探索性测试。

因此,首先,我们将以各种可能的方式来探索应用程序,理解应用程序的流程,准备测试文档,然后对应用程序进行测试,这种方法称为探索性测试。

当我们使用探索性测试

我们将在以下方面使用此测试:

  • 当缺少要求时
  • 需要早期迭代
  • 当我们有关键的应用程序时,测试团队将拥有经验丰富的测试人员,并且新的测试人员也加入了团队。

例如,要测试任何软件或应用程序,首先,我们将执行单元,集成和系统测试。

因此,如果我们想首先了解任何应用程序,我们将执行单元或组件测试,假设该应用程序具有包含许多元素的登录页面,并且我们将了解每个部分并进行组件测试,但是实际上,我们正在进行探索性工作。测试,因为我们正在探索该应用程序。

假设我们在应用程序中有许多模块,并且我们正在尝试进行一些集成方案。

间接地,我们只是在执行集成测试时进行探索性测试。

而且,即使我们间接地进行系统测试,我们也在进行探索性测试,因为在这里我们也了解并探索了该应用程序。

为什么缺少该要求

由于以下原因而缺少此要求:

如果项目很旧,则测试工程师从一开始就无法理解每种情况,并且可能会丢失要求。

例如,在每个公司中,我们看不到任何快速的流程,这意味着,我们不能指望在短短一个月内完成发布,并且产品应在非常短的时间内交付。

在过去的6到12年中,许多公司仍处于特定产品的开发阶段。

假设一家公司有一个已有15年历史的项目,而他们现在雇用了一位新的测试工程师。新的测试工程师在从头开始或从头开始理解每种情况或要求时都面临许多困难,因为他/她是应用程序的新手。

在这种情况下,什么测试工程师将使用15年以上的软件?

因此,首先,他/她将接受该应用程序并开始探索该应用程序。一旦测试工程师开始使用该应用程序,他/她将了解该应用程序的工作方式。而且,此过程不过是探索性测试。

如何进行探索性测试

为了进行探索性测试,首先,我们将开始使用该应用程序,并从高级测试工程师和开发人员等具有丰富产品知识的人员那里了解该应用程序的需求。

然后,我们将探索该应用程序并编写必要的文档,然后将该文档发送给领域专家,他们将遍历该文档。

而且,我们可以根据我们的知识对应用程序进行测试,并借助已经在市场上推出的有竞争力的产品进行帮助。

探索性测试的类型

探索性测试可以分为三个部分,如下所示:

  • 自由泳
  • 基于策略
  • 基于场景

自由泳

在自由式测试中,我们没有遵循任何规则,没有最大的覆盖范围,我们将像Adhoc测试一样探索该应用程序。

如果我们想对软件友好并检查其他测试工程师的作品,则可以使用自由式探索性测试。

基于策略

可以在多种测试技术的帮助下执行基于策略的探索性测试,例如基于风险的,边界值分析和等效划分。

这是由经验丰富的测试人员完成的,他是使用该应用程序时间最长的人,因为他/她非常了解该应用程序。

基于场景

基于方案的探索性测试是在多个方案(例如端到端,测试方案和实际用户方案)的帮助下执行的。

测试工程师可以发现缺陷,并在探索应用程序时利用他们的应用知识来检查多种场景的各种可能性。

探索性测试的优缺点

优点

以下是探索性测试的一些好处:

  • 如果测试工程师使用探索性测试,则他/她可能会及早发现关键错误,因为在此测试中,我们需要的准备工作更少。
  • 在此测试中,我们还可以发现测试用例中可能遗漏的那些错误。
  • 该测试可用于测试新功能,而对于现有功能,如果我们没有时间测试应用程序,则将使用回归测试。
  • 对于测试工程师而言,此测试需要集中精力来探索应用程序。

缺点

以下是探索性测试的缺点:

  • 耗时它是一个时间服用过程,因为我们不知道的要求,且功能有,因为我们只是在探索应用程序进行首次测试。
  • 测试工程师会误认为该功能是一个错误。例如,假设我们有一个登录页面,并且要求说我们必须提供必要的详细信息,例如用户名,密码员工ID,然后单击登录按钮。但是,在执行探索性测试时,我们仅提供用户名,密码的详细信息,然后单击登录按钮,但我们尚未输入员工ID。由于我们没有此要求,并且没有进行探索性测试,因此我们认为员工ID组件是一个错误,但却是一个功能。
  • 错误可能会被误认为是一项功能,例如,假设我们有一个注册页面,我们必须在其中提供诸如用户名,密码,手机号码电子邮件ID之类的详细信息。要求说,当我们提供手机号码和电子邮件ID时,会将相同的代码发送到注册的电子邮件ID和手机号码,以验证其是否正确。但是,当我们在注册页面上进行探索性测试并提供所有详细信息(用户名,密码,手机号码和电子邮件ID)时,代码只会发送到我们的手机号码,而不会发送到电子邮件ID。发生这种情况的原因是缺少该要求,并且我们会误认为该错误是一个功能,而我们永远也不会误认为这是一个错误。