随机测试 Monkey Test

article/2025/10/4 19:10:02

今天说一说随机测试,Monkey Test。翻译成中文就是猴子测试。 你可以想象一只猴子趴在电脑面前,拿着鼠标随便乱点的样子。

一,什么是随机测试?

软件测试中的Monkey测试是测试人员对应用程序随机输入以验证其功能的一种方法。这是一种功能性黑盒测试方法,在没有足够的时间编写和执行测试时使用。

Monkey测试也被称为随机测试,可以用于移动、web和桌面应用程序。它通常被实现为随机和自动化的单元测试,这使得它很有优势,因为它可以快速评估软件的可靠性。

二, 随机测试的特点

Monkey测试在不考虑规格的情况下自动执行。测试的主要目标是识别程序中的bug和错误,以确保产品可以向公众发布。

以下是Monkey测试的一些特点:

Monkey测试通过在软件应用程序中提供意外操作或随机输入来验证行为并识别任何错误。

测试人员、开发人员或涉众可以执行Monkey测试,即使他们不了解程序的领域和逻辑,也可以执行猴子测试。

Monkey测试是随机进行的,验证有效和无效的场景。

Monkey测试不遵循任何测试用例,并且没有遵循这种技术的预定义条件。

Monkey测试与模糊测试有相似之处,主要区别在于重复和随机的动作。

三,Monkey测试的类型

虽然猴子打字测试是随机进行的,但仍然有不同的方法来执行这类测试。

以下是一些最常用的技巧:

1. 智能Monkey测试

在“智能Monkey”测试中,测试经理或负责人指派熟悉他们将要测试的程序的测试人员。由于他们已经熟悉产品,他们可以输入随机数据来测试它,知道它是无效的,同时执行随机操作。

智能Monkey测试是有益的,因为它可以确保程序在有效条件下按预期工作,也可以相应地处理无效数据。

2.笨Monkey测试

Dumb monkey测试是指测试负责人或经理指派一个不了解应用程序或模块的测试人员。测试人员必须根据他们的直觉测试程序,并输入他们认为正确的随机数据。

3. 聪明Monkey测试

Brilliant monkey测试是部署测试人员来测试程序,特别是因为他们具有应用程序的领域知识。

测试人员可以期望以特定的方式执行步骤的顺序,并且他们可能对所使用的数据有深入的理解。然而,在该领域中,具有领域专业知识的最终用户可能会使用其他数据以不同的方式执行任务。

由知识丰富的人执行测试是有益的,因为他们可以从自己的领域角度输入随机数据。

四,什么是大猩猩测试?

大猩猩测试是另一种软件测试方法,在这种方法中,应用程序的一个模块被反复测试,以确保它正确工作,并且在模块中没有发现任何错误。

大猩猩测试也被称为容错测试或折磨测试,开发人员和测试人员一起按照手动的、重复的方法测试模块的功能。

猴子与大猩猩测试对比

尽管猴子测试和大猩猩测试在对被测试程序应用随机输入时采用了类似的方法,但它们在验证应用程序方面有明显的不同,这使得两者都是唯一的。

猴子测试

大猩猩测试

它是基于随机输入执行的,不使用任何测试用例

大猩猩测试基于某个模块重复执行随机输入

它旨在验证整个应用程序的性能,

大猩猩测试对单个模块进行了彻底的检查和分析

项目干系人执行相关操作

一个知识丰富的测试人员或开发人员是执行相关测试。

在系统测试中使用Monkey测试

在单元测试中使用gorilla测试

猴子测试的目标是使整个系统崩溃

大猩猩测试的目标是一次使一个特定的模块崩溃

五,Monkey测试vs.特别测试

您可能也听说过特别测试,它与猴子测试有相似之处。虽然看起来是这样,但这两种测试在以下具体方面彼此不同:

Monkey测试

ad - hoc测试

猴子测试中的bug是在应用随机输入后发现的

bug是在分析程序的未开发区域后发现的

测试人员不熟悉应用程序

测试人员了解应用程序并理解其功能

执行猴子测试的测试人员不必是专家,也不需要对应用程序有深入的了解。

进行特别测试的测试人员需要对应用程序的工作流程和领域有丰富的经验

六,Monkey测试的优点

