什么是猴子测试和猩猩测试?示例、区别
猴子测试
猴子测试是一种软件测试技术,测试人员向软件应用程序输入任何随机输入,而没有预定义的测试用例,并检查软件应用程序的行为,无论是崩溃还是不崩溃。猴子测试的目的是使用实验技术发现软件应用程序中的错误和缺陷。
- 在猴子测试中,测试人员(有时也是开发人员)被认为是“猴子”
- 如果一只猴子使用电脑,它会根据自己的理解随机执行系统上的任何任务
- 就像测试人员将在被测系统上应用随机测试用例来查找错误/缺陷,而无需预定义任何测试用例
- 在某些情况下,猴子测试也专门用于单元测试或GUI 测试
什么是猩猩测试?
猩猩测试是一种软件测试技术,其中程序的模块被反复测试以确保它正常工作并且该模块没有错误。
一个模块可以被测试一百多次,并且以相同的方式。因此,猩猩测试也称为“令人沮丧的测试”。
猴子测试的优点
- 新型错误:测试人员可以充分接触根据自己的理解实现测试,而无需考虑先前说明的场景,这可能会发现系统中存在许多新错误/缺陷。
- 易于执行:针对随机数据安排随机测试是测试系统的简单方法
- 技能较低的人员:猴子测试可以在没有熟练测试人员的情况下执行(但并非总是如此)
- 成本较低:设置和执行测试用例的费用大大减少
猴子测试的缺点
- 无法重现错误:由于测试人员使用随机数据随机执行测试,因此可能无法重现任何错误或缺陷。
- 准确性较低:测试人员无法定义确切的测试场景,甚至无法保证测试用例的准确性
- 需要非常好的技术专长:牺牲准确性并非总是值得的,因此为了使测试用例更准确,测试人员必须对该领域有良好的技术知识
- 错误较少且耗时:由于没有预定义的测试,此测试可能会持续更长时间,并且可能会发现较少数量的错误,这可能会导致系统中出现漏洞
有人可能会认为猴子测试、猩猩测试和随意测试是相同的,因为它们都存在一些相似的事实,但真正的事实是它们彼此不同……为什么?
我们首先来看看猴子测试和猩猩测试的区别。首先要弄清楚这一点,以避免混淆。
猴子测试 vs 猩猩测试
猴子测试 | 猩猩测试 |
---|---|
猴子测试是随机执行的,没有特别预定义的测试用例 | 它既不是预定义的也不是随机的 |
猴子测试在整个系统上执行,可以有多个测试用例 | 猩猩测试专门针对少数几个选定的模块执行,测试用例较少 |
猴子测试的目的是检查系统是否崩溃 | 猩猩测试的目的是检查模块是否正常工作 |
一旦弄清了这种区别,再看看下一个;
猴子测试 vs 随意测试
猴子测试 | 随意测试 |
---|---|
猴子测试是随机执行的,没有特别预定义的测试用例 | 随意测试在没有计划和文档(测试用例和 SRS)的情况下执行 |
在猴子测试中,测试人员可能不知道系统是什么以及它的目的 | 在随意测试中,测试人员在执行测试之前必须充分了解系统 |
猴子测试的目的是检查系统是否崩溃 | 随意测试的目的是将系统随机划分为子部分并检查其功能 |
猴子测试的类型
猴子测试根据其实现方式进一步分为几类,请参阅以下图表以快速了解;
- 笨猴子:测试人员对系统及其功能一无所知,也无法保证测试用例的有效性。
- 聪明猴子:测试人员对系统及其目的和功能有准确的了解。测试人员通过系统并提供有效输入以执行测试。
- 天才猴子:测试人员根据用户的行为执行测试,并可以指定一些可能发生的错误的概率。
猴子测试甚至可以用于Android。使用工具可以提高猴子测试的效率。甚至可以像其他测试类型一样用于发现更多错误。如果我们使用工具进行猴子测试,通常会遵循哪些过程?快速浏览一下;
- 像任何其他测试工具一样,第一步是将您的软件注册到专用服务器
- 确保您已充分准备好构建测试套件所需的所有必要参考资料
- 运行已构建的测试套件
- 将创建“Monkey Test”测试日志文件以记录测试结果
- 请记住,测试将一直进行,直到系统达到崩溃点,此时操作将记录到日志文件中
- 最后,测试报告将与相关人员共享,测试数据可以存储并用于未来参考
猴子测试的过程甚至可以通过使用工具实现自动化,但由于它是一种新引入的测试类型,尚未在行业层面建立,因此这些工具的知名度不如其他工具。这种情况可能会随着未来测试过程的到来而改变,届时我们将研究猴子测试的未来影响及其对行业标准的重大影响。这是一个关于猴子测试的介绍性教程,旨在涵盖其基本概念。
摘要
- 猴子测试是相对较新的测试类型。
- 它与猩猩测试和随意测试显着不同。
- 猴子测试在某些测试领域可能是有益的。
- 在软件工程中,猴子测试有3种主要类型:笨猴子、聪明猴子和天才猴子
- 可以使用工具使猴子测试自动化、有效和高效。