在软件开发生命周期
(SDLC) 中,测试阶段起着至关重要的作用,以帮助测试工程师在产品发布前后共同确定产品的质量、性能、一致性、效率和安全性。
众所周知,测试过程是识别特定软件中的错误和缺陷并立即控制它们的最佳方式,因此测试工程师团队会检测到它们。
在本教程中,我们将了解特定类型的软件测试的以下主题,即Monkey测试。
- Monkey测试简介
- Monkey测试的属性
- Monkey测试的使用
- Monkey测试的类型
- 智能Monkey测试与哑巴Monkey测试
- Monkey测试与临时测试
- Monkey测试的优势
- Monkey测试的缺点
1. Monkey测试简介
软件测试的独特类型之一是 Monkey测试。它首先在1979年由Glenford
J. Myers撰写的《软件测试的艺术》一书中介绍。
它是一种软件测试技术,用户通过随机输入来检查应用程序;这就是为什么它也被称为随机测试。
如果我们没有足够的时间来编写和执行测试,我们将实施 Monkey测试。
它也被称为随机测试,最适合桌面、Web 以及移动应用程序。如果我们使用随机测试或
Monkey测试输入,这是一个节省时间和精力的过程。
Monkey测试通常作为随机的自动化单元测试执行,并为我们提供了从测试结果中有效评估软件可靠性的好处。
Monkey测试主要是自动实现的,用户插入任何随机的无效输入并测试其性能。
如果我们正在执行负载和压力测试, Monkey测试效果很好,或者我们可以,这是一种非常好的方法。
从随机测试中创建或开发的数据还可以用于近似产品一致性。另一方面,不能以这种方式使用各种测试方法来近似软件一致性。
这在测试工程师中很流行,因为他们使用此测试通过提供随机输入并检查其行为来测试应用程序。
使用试探性能检测软件应用程序中的错误和错误是执行 Monkey测试的主要目的。
2. Monkey测试的特点
随后, Monkey测试包括通过提供一些随机数据并检测系统是否失败来测试软件或应用程序。
执行 Monkey测试的关键目的是识别软件中的缺陷和错误,并确保一旦软件产品的整个开发完成,系统就不会崩溃。
Monkey测试或随机测试的一些显着特征如下:
- 在执行 Monkey测试时,没有规范。
- 这是一种本能测试,在没有任何精确测试的情况下进行。
- 当没有定期检测到缺陷时,将实施 Monkey测试。
- Monkey测试用于列出系统的可靠性和性能。
- 花在 Monkey测试上的时间和精力相对少于实际的测试工作。
- Monkey测试的实施确保了系统的可靠性和效率。
3. Monkey测试的使用
Monkey测试可以通过开始事务并插入一些随机数据来用于数据库测试。
它也可以在硬件的帮助下进行测试,或者更优选的是,软件来模仿插入随机数据的猴子的活动。
为了测试应用程序的OWASP问题,我们可以使用预编译的随机数据。
4. Monkey测试的类型
根据其执行方式, Monkey测试分为各种类型。为了快速了解它,我们可以在下图中看到:
- 哑巴Monkey测试
- 智能 Monkey测试
- 聪明 Monkey测试
现在,让我们一一看一下,以便我们更好地理解:
哑巴 Monkey测试
第一种 Monkey测试是哑 Monkey测试。这是最简单和直接的
Monkey测试类型,不知道它们或系统的能力或应用程序的流程。
在这个测试中,我们可以识别比聪明的猴子更少的错误,但可以天真地发现难以发现的重要错误。
在这种情况下,测试经理或领导任命一名不了解应用程序特定模块的测试工程师,以便测试产品。
即使是那些测试工程师也不知道给定的输入是有效还是无效。这就是为什么Dumb
Monkey测试也被称为无知猴子。
换句话说,我们可以说Dumb Monkey不知道应用程序或系统正在维持的工作流程或数据。
要求测试工程师自动测试应用程序,并在测试工程师认为合适的位置输入随机数据。
以下特征可以识别哑巴 Monkey:
- 测试工程师的行为可能就像没有技术知识但正在尝试使用该应用程序的用户一样。
-
测试工程师可以根据自己的理解测试应用程序,并输入无效的数据。
-
当测试工程师对应用程序一无所知时。
-
要查看它是否按预期执行,我们可以记下应用程序的行为。
-
测试人员不知道输入是有效还是无效。
-
当测试人员对用户界面和功能没有太多了解时。
智能 Monkey 测试
下一种 Monkey 测试是智能Monkey 测试,其中测试工程师完全关注系统或应用程序。
此外,测试团队知道确切产品的功能,因此提供合适且有效的输入,有助于对产品执行测试。
此外,智能Monkey 测试知道应用程序的页面将重定向到哪里。
在智能Monkey 测试中,测试工程师专注于超越应用程序,如果他们发现错误,他们足够聪明,可以报告错误。此外,智能测试是执行负载测试和压力测试的绝佳选择。
换句话说,我们可以说测试工程师对系统、其目标和功能有一定的了解,测试工程师在系统中导航并提供有效的输入以执行测试。
聪明 Monkey 测试
最后和第三种类型的 Monkey测试是聪明的 Monkey测试。在这种类型的
Monkey测试中,测试工程师对系统有很好的了解。
这种类型的测试还可以识别一些错误,这些错误将来可能会在软件中找到。
此外,测试工程师知道产品的使用模式,从此以后,他们可以从用户的角度进行测试。
换句话说,我们可以说聪明的 Monkey测试比智能 Monkey测试领先一步。
在这种情况下,测试工程师或测试工程师团队被分配执行任务,因为他们对特定软件领域及其功能有完整的了解。
5. 智能 Monkey测试和哑巴 Monkey测试之间的区别
让我们在下表中看到智能 Monkey测试和哑 巴Monkey测试之间的一些重要比较。
6. Monkey测试与大猩猩测试和模糊测试相似吗?
- 众所周知,大猩猩测试是预先计划的,而 Monkey测试本质上是非常临时的,与大猩猩测试相比,我们必须多次混淆。
- 如果我们将模糊测试与大猩猩测试和 Monkey测试进行比较,则彼此之间有很大的不同。
- 关注使用随机选择的数据输入进行模糊测试,而 Monkey测试处理执行测试的随机操作。
- 因此,我们可以得出结论, Monkey测试不同于其他类型的测试程序,后者有不同的目的。我们可以根据自己的要求选择合适的测试类型,无论是
Monkey测试、大猩猩测试和模糊测试。
注意:有些人发现 Monkey和临时测试是一种类似的测试技术,这是不正确的,因为临时测试是在没有任何计划或文档工作的情况下执行的。
为了澄清上述陈述,我们可以区分 Monkey和Adhoc测试。
7. Monkey测试与Adhoc测试
让我们在下表中看到 Monkey测试和Adhoc测试之间的一些显着差异:
8. Monkey测试的优点和缺点
它是一个软件测试程序,用于分析随机和临时的测试场景。尽管为最终用户和测试工程师提供了各种好处,但Monkey测试有许多缺点,这可能会抑制其积极的能力。
因此,Monkey测试有一些基本的优点和缺点,如下所述:
Monkey测试的优点
以下是Monkey测试的一些显着好处:
- 不需要熟练的测试工程师来执行Monkey测试。
- Monkey测试非常划算。
- 个人可以借助此测试快速对错误进行分类,这可能会显着影响软件的效率和性能。
- 为了测试软件的可靠性,这是一个很好的方法。
- Monkey测试技术易于设置和实施。
- 在Monkey测试期间可以识别新的错误;在整个传统测试中不会发现它们。
- 这是以临时方式执行压力测试和负载测试的最佳方法。
Monkey测试的缺点
以下是Monkey测试的缺点:
- 评估Monkey测试期间发现的意外问题使此过程非常困难和耗时。
- 在Monkey测试中,识别出的错误可能超出范围或超出业务需求。
- 测试工程师无法保证测试用例的准确性,因为他们很难定义确切的测试场景。
- Monkey测试的实施可能会在对错误进行分类之前花费大量时间,因为它没有任何预定义的测试。
- 它是随机完成的;这就是为什么测试用例覆盖率不能是具体的。
9. 总结
在本教程中,我们了解到Monkey测试是一种相对较新的软件测试,在软件测试工程师中很受欢迎,在某些测试领域非常有益。
Monkey测试与大猩猩测试和临时测试明显不同。
Monkey测试分为三种类型的测试,分别是哑巴Monkey测试、智能Monkey测试和聪明Monkey测试。
在 Monkey 测试中,用户输入随机输入,然后实施测试以检查其性能并了解系统或应用程序是否失败。
此外,Monkey测试是由测试工程师团队进行的自动化测试,没有任何详细的测试。
最后,我们可以说Monkey测试是检查软件功能质量和软件性能的最简单方法;由于这种质量,Monkey测试也被称为随机测试。
|