以下是你可以通过Monkey测试获得的优势:

  • 测试新类型的bug:在执行Monkey测试时,测试人员可以完全暴露系统中的bug或错误。

  • 易于执行:随机安排并使用随机数据的测试易于执行。

  • 不需要大量的技能来执行:它可以在没有经验丰富的测试人员的情况下完成。

  • 成本效益:与其他类型的软件测试相比,猴子测试需要更少的资源来完成。

七,Monkey测试的缺点

尽管Monkey测试有很多好处,但它也有自己的缺点。

  • 错误无法重现:由于测试是随机执行的,因此很难重现错误和错误。

  • 不准确:测试人员不能保证测试用例的准确性。

  • 需要特定的技术知识:测试人员需要对领域有一定的了解。

  • 耗时:猴子测试比其他类型的软件测试需要更长的时间才能完成。

八,Monkey测试工具

有许多工具可以帮助测试人员更容易地进行猴子测试。以下是两种最流行的Monkey测试工具:

1. Monkey Runner Tool

Monkey Runner工具是一个用于测试Android应用程序的程序,这些应用程序可以在计算机上安装、执行和记录屏幕截图。该工具还可以用于随机测试和运行测试套件。

2. UI/Application Exerciser Monkey

UI/Application Exerciser Monkey工具与Monkey Runner不同,因为它运行在模拟器或设备中的ADB shell中。该工具还可以用于在随机流中生成用户和系统事件。

结论

Monkey测试是软件测试中的一种方法,它可以帮助测试人员识别应用程序中的新错误或错误,同时比其他类型的测试更容易执行,成本效益更高。它与大猩猩测试和特别测试不同,因为猴子测试主要基于随机输入。

尽管这种测试可能看起来很混乱,但建议领导提前计划,并将其分配给合格的测试人员,以确保最大的成功概率。

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

在这里插入图片描述

 这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

软件测试技术交流群社:786229024(里面还有工作内推机会,毕竟我们是关系社会。)

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

面试文档获取方式:


http://chatgpt.dhexx.cn/article/xWnBsUvv.shtml

相关文章

墨者学院-Bash漏洞分析溯源

Bash漏洞分析溯源 难易程度:★★ 题目类型:命令执行 使用工具:FireFox浏览器、wwwscan 1.打开靶场,根据题目思路找poc.cgi。 2.使用wwwscan扫一下 发现有目录/cgi-bin 3.打开burpsuite,访问/cgi-bin/poc.cgi,截包。 send to repeater&…

vulhub漏洞复现之bash(Shellshock CVE-2014-6271)

Shellshock 破壳漏洞 CVE-2014-6271 1.漏洞概述: GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行shell命…

linux网站漏洞修复,CentOS Bash漏洞终极修复方法

目前已确认被成功利用的软件及系统:所有安装GNU bash 版本小于或者等于4.3的Linux操作系统。 【Bash漏洞描述】该漏洞源于你调用的bash shell之前创建的特殊的环境变量,这些变量可以包含代码,同时会被bash执行。 【漏洞检测方法】 在服务器命…

Bash漏洞分析溯源 cgi文件 (CVE-2014-6271) --墨者学院

