Lately I here many people talk about the need for Performance Testing.
It seems that Performance Testing gets a lot of popularity based on the “Need For Speed” of the customers, people today don’t like to wait…
In this post I will talk about the most common types of Performance Testing.
I will start with LESS Approach, Less is the initials of: Load, Endurance, Stress and Spike.
Load Testing
The test target is to check that the system can handle expected load of users doing different scenarios in the system.
Lets take for example two scenarios in a blog:
- User that knows the URL to a specific post so he gets to it immediately. (From RSS for example)
- User that gets to the blog’s home page and searches for posts in the blog’s Tag List.
Tags list in my blog:
Lest continue with the blog’s example and estimate a load of 200 concurrent users during a regular day at the pick hours that 75% are using the first scenario and 25% are doing the second scenario.
First we will need to record the scenarios with there think times and then we will run the performance test with the correct percentage of users using each of the scenarios.
The load we will use will be 20 users and then we will use steps up to 200 users.
Endurance Testing
The test target is to check the reliability of the system.
In this test we like to check that the system can handle an expected load of users doing different scenarios in the system for long periods of time.
If we will take the blog example I will use the 200 users that 75% are using the first scenario and 25% are doing the second scenario for a period of 48 hours, I will check that the system still gives me the same performance after this period of time.
Stress Testing
The test target is to find the upper limit that the system can handle.
What I like to know now is with how many users or requests the system will stop giving me reasonable performance.
One of the most common mistakes is to try to make the system fail, long before the system fails you will get unacceptable performance, for example what use can you do with a system that shows you a web page after 2 minutes?
Again with the blog example, I will use the same scenarios, this time with no think times in order to create a grater load on the system, I will start with 200 users which I already know that works and add steps of 20 users each time until I will get responses grater than 10 seconds.
Spike Testing
The test target is to check that the system can handle spikes of users and can gracefully handle a sudden load in the system.
One last time the blog example, I will use again the same scenarios, I will start with the load of 200 users and after a few minutes I will suddenly add 50 users for a short time and reduce it back to 200 users, I will repeat the procedure a few more times.
Summary
There are more types of Performance Tests but these four types can give you a good perspective over the system under test and can be a good start for decision making.
In order to succeed in your performance testing effort the use of LESS approach should be done after planning your performance testing effort, more on Planning Performance Testing in different post.
Have Fun!!!