EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

Monkey Testing

By Asapu HarikaAsapu Harika

Home » Software Development » Software Development Tutorials » Software Testing Tutorial » Monkey Testing

Monkey Testing

Introduction to Monkey Testing

Monkey Testing is a type of testing where user tests the system or an application by providing random inputs and checking the behavior or tests if the application or system crashes. Usually this type of testing in implemented randomly as automated Unit test. This Monkey testing was first used in 1983 to test MacWrite and MacPaint on Mac OS. As the name ‘Monkey’ refers to notorious and this is uncertain stating a monkey hitting keys at random on a keyboard for an infinite amount of time will surely result in some input. This Monkey testing is included in Android Studio as part of Stress testing tools. Purpose of this Monkey testing is to find out bugs or errors.

Monkey Testing in Software is a technique used for testing by developers and testers or we can say anyone who has an idea over the application or not, test the application by providing random inputs and checking the behavior of the application or trying to crash the application. This technique is done automatically where user enters any invalid inputs to check applications’s behavior.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

This technique does not follow any rules or any predefined test cases and strategies.

  • In Monkey testing, tester is considered as a Monkey, also developers can be considered as they also perform testing
  • Monkey randomly performs a task or provides input to the system without his understanding knowledge of the application.
  • This is just like a normal tester who applies his/ her test cases without predefining any strategies to find bugs or errors.
  • Monkey Testing can be used as Unit Testing or GUI Testing.
  • Scenario of which testing is being done may or may not be right according to business requirements.
  • As this is random testing, testers will not be able to recreate the bugs
  • It is a kind of black box testing and is done to ensure that the specifications given by the client are addressed properly.
  • This type of testing is mostly done when tester has less time to create and execute test cases.
  • Also be called as Random Testing, Fuzzy Testing, technically names as Stochastic Testing.

Types of Monkey Testing

It can be further divided into 3 categories based in the way of its implementation.

  • Dumb Monkey
  • Smart Monkey
  • Brilliant Monkey

monkey test flowchart

1. Dumb Monkey

  • Monkey Tester who has no idea about the system or the functionality and no assurance on validity of test cases is refereed as Dumb Monkey.
  • They also do not know if their input data is valid or not.
  • They are also known to be ‘Ignorant Monkeys’
  • Define fewer errors compared to Smart Monkey Testing.
  • Can catch bugs or errors that are hard to identify but are critical too.

2. Smart Monkey

  • These type of Monkey testers have significant idea about the system or the functionalities.
  • These testers navigate through the system and provide valid inputs for testing.
  • They are aware of the products functionality.
  • One of the good example of load testing, gives quick results.
  • Tester is merely focused on breaking the application on finding an error.

3. Brilliant Monkey

  • These type of Monkey testers perform testing as per customer’s behavior.
  • Can specify probabilities of bugs to be occurred.
  • They carry testing based on customer’s perspective.
  • It is an advanced version of Smart Monkey Testing.
  • For example, Tester who has enough knowledge in Insurance domain will be asked to enter Insurance domain’s inputs.
  • Also helps in determining other bugs which may occur in future.

Advantages and Disadvantages of Monkey Testing

Given below are the advantages and disadvantages:

Advantages

Below are the advantages:

  • It is an effective way to find out out-of-the-box errors .
  • It is useful to perform load and stress testing.
  • The randomness of Monkey testing helps in finding major bugs which can break the system.
  • Easy and cost effective to setup and execute it as requires some random input data to run against some random test cases.
  • Easy to test the reliability of the software applications.
  • As test cases are adhoc, application might get into stress, hence tester can also check for server response.
  • Process of it can be automated using tools.
  • It can be performed for desktop applications, web applications and also mobile applications.
  • Smart Monkeys will be helpful in finding unique bugs.
  • Can be accesses by anyone, either a person who has complete knowledge on the application or a person who does not anything regarding the application.
  • In case of time crunch and if all the other test are completed, tester can opt for Monkey Testing which allows fixing of bugs quickly.

