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
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.