Monkey Testing
Gorilla Testing
A test technique that
involves testing a particular module/component or functionality extensively
with various ranges of valid and invalid inputs.
A test technique commonly
used in Unit testing and system testing phase in which the tester acts as a
money (not in the literal sense) by giving random input across each and every
unit/component or module to check the stability and workability of the system.
It is an error-based test technique that involves extensive testing of system’s
functionality with random valid or invalid inputs.
Monkey test is a unit test
that runs with no specific test in mind. The monkey in this case is the
producer of any input. For example, a monkey test can enter random strings into
text boxes to ensure handling of all possible user input or provide garbage files
to check for loading routines that have blind faith in their data.
Monkey testing is random
testing performed by automated testing tools (after the automated testing tools
are developed by humans). The automated testing tools are considered
"monkeys", if they work at random. We call them "monkeys"
because it is widely believed that, if we allow six monkeys to pound on six typewriters
at random for a million years, they will recreate all the works of Isaac
Asimov.
There are "smart monkeys" and "dumb
monkeys". "Smart monkeys" are valuable for load and stress
testing; they will find a significant number of bugs, but are also very
expensive to develop. "Dumb monkeys", on the other hand, are
inexpensive to develop, are able to do some basic testing, but they will find
few bugs. However, the bugs that "dumb monkeys" find will be hangs
and crashes,i.e. the bugs you least want to have in your software product.
“Monkey testing" can be valuable, but it should not be your only testing.
Sometimes
random testing can also be called monkey testing.
In
monkey testing data is generated by chance often using a tool. Randomly-generated
data is sent to the system. This data is generated either using a tool or some
automated mechanism.
With
this randomly generated input the system is tested and results are watched
correspondingly.
The disadvantages of Monkey testing:
- You need more
time to analyze the results
- Many of the
tests are not realistic
- You cannot
recreate the test if you do not record what data was used for software
testing
- Many of the tests
are excessive
So
we can say with confidence that such type of software
testing is indeed useless and is generally conducted by beginners. The
best use of monkey testing is to see whether the system will hold up under
adverse effects.
In software testing world we (Testers) when talk about monkey testing referring
to a fully automated testing tool. In fact this type of testing fall in the
category of automated testing and black-box testing, the word monkey is used to
refer a fully automated testing tool.
There are different types of monkey testing
i. Dumb Monkey Testing
ii. Semi Smart Monkey Testing
iii. Brilliant or Smart Monkey Testing
Dumb Monkey Testing
In Dumb Monkey Testing, dumb monkey do not know anything about the application, here the inputs are generated from a uniform probability distribution or Infinite Monkey Theorem. You can run these tests the whole day or even for more time. A dumb monkey, with its continuous repetition, can expose bugs such as memory leaks that might not occur until many hours or days of normal use.
For Example, using Quick Test Professional (QTP)you want to check for memory leak, what you need to do is just run a loop with thousands of values and leave it for hours (well its very fast, it adds the records in seconds), it will enter same records according to the loop (if duplication check is not applied).
Semi Smart Monkey Testing
We can make our dumb monkeys as semi smart by adding some functionality to them.
For Example, if I am talking about QTP we can write some script for a specific project according to its needs, lets say if you want to add many employees using automated tools you can make a table, enter all the different values to the table and import that table in the script of QTP it will work and add different values one by one and generate a report about all the values in the table and tells that with this value test passed and with this value test fails specifically.
Brilliant Monkey Testing
It works and uses software like a user can even more quickly. You can program it as you want like where to start and then where to click then where to go, enter data and submit the form so on and where to stop, so its very SMART :), Great. You just need to program it. Most of the commercially available load and stress testing tools depend on this smart monkey technology.
There are different types of monkey testing
i. Dumb Monkey Testing
ii. Semi Smart Monkey Testing
iii. Brilliant or Smart Monkey Testing
Dumb Monkey Testing
In Dumb Monkey Testing, dumb monkey do not know anything about the application, here the inputs are generated from a uniform probability distribution or Infinite Monkey Theorem. You can run these tests the whole day or even for more time. A dumb monkey, with its continuous repetition, can expose bugs such as memory leaks that might not occur until many hours or days of normal use.
For Example, using Quick Test Professional (QTP)you want to check for memory leak, what you need to do is just run a loop with thousands of values and leave it for hours (well its very fast, it adds the records in seconds), it will enter same records according to the loop (if duplication check is not applied).
Semi Smart Monkey Testing
We can make our dumb monkeys as semi smart by adding some functionality to them.
For Example, if I am talking about QTP we can write some script for a specific project according to its needs, lets say if you want to add many employees using automated tools you can make a table, enter all the different values to the table and import that table in the script of QTP it will work and add different values one by one and generate a report about all the values in the table and tells that with this value test passed and with this value test fails specifically.
Brilliant Monkey Testing
It works and uses software like a user can even more quickly. You can program it as you want like where to start and then where to click then where to go, enter data and submit the form so on and where to stop, so its very SMART :), Great. You just need to program it. Most of the commercially available load and stress testing tools depend on this smart monkey technology.
There is no particular test strategy for these test
techniques as they can be adapted as final stages in testing phase. Although
many organizations name them as reliability or fault tolerance testing the idea
and intent is the same as gorilla or monkey testing.
Gorilla Testing is a quick attempt
to determine the level of risk of a subsystem. Gorilla Testing is that in which
tester and sometimes developer test one particular module heavily, means they
test functionality of one particular module heavily.
Gorilla Testing is that which is always used to describe
repetitive and boring (frustrating) Manual Testing process which a tester has
already done a hundred times before. Due to this repetitive manual testing
process Gorilla Testing is also known by the name Frustrating Testing.
Actually Gorilla Testing is used in Software Testing to
check functionality of one particular module heavily. As you know Software
Testing is a very wide concept so concept of Gorilla Testing is also wide in
nature.
No comments:
Post a Comment