Definitions:
Performance Test
– Often the “catch all” for all performance related types of testing.
Often used in different ways by different people. Performance tests are
normally interested in both “how much?” and “how fast?”
Load Test
– Most commonly collects various performance related measurements based
on tests that model varying loads and activities that the application
is expected to encounter when delivered to real users. Often focuses on
“how much” can the application handle.
Stress Test - Most
commonly collects various performance related measurements based on
tests that model varying loads and activities that are more “stressful”
than the application is expected to encounter when delivered to real
users. Sub categories may include: - Spike testing (short burst of extreme load) - Extreme load testing (load test with “too many” users) - Hammer testing (hit it with everything you’ve got, often with no delays)
Volume Test
– Any test focused on “how much” instead of “how fast”. Often related
to database testing. The distinction between "volume" and "load" is
that volume focuses on high volume and does not need to represent
"real" usage.
Whats the difference between Virtual Users and Real/Physical/GUI Users?
Load
Testing tools work at protocol level to generate the traffic/requests
which would normally be generated by users driving the User Interface
of your application.
These requests form the basis of a Load
test script and in essence this is what is replayed by the ‘Virtual
Users’ against the application/system under test.
Real/Physical/GUI
Users are as the term suggest ‘real’ users using the GUI of your
application to generate the requests against the application/system
under test. However, in the scope of Load Testing these users are often
simulated by using a functional/GUI testing tool to drive a ‘real GUI’
in order to capture the performance overhead/cost of the GUI as versus
the protocol level requests generated by the Virtual Users.
In
other words ‘real’ users interact with the application through input
devices (mouse/keyboard). Virtual Users ‘intercept’ communications
between the client computer and the application so the client aspect of
the application is not actually invoked
How can performance of Application/System Under test be monitored?
All
of the commercial tools offer monitoring capabilities to monitor
metrics such as Network Resources, System Resources, Application
Resources, Database Resources etc. Configuration and available metrics
may differ from tool to tool, but should be covered in the
documentation set provided with your software.
Other methods of
monitoring resources during a Load Test are Windows Performance Monitor
‘Perfmon’, Sun/Solaris Performance Meter ‘Perfmeter’ and other 3rd
party commercial monitoring applications.
|