📜  黑匣子测试中的错误猜测技术

📅  最后修改于: 2021-01-08 08:45:19             🧑  作者: Mango

错误猜测技术

每个测试工程师在编写测试用例以达到最大测试覆盖率时都需要遵循的测试用例设计技术或方法或方法。如果我们遵循测试用例设计技术,那么它将变成面向过程而不是面向人的。

测试用例设计技术可确保测试目的需要所有可能为正值和负值的值。在软件测试中,我们具有三种不同的测试用例设计技术,如下所示:

  • 错误猜测
  • 等效分区
  • 边值分析[BVA]

在本节中,我们将了解第一个测试用例设计技术,即错误猜测技术

错误猜测是一种没有特定方法来识别错误的技术。它基于测试分析师的经验,测试人员将根据经验来猜测软件的问题区域。这是一种黑匣子测试技术,它没有任何定义的结构来查找错误。

在这种方法中,每个测试工程师都将基于他们对要求的理解或假设来得出值或输入,并且我们不遵循任何规则来执行错误猜测技术。

错误猜测技术的完成取决于测试人员的能力和产品知识,因为好的测试工程师知道错误最有可能在哪里,这有助于节省大量时间。

错误猜测技术如何实现?

该技术的实现取决于测试人员或分析人员的经验,他们具有类似应用程序的先前经验。它只需要经验丰富的测试人员以及快速的错误猜测技术即可。此技术用于查找可能无法通过正式黑盒测试技术轻松捕获的错误,这就是原因,它是在所有正式技术之后才完成的。

错误猜测技术的范围完全取决于测试人员和先前测试工作中的经验类型,因为它不遵循任何方法和准则。分析人员准备测试用例以识别条件。通过确定大多数可能出错的区域来准备条件,然后为它们设计测试用例。

该技术的主要目的是通过执行以下任务来识别任何测试级别的常见错误:

  • 在文本字段中输入空格。
  • 空指针异常。
  • 输入无效的参数。
  • 除以零。
  • 使用要上传的文件的最大限制。
  • 在不输入值的情况下检查按钮。

测试用例的增加取决于测试人员的能力和经验。

错误猜测的目的

错误猜测技术的主要目的是处理所有无法识别为非正式测试的可能错误。

  • 错误猜测技术的主要目的是处理无法通过非正式测试确定的所有可能的错误。
  • 它必须包含所有包含的测试用例集,而不会跳过任何有问题的区域,并且不涉及多余的测试用例。
  • 这项技术可以完成正式测试中不完整的特征。

根据测试人员的直觉和经验,无法纠正所有缺陷。考官在使用自己的经验时可以使用一些因素-

  • 测试人员的直觉
  • 历史学习
  • 审核清单
  • 该软件的风险报告
  • 应用程序用户界面
  • 一般测试规则
  • 先前的测试结果
  • 过去发生过缺陷
  • 用于测试的各种数据
  • AUT知识

错误猜测方法示例

例1

该应用程序的函数需要一个手机号码,该号码必须为10个字符。现在,以下是可用于猜测手机号码字段中的错误的技术:

  • 如果输入的字符不是数字,结果是什么?
  • 如果输入的字符少于10位,结果如何?
  • 如果将移动字段留空,结果将如何?

实施这些技术后,如果输出与预期结果相似,则认为该函数没有错误,但是如果输出与预期结果不相似,则将其发送给开发团队以修复缺陷。

但是,错误猜测是所有测试技术中的关键技术,因为它取决于测试人员的经验,但不能保证最高质量的基准。它不能完全覆盖软件。如果与其他测试技术结合使用,则该技术可以产生更好的结果。

例2

假设我们有一个银行帐户,我们必须在那儿存一些钱,但是该金额将在5000-7000的特定范围内被接受。因此,在这里,我们将提供不同的输入值,直到它基于错误猜测技术覆盖了最大的测试覆盖率,并查看它是否被接受或给出错误消息:

value description
6000 Accept
5555 Accept
4000 Error message
8000 Error message
blank Error message
100$ Error message
—- —-
—- —-
Maximum test coverage

注意:

条件:如果金额> 5000且金额<7000金额

并且,如果我们输入5000→错误消息(根据条件不被接受)

7000→错误消息(根据条件不接受)

错误猜测技术的优缺点

优点

错误猜测技术的好处如下:

  • 这是查找软件中具有挑战性的部分的好方法。
  • 当我们将这种技术与其他正式测试技术结合使用时,将是有益的。
  • 它用于增强正式的测试设计技术。
  • 借助这项技术,我们可以揭示那些可能在广泛测试中发现的错误;因此,测试工程师可以节省大量时间和精力。

坏处

以下是错误猜测技术的缺点:

  • 错误猜测技术是面向人的,而不是面向过程的,因为它取决于人的思维。
  • 如果使用此技术,则可能无法达到最小测试覆盖率。
  • 借助于此,我们可能不会涵盖所有输入值或边界值。
  • 这样,我们就不能保证产品质量。
  • 错误猜测技术可以由具有产品知识的人员来完成;产品的新手无法做到这一点。