Monkey测试与示例

Monkey测试

Monkey测试是一种软件测试技术,其中测试人员在没有预定义测试用例的情况下将任何随机值输入到软件应用程序中,并检查软件应用程序的行为,无论其是否崩溃。Monkey测试的目的是使用实验技术发现软件应用程序中的错误和错误。

  1. 在Monkey测试中,测试人员(有时也包括开发人员)被认为是“Monkey”
  2. 如果一只Monkey使用计算机,会随机地在系统上执行任何他不能理解的任务
  3. 就像测试人员在被测系统上随机应用测试用例一样,无需预定义任何测试用例即可找到错误
  4. 在某些情况下,Monkey测试也专门用于单元测试或GUI测试

大猩猩测试的是什么?

大猩猩测试是一种软件测试技术,它反复测试程序的一个模块,以确保它工作正常,并且该模块中没有错误。

一个模块可以以相同的方式测试一百多次。因此,大猩猩测试也被称为“重复的测试”。

Monkey测试的优势:

  1. 新类型的bug:测试人员可以完全接触到按照他的理解实现测试,而不是前面提到的场景,这可能不会给出任何结果。系统中存在的新错误。
  2. 易于执行:针对随机数据安排随机测试是测试系统的一种简单方法
  3. 技能较低的人:Monkey测试可以在没有熟练测试人员的情况下执行
  4. 成本更低:设置和执行测试用例所需的支出要少得多

Monkey测试的缺点:

  1. 不能重现错误:因为测试人员使用随机数据随机执行测试,所以不可能重现任何错误或错误。
  2. 准确性较低:测试人员无法定义准确的测试场景,甚至无法保证测试用例的准确性
  3. 需要非常好的技术专长:不值得总是在准确性上妥协,因此要使测试用例更准确,测试人员必须对该领域有很好的技术知识。
  4. 更少的错误和耗时:此测试可能会持续更长时间,因为没有预定义的测试,并且可以找到较少数量的可能导致系统漏洞的错误

人们可以认为Monkey测试、大猩猩测试和Ad-hoc测试是相同的,因为都存在一些相似的事实,但真正的事实是它们彼此不同?

先来看看Monkey和大猩猩测试的区别。首先要明确这一点。

Monkey测试VS大猩猩测试:

Monkey测试 大猩猩测试
Money测试是随机执行的,没有特别预定义的测试用例 既不是预定义的,也不是随机的
Monkey测试整个系统可以有几个测试用例 在具有很少测试用例的少数几个选择模块上执行的
Monkey测试的目标是检查系统崩溃 目的是检查模块是否正常工作

弄清楚了这个区别,接下来就看一看;

Monkey测试与临时测试:

Monkey测试 临时测试
Money测试是随机执行的,没有特别预定义的测试用例 临时测试在没有计划和文档的情况下执行
在Monkey测试中,测试人员可能不知道系统的全部内容及其用途 测试人员在执行测试之前必须充分了解系统
Monkey测试的目标是检查系统崩溃 目标是将系统随机划分为子部分,并检查它们的功能

Monkey测试的类型:

Monkey测试根据其实现方式进一步分为几类,快速了解见下图;

  1. 哑巴Monkey:测试人员不了解系统及其功能,也不能保证测试用例的有效性。
  2. 智能Monkey:测试人员对系统、其目的和功能有精确的概念。测试员在系统中导航并提供有效输入以执行测试。
  3. 拟人Monkey:测试人员根据用户的行为执行测试,并可以指定发生错误的概率。

Monkey测试甚至也可以在Android上执行。如果我们使用工具进行Monkey测试,一般会遵循什么流程?就快看一眼吧;

  1. 与任何其他测试工具一样,第一步是将软件注册到专用服务器
  2. 确保准备好了构建测试套件所需的所有参考资料
  3. 运行构建的测试套件
  4. ‘Monkey测试’是将创建以记录测试结果的测试日志文件
  5. 记住,测试将一直进行,直到系统到达崩溃点,在该点,操作将记录到日志文件中
  6. 最后,将测试报告与相关人员共享,并将测试数据进行存储,以备将来参考

即使使用工具,Monkey测试的过程也可以自动化,但由于它是引入的某种新类型的测试,并且尚未在行业级别上建立,因此与其他工具不同,这些工具的认同度较低。这是Monkey测试的入门教程,介绍了它的基本概念。

总结:

  • Monkey测试是一种比较新的测试方式。
  • 它与大猩猩测试和Ad-hoc测试有很大的不同。
  • Monkey测试在某些测试领域可能是有益的。
  • 在软件工程中,Monkey测试主要有三种类型:哑猴、聪明猴和聪明猴
  • 可以使用工具来使Monkey测试自动化、有效和高效。

IT赶路人

专注IT知识分享