Disadvantages

Below are the disadvantages:

  • As Monkey testing is Random, testing often makes impossible to reproduce bugs.
  • Bugs found unexpectedly consumes time to analyze and can be challenging.
  • For Smart Monkeys, ability to find out bugs depends on state model and developing good one is expensive.
  • It can days to find out a bug as there are no predefined test cases while the number of bugs being less.
  • Tester cannot define exact test scenario and also cannot guarantee the accuracy.
  • Requires good technical experience to make it more accurate.

Though we have seen that Monkey Testing is chaotic, it is recommended to plan and assign some time for its execution. In initial phases of testing, tester may not find bugs, but it can help is discovering memory leak, hardware crash, fault lines which are difficult to find in normal testing. So, by this testing, testers can ensure the needs of the end user and decrease the probability of software breakdown. Here, we have learnt in key features, types and Advantages and Disadvantages of it.

Recommended Articles

This is a guide to Monkey Testing. Here we discuss the introduction to monkey testing along with the types, advantages and disadvantages. You may also have a look at the following articles to learn more –

Popular Course in this category
Sale
Software Testing Training (9 Courses, 2 Projects)9 Online Courses | 2 Hands-on Projects | 60+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.5 (7,897 ratings)
Course Price

View Course

Related Courses
Penetration Testing Training Program (2 Courses)TestNG Training (4 Courses, 2 Project)
  1. Adhoc Testing
  2. Risk Based Testing
  3. Manual Testing
  4. Locust Load Testing

All in One Software Development Bundle (600+ Courses, 50+ projects)

600+ Online Courses

50+ projects

3000+ Hours

Verifiable Certificates

