|
07 January 2010
Posted in
Load Testing
The first objective of a successful load test is not to lose focus of the most important metric of the test; The End user’s experience with the application.
Remember that an application server, a network, database, etc. might perform well under heavy load, but your tests are not conclusive if they don’t replicate real world transactions executed the same way the end users will.
2- Set test objectivesDefine the test objective for response time and stability. Identify what is acceptable and what is not.
3- Identify test scenariosScenarios are sets of actions the end user performs when interacting with the application.
The test should include the scenarios for which you have set performance goals or have significant performance impact. These scenarios should replicate business activities performed by the end user.
Example:
End user Searching for an airline flight, Reserving a seat, then Buying the ticket.
4- Set the load distributionIn the real world, not all the users who searched for a flight will select one and purchase it. So the load distribution will be something like :
At any given time, you may have 70% of end users searching for a flight, 20% reserving a seat, and 10% making a purchase.
From this we can derive the number of virtual users executing each scenario. For 1000 virtual users:
700 will be searching flights of different origins and destinations
200 will perform the reservation process
100 will purchase a ticket
5- Create test casesThe test cases are the steps to be performed with the application and the expected result for each step. ? They are based on the scenarios and user profiles. Each test case/step will be marked as PASSED or FAILED after the test run. 6- Choose a load toolThe right choice is the tool that will help through each of the identified steps so far. Depending on the budget and intended use of the tool you might want purchase, lease or use a SaaS type tool.
Make sure to try before you buy.
7- Prepare the load environmentIdentify the hardware and install the load test software. Ensure you have the right number of servers and sufficient bandwidth to generate the load.
8-Start with small number of users then increase incrementallyThis allows adjusting the wait time to synchronize the execution of the scenarios and will help you find the break points easily.
9- Run the testPerform multiple runs with different numbers of users to analyze the way the application behaves under different loads.
10- Analyze the results.Make sure the objectives have been achieved.
Compare the results of each run and determine how the application is behaving under different loads.