01 背景介绍 Bash脚本在解析某些特殊字符串时出现逻辑错误导致可以执行后面的命令,在一些cgi脚本中,数据是通过环境变量来传递的,这样就会形成该漏洞; bash通过以函数名作为环境变量名,以“(){…

suse linux bash漏洞,bash漏洞: CVE-2014-6271漏洞及紧急修复方法

最近linux的bash漏洞闹得沸沸扬扬,问题还是挺严重的,我这里提醒大家一下早日修复吧! 如何验证 $ env x() { :;}; echo vulnerable bash -c echo hello 在终端中运行上面的命令,如果返回有vulnerable,就说明这台服务器中…

suse linux bash漏洞,Suse11 sp3 下Bash漏洞升级修复

SuSE Linux Enterprise Server 11Bash 漏洞修复方案 系统:Suse-11-sp3-64 Bash:bash-4.4 1.1. Bash升级 1.1.1升级概述 大部分现行Linux操作系统自带的版本比较陈旧,因此需要升级bash版本。 发现现在版本存在漏洞 1.1.2 安装介质 bash-4.4.tar.gz(官网最…

墨者Bash漏洞分析溯源题解

这个漏洞是看别人的思路解出来的,因为在打开页面后,我扫描不出来其他东西,惭愧 后台存在一个地址,是http://219.153.49.228:49581/cgi-bin/poc.cgi 访问这个地址 对着地址进行抓包 将user-agent进行修改,修改为() { …

Bash漏洞利用!

环境: 服务器Centos:192.168.195.130 攻击机bt5:192.168.195.130 1、找到漏洞利用程序 必须web服务器支持cgi 这里是测试的bug.sh代码 #!/bin/bash 第一行要特别注意! echo "Content-type: text/html" echo "&q…

redhat linux bash 漏洞,GNU Bash 漏洞及修补方法

文章引自http://loosky.net/3036.html 漏洞描述 CVE-2014-6271 ***者可构造特殊的环境变量值,以在这些环境变量的值中包含特定的代码,当 Shell 对这些环境变量求值时,这些特定的代码将得以在系统中执行。某些服务和应用接受未经身份者提供的环…

linux 破壳漏洞,Bash破壳漏洞

“破壳”是一个严重漏洞的别名,在Red Hat、CentOS、Ubuntu、Fedora、Amazon Linux、OS X 10.10中均拥有存在CVE-2014-6271(即“破壳”漏洞)漏洞的Bash版本,同时由于Bash在各主流操作系统的广泛应用,此漏洞的影响范围包括但不限于大多数应用Bash的Unix、Linux、Mac OS X,而针…

linux系统漏洞补丁包,RedHat 5.X、6.X Bash漏洞RPM补丁包下载

RedHat 5.X、6.X Bash漏洞RPM补丁包下载及教程。 首先查看服务器的BASH版本号: bash -version 如果BASH版本是4.X的64位系统的话,安装bash-4.1.2-15.el6_5.2.x86_64文件夹里面的三个文件; 如果BASH版本是3.X的话,32位和64位分别安…

Linux Bash漏洞复现

Bash是什么? Bourne Again Shell(简称BASH)是在GNU/Linux上最流行的SHELL实现,于1980年诞生,经过了几十年的进化从一个简单的终端命令行解释器演变成了和GNU系统深度整合的多功能接口。根据维基百科的描述&#xff1a…

关于CentOS下Linux的bash 漏洞,查看和解决的方法

说明:我是今天才发现这个问题的,据说06年就就已经发现了,我才在才发现,后知后觉,如果不是遇到了,估计还没发现,我是个假的程序猿。。。 如果Shell版本较旧的话,建议升级到最新版本的…

墨者学院 - Bash漏洞分析溯源

bash漏洞技术层面分析 漏洞起源: 漏洞信息最早来源于国外知名漏洞网站exploit-db下的第34765篇漏洞报告,其中出现了一条验证命令: env x() { :;}; echo vulnerable bash -c "echo this is a test" 如果在一个含有版本号小于bash…

墨者 - Bash漏洞分析溯源

bash代码注入的安全漏洞分析 bash的环境变量 环境变量是操作系统运行shell中的变量,很多程序的运行需要获取系统的环境变量参数。具体赋值格式如下: $ var"hello world" 然后你就可以使用这个变量了,但是只是局部变量,即是当前进程…

墨者靶场 初级:Bash漏洞分析溯源

墨者靶场 初级:Bash漏洞分析溯源 题目背景介绍实训目标解题方向解题步骤 题目 背景介绍 安全工程师"墨者"对一单位业务系统进行授权测试,在测试过程中,发现存在bash命令执行漏洞。 实训目标 1、了解bash; 2、了解Bas…

Bash漏洞

1、漏洞的起因 这个漏洞的起因源自于Bash(Bourne Again SHell)的ENV指令 http://ss64.com/bash/env.html envDisplay, set, or remove environment variables, Run a command in a modified environment.Syntaxenv [OPTION]... [NAMEVALUE]... [COMMAND [ARGS]...]Options-u …

Linux系统bash漏洞

Linux系统bash漏洞 前言一、漏洞介绍二、实验过程总结 前言 bash,全称为Bourne-AgainShell,是控制Linux计算机命令提示符的软件。2014年被发现其存在严重的安全漏洞。bash在处理含有诸如”(){:;};”的环境变量赋值的代码上存在设计缺陷,错误…

Bash漏洞分析溯源

漏洞简介 Bash(GNU Bourne-Again Shell)是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取命令,这样的文件称为脚本。 1.bash漏洞利用的版本号为4.3或更早的版本。产生漏洞的…

命令执行漏洞

命令执行漏洞的定义: 命令执行漏洞,就是指用户通过浏览器或其他辅助程序提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令。 命令执行漏洞的原理: 命令执行漏洞之所以…