-
After a re-start, don’t hesitate to “warm up” the server with a few calls before generating a sudden, high load which, in addition to being unrealistic, may cause the server to crash. Sending a short, light load beforehand allows certain resources, such as connection pools or thread pools, to be pre-allocated.
-
Run the test for a significant length of time in order to iron out any outliers.
-
Make sure the Load Generators are not overloaded; CPU and memory usage are displayed in real time throughout the test.
Stop any Virtual Users containing errors
When a Virtual User receives an error, it should normally stop running. If this does not happen, it could continue playing requests that have no meaning. For example, if the user login fails, there is little point sending further browsing or search requests to the application as it will only distort the response time statistics for those pages.
Each Virtual User type may be configured to stop running in case of error or failed assertion.
Make Scenarios and Transaction Definitions Granular
Where possible, break scenarios into several smaller scenarios to focus the tests. Make sure transaction definitions are granular enough to be able to pinpoint performance issues to specific GUI actions.
Preserve Environment During Recording and Running Load Tests
Make sure that the environment when running a load test is in the same state as it was when the test was recorded. Changes to the operating environment might require tests to be rerecorded.
Validate test data before you start
If you have got an excel with user accounts, do verify them so that you make sure they are all OK. It can happen that some of the them can be disabled and will cause unnecessary errors on login page. It’s also worth having a script that would verify user accounts automatically. You can set it executed before each of runs.
Use different workloads to recognize system behavior
It’s beneficial to do several workloads that can reveal application thresholds, bottlenecks. This can be done using simple increasing models with varying paces and maximum amount of users.
Make sure that the system can handle less amount of users than a maximum one.
Sometime it can happen that customer wants to load the system with, for example, 1000 of virtual users. In this case it’s reasonable to do one test for 500 vUsers beforehand that shows the system can handle half of maximum amount.
Of course this is far from being a complete, full-fledged list of best practices from the world of performance testing.
Related content: http://feelsgood11.wordpress.com/2008/11/16/performance-testing-considerations-and-best-practices/
Sources:
http://www.neotys.com/documents/support/htmldoc2.0.x/ch10.html#bestpractices.objectives
http://download.oracle.com/docs/cd/B40099_02/books/TestGuide/TestGuide_AutoPerformTest7.html#wp1004326