Performance Testing

Whenever we hear the word ‘performance testing’ the very first thing which comes to the mind is bombarding the server with more than 100 or sometime 1000 request at a time.
But as per my understanding (which is based on after going through lots of research paper and training), performance testing is nothing but real-time simulation of scenarios on a server.
Let’s take an example of doing performance testing of a Mailbox Server. So ideally a naive person who only knows about general testing or rather has done only functional testing will think of bombarding the server by creating some 1000 mail request and watching the time for each request to be successful. But this conception is totally wrong.
Before starting any performance testing we need to know the typical usage scenario or the functionality of the Application under Test (AUT) to stretch it. This is known as creating performance scenario.
So to test a mailbox server, we should have some scenarios. Let’s think of some scenario in a practical world. Let’s say it’s a working day in office and it is Monday. So ideally a company with 401 employees with hierarchy as mentioned below:
Sr. Dev Engineerà Dev Engineer (150) àAssociate Engineer (100) General Manager (5)àProject Manager (20)àDev Lead (50)à(75) Director(1)à
Let’s assume that
• 75 % (comes to 75) of the Associate Engineer report at 10’o clock
• 50 % (comes to 75) of Dev Engineer report at 10 o clock
• 30 % (comes to 22) Sr. Dev Engineer reports at 10 o clock
• 50 % (comes to 25) Dev Lead report at 10 o clock
• 75% (comes to 15) Project Manager report at 10 o clock
come report at 10 o clock (comes to 6)J• Assuming all the big wigs
So ideally on Monday morning, we have 162 persons out of 401 persons logging into their system at 10 o clock. So instead of bombarding the server with 401 mail request we arrived at a number 162 which is more close to the realistic use. Now assuming that almost all 40% person people in the company excluding PM and Dev Lead will send a “Good Morning” mail to almost 4-5 person (This number is just an assumption and could be changed). So the number comes to (40% of 162) * 5 =324.
So we have arrived at a number for one scenario. Similarly we can derive for other scenarios. Below shown is one of the profile charts which could be used for creating scenarios.
Week Day 10 -11 AM 11-12 PM 12 -01 PM 01 - 02 PM 02 - 03 PM 03 -04 PM 04 -05 PM
Monday 324
Tuesday
Wednesday
Thursday
Friday

So this is how we create a profile/scenario for performance testing. Once we are done with creating the scenario and arriving at the number, we can record a scenario and can play it for the above mentioned virtual users.

Comments

  1. AnonymousJune 30, 2008

    Hi Nishant,

    I am Rajesh from SiliconIndia. I am also an avid blogger for a while now and participating actively in Indian blogosphere. I read your blog posting and found them very interesting and informative. We would love to see a copy of your blogs posted here, whenever you are posting it on blogger.com. Here are some of the benefits of posting your blogs here:

    We have a strong community of 500,000 Indian professionals
    Best blogs of 2008 to be published in a book "SiliconIndia bLoG PrinT"
    Best blog to be printed in SliconIndia & SmartTechie magazines each month
    Chance to be featured on homepage everyday


    We appreciate your community initiative here and in helping build a more powerful India! Also, if you have any ideas or want to volunteer to help for SiliconIndia, we would be more than excited to get your help.

    Rajesh
    blogeditor

    rajesh@siliconindia.com
    98867 34775

    ReplyDelete
  2. nice blog regarding performance testing
    very informative
    thanks
    rann
    http://www.glssystems.net

    ReplyDelete

Post a Comment

Your comments will be reviewed and then published !

Popular posts from this blog

The 3 qualities that will always help you become better at almost anything…

Embracing the Journey: Finding Joy in the Process

How to install Android Emulator on Windows