Load testing
Load testing is a much used industry term for the
effort of performance testing. Here load means the number of users or the
traffic for the system. Load testing is defined as the testing to determine
whether the system is capable of handling anticipated number of users or not.
In Load Testing, the virtual users are simulated
to exhibit the real user behavior as much as possible. Even the user think time
such as how users will take time to think before inputting data will also be
emulated. It is carried out to justify whether the system is performing well
for the specified limit of load.
For example, Let us say an online-shopping
application is anticipating 1000 concurrent user hits at peak period. In
addition, the peak period is expected to stay for 12 hrs. Then the system is
load tested with 1000 virtual users for 12 hrs. These kinds of tests are
carried out in levels: first 1 user, 50 users, and 100 users, 250 users, 500
users and so on till the anticipated limit are reached. The testing effort is
closed exactly for 1000 concurrent users.
The objective of load testing is to check whether
the system can perform well for specified load. The system may be capable of
accommodating more than 1000 concurrent users. But, validating that is not under
the scope of load testing. No attempt is made to determine how many more
concurrent users the system is capable of servicing. Table 1 illustrates the
example specified.
Stress testing
Stress testing is another industry term of
performance testing. Though load testing & Stress testing are used
synonymously for performance–related efforts, their goal is different.
Unlike load testing where testing is conducted for
specified number of users, stress testing is conducted for the number of
concurrent users beyond the specified limit. The objective is to identify the
maximum number of users the system can handle before breaking down or degrading
drastically. Since the aim is to put more stress on system, think time of the
user is ignored and the system is exposed to excess load. The goals of load and
stress testing are listed in Table 2. Refer to table 3 for the inference drawn
through the Performance Testing Efforts.
Let us take the same example of online shopping
application to illustrate the objective of stress testing. It determines the
maximum number of concurrent users an online system can service which can be
beyond 1000 users (specified limit). However, there is a possibility that the
maximum load that can be handled by the system may found to be same as the
anticipated limit. The Table<##>illustrates the example specified.
Stress testing also determines the behavior of the
system as user base increases. It checks whether the system is going to degrade
gracefully or crash at a shot when the load goes beyond the specified limit.
Table 1:
Load and stress testing of illustrative example
Types of
Testing
|
Number of
Concurrent users
|
Duration
|
Load
Testing
|
1
User à 50 Users à100 Users à250 Users à500 Users…………. à1000Users
|
12
Hours
|
Stress
Testing
|
1
User à 50 Users à100 Users à250 Users à500 Users…………. à1000Users àBeyond 1000 Users……….. àMaximum Users
|
12
Hours
|
Table 2: Goals of load and stress testing
Types of
testing
|
Goals
|
Load testing
|
- Testing
for anticipated user base
- Validates
whether system is capable of handling load under specified limit
|
Stress testing
|
- Testing
beyond the anticipated user base
- Identifies
the maximum load a system can
handle
- Checks
whether the system degrades gracefully or crashes at a shot
|
Table 3:
Inference drawn by load and stress testing
Type of
Testing
|
Inference
|
Load Testing
|
Whether system Available?
If yes, is the available system is
stable?
|
Stress Testing
|
Whether system is Available?
If yes, is the available system is
stable?
If Yes, is it moving towards
Unstable state?
When the system is going to break
down or degrade drastically?
|
http://www.ittestpapers.com/articles/1199/1/Load-testing-and-Stress-Testing/Need%20More%20Please%20visit%20:%20http://www.software-qualitycontrol.blogspot.com/ -