探索性测试


探索性测试

在本节中,我们将了解探索性测试、它的类型、何时使用它以及它的优缺点。

什么是探索性测试?

如果需求不存在,那么我们进行一轮探索性测试。

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

探索性测试

当我们使用探索性测试时

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

  • 当需求缺失时
  • 需要早期迭代
  • 当我们有一个关键的应用程序时,测试团队有经验丰富的测试人员,新的测试人员进入团队。

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

所以如果我们想先了解任何一个应用,我们会进行单元或组件测试,假设应用有一个有很多元素的登录页面,我们会了解每个部分并做组件测试,但实际上,我们是在做探索性的测试,因为我们正在探索应用程序。

假我们的应用中有很多模块,我们正在尝试做一些集成场景。

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

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

为什么缺少要求

由于以下原因,要求缺失:

如果项目很老,测试工程师从一开始就无法理解每个场景,可能会出现需求缺失的情况。

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

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

假设一家公司有一个已有 15 年历史的项目,现在他们聘请了一名新的测试工程师。新的测试工程师在从头或开始理解每个场景或需求方面面临许多困难,因为他/她是应用程序的新手。

在这种情况下,测试工程师会用 15 年的软件做什么?

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

如何进行探索性测试

要进行探索性测试,首先我们会开始使用应用程序,从高级测试工程师、开发人员等具有良好产品知识的人员那里了解应用程序的需求。

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

我们可以根据我们的知识,并借助已经在市场上推出的竞争产品来测试应用程序。

探索性测试的类型

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

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

探索性测试

自由泳

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

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

基于策略

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

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

基于场景

基于场景的探索性测试借助端到端、测试场景、真实用户场景等多种场景进行。

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

探索性测试的优缺点

好处

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

  • 如果测试工程师使用探索性测试,他/她可能会及早发现严重错误,因为在此测试中,我们需要的准备较少。
  • 在这个测试中,我们也可以发现那些测试用例中可能遗漏的错误。
  • 此测试可用于测试新功能,而对于现有功能,如果我们测试应用程序的时间较少,我们将使用回归测试。
  • 对于测试工程师来说,这种测试需要非常专心去探索应用。

缺点

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

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