Lifetime Access

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
Software Testing Tutorial
  • Types of Testing
    • Adhoc Testing
    • Types of System Testing
    • Manual Testing Types
    • Unit Testing Types
    • Unit Testing Benefits
    • Agile Testing
    • What is Agile Testing
    • Acceptance Testing
    • Stress Testing Types
    • Alpha and Beta Testing
    • Application Testing
    • Automation Testing
    • Automation Testing Advantages
    • Benchmark Testing
    • Black Box Testing
    • Domain Testing
    • Dynamic Testing
    • Ecommerce Testing
    • Fuzz Testing
    • Gray Box Testing
    • GUI Testing
    • Installation Testing
    • Interface Testing
    • Interoperability Testing
    • Mainframe Testing
    • Manual Testing
    • Mutation Testing
    • Monkey Testing
    • Negative Testing
    • Penetration Testing
    • Penetration testing phases
    • Penetration testing framework
    • Protocol Testing
    • Recovery Testing
    • Regression Testing
    • Mobile Penetration Testing
    • Accessibility Testing
    • Sanity Testing
    • Scalability Testing
    • Security Testing
    • Spike Testing
    • Stability Testing
    • State Transition Testing
    • Static Testing
    • Gatling Load Testing
    • System Integration Testing
    • Structural Testing
    • Locust Load Testing
    • System Testing
    • Control Flow Testing
    • Unit Testing
    • Cypress testing
    • Volume Testing
    • Web Testing Application
    • What is Exploratory Testing
    • What is Stress Testing
    • What is Usability Testing
    • White Box Testing
    • Types of White Box Testing
    • Compatibility Testing?
    • Use Case Testing
    • Beta Testing
    • Integration Testing
    • Non Functional Testing
    • Non Functional Testing Types
    • What is Functional Testing
    • Functional testing types
    • Cookie Testing
    • Alpha Testing
    • Boundary Value Testing
    • Equivalence Class Testing
    • Glass Box Testing
    • SOA Testing
    • Smoke Testing
    • Visual Testing
    • Visual Paradigm
    • Model-Based Testing
  • Basics
    • What is Software Testing
    • Careers in Software Testing
    • Defect Life Cycle in Software Testing
    • Levels of Software Testing
    • Software Testing Life Cycle
    • Software Tester Work
    • Software Testing Principles
    • Software Testing Services
    • Testing Methodologies
    • Test Approaches
    • Grey Box Testing
    • Types of Software Testing
    • What is a Bug in Software Testing
    • Benefits of Automation Testing
    • What is Automation Testing?
    • Types of Automation
    • Automation Testing Process
    • Mobile Automation Testing
    • Automation Testing Life Cycle
    • Software Quality Assurance
    • Software Quality Assurance
    • What is Test Environment?
    • Verification and Validation Testing
  • Testing techniques
    • Software Testing Methodologies
    • Black Box Testing Techniques
    • Static Testing Techniques
    • Test Case Design Techniques
    • What is Static Analysis
  • Testing tools
    • Manual Testing Tools
    • Visual Testing Tools
    • Automation Testing Tools
    • Functional Testing Tools
    • GUI Testing Tools
    • Penetration Testing Tools
    • Performance Testing Tools
    • SOA Testing Tools
    • Accessibility Testing Tools
    • What is QTP
    • Regression Testing Tools
    • Security Testing Tools
    • Test Management Tools
    • Defect Management Tools
    • Code Coverage Tools
    • Test Coverage Tools
    • Defect Tracking Tools
    • Continuous Integration Tools
    • Install Bugzilla
    • Test data generation tool
    • Unit Testing Tools
    • Web Testing Tools
    • Stress Testing Tools
    • Performance Monitoring Tools
    • Mobile Testing Tools
    • Responsive Testing Tool
    • Cross Browser Testing Tools
    • Risk Based Testing
    • Database Testing Tools
    • WinRunner
    • What is Squish?
    • CubicTest
    • What is WinRM?
    • Bugzilla Tool
    • Code review tools
    • Penetration Testing Open Source Tools
  • Advance
    • Cyclomatic Complexity
    • Decision Table Testing
    • Decision Tree Algorithm
    • What is Continuous Integration
    • Mantis Bug Tracker
    • Equivalence Partitioning
    • Gantt Chart Software
    • Acceptance Testing Types
    • Load testing tools
    • Install TestNG
    • Install Unity
    • Defect Management Process
    • Test Plan Template
    • Testing Interview Questions
    • Testing of Mobile application
    • What is Test Automation Frameworks
    • Test Automation Framework
    • Application of Automation
    • Test Automation Process
    • Automation Testing Roles and Responsibilities
    • What is Instruction Cycle?
    • What is Cucumber?
    • 15 Best Popular Bug Reporting Tools
    • What is Automated Testing?
    • Software Maintenance Types
    • Types of Penetration Testing
    • Software Reliability
    • Best Gantt Chart Software
    • Code Coverage
    • Branch Coverage
    • Decision Coverage
    • Statement Coverage
    • What is Test Case
    • Types of Test Case
    • What is Test Scenario
    • Formal Review
    • Alpha Beta Pruning
    • What is Cyclomatic Complexity?
    • Test Coverage
    • How to Write Test Case
    • Testing Documentation
    • Performance Testing Life Cycle
    • What is Xpath
    • Test Harness
    • Test Strategy
    • Software Incident Management
    • What is Debugging
    • What is Defect?
    • Listeners in TestNG
  • Inteview Questions
    • Automation Testing Interview Questions
    • Manual Testing Interview Questions
    • ISTQB Interview Questions
    • Cucumber Interview Questions
    • Software Testing Interview Questions
    • Penetration Testing Interview Questions

Related Courses

Software Testing Course

Penetration Training Course

TestNG Training Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Live Classes
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2022 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

Let’s Get Started

By signing up, you agree to our Terms of Use and Privacy Policy.

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA Login

Forgot Password?

By signing up, you agree to our Terms of Use and Privacy Policy.

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

By signing up, you agree to our Terms of Use and Privacy Policy.

Special Offer - Software Testing Course Learn More