Ad-hoc Testing, Monkey Testing & Exploratory Testing

What do you mean by Exploratory Testing?

There is no defined procedure or scenario through which exploratory testing is done .It gives power to the tester to perform testing in their own way. In this testing, the tester understands the application and then generates the test cases based on his understanding.

Key points that have to be remembered while doing exploratory testing are:
  • Preparation of test cases should be done in such a way that it should validate the software stability.
  • Exhaustively testing the test scenarios based on specific requirements.
  • The functionalities and the application of the software have to be ascertained by the tester.
  • Tester has to determine the limitation of the software
  • Tester has to determine the scope of the software.

Exploratory testing saves time as no advance preparation (preparation of test cases, test plan and test scenarios) has to be done for the testing. Other advantage is that the tester can report issues related with the missing requirement as he is kind of reviewing the requirement document.

What is meant by Monkey Testing?

This type of testing is performed at a random basis and does not require the tester to prepare the test cases or test plans. The input data which is used is also randomly generated and is used to test the software.
Monkey testing needs an expert tester who has domain expertise and is able to test valid scenarios. Monkey testing is done at random so test result cannot be replicated as the test scenarios are not documented.
There are some advantages of monkey testing. The system is checked randomly with help of monkey testing that can even check hidden bugs.

Types of monkey testing
  1. Monkey Button Push Testing : Here repetitive execution of the test cases is required. It is similar to the monkey pushing the red button repetitively to get the banana.
  2. Smart Monkey Testing : In this the input data is generated from statistics and not from probability distribution. So it is accurate.
  3. Brilliant Monkey testing : The inputs are created from a random regular expression or random finite-state machine model of user behavior
  4. Dumb Monkey Testing : Inputs are generated from the uniform probability distribution rather than from statistics.

What is meant by Ad hoc testing in Software testing?

Ad-hoc testing is carried out without any formal documentation or planning .It is just checked to uncover the defects with might have not been tested by the users. It is generally done after planned testing has been performed.
Tester should have in depth knowledge of the system. Then only the ad-hoc testing can be successfully performed.

Various ways this can make ad-hoc testing more effective.
  • Preparation : Proper preparation can make the ad-hoc testing more effective as requirement will be clearer to the tester
  • Knowledge of exact requirements : Tester should know the requirements thoroughly. Then only he can successfully test the system
  • Targeting critical functionalities : The probability of getting bugs is more in the critical functionalities. So tester can target those functionalities.
  • Documenting the findings : Documenting the finding of the ad-hoc testing can help in creating the test cases and correspondingly the defect can be raised.

Difference between ad hoc testing and exploratory testing

Ad-hoc testing
  1. Ad-hoc testing means learn the application and then test it.
  2. It is always recommended to test the application with detailed set of documents.
  3. Ad-hoc tester should have complete knowledge about the requirements of the system.
  4. Before going for ad-hoc testing, the tester should have done sufficient testing of the system.
  5. It is not considered as type of any of the test strategies or an approach of testing.
  6. Here the tester does not participate actively in the testing.
Exploratory testing
  1. In exploratory testing, the application is tested while learning it.
  2. In this, no documentation of application is required.
  3. In exploratory testing, testers can increase their knowledge by testing and exploring.
  4. It is an approach, not a technique.
  5. It is not required that tester should have complete knowledge about the requirements.
  6. Exploratory testing is the type of ad-hoc test strategies.
  7. In exploratory testing the tester should actively control the testing.

Read More
Pros and Cons of Manual Testing
Benefits of Unit Testing
Advantages of Beta Testing

Copyright ©