Here is a question I here often:
"We want to load test our application, what do we need?"
My answer is "very simple":
"What are the goals for our load test?"
That is when I usually here the sentence:
"I want to see how my application operates under load..."
Well, this is not a very good answer, or at least not satisfying one.
"Why?"
When we load test the application we can check several aspects that require deferent preparations. Usually we would like to validate our application in terms of:
- Concurrency.
- Critical Resources Utilizations.
- Latency & Response Times.
- Throughput.
- Application related errors.
But really, the place to start is to understand the goals for you performance load testing.
Ask yourself: "What do I want to answer on?". For example, Can I support 100 concurrent users? Will one 1.6GHz CPU be sufficient for my application?
By asking yourself these QAs you will understand the goals for your load testing.
One more quick note:
Performance should be addressed at the requirements process and should be part of the SLA, that means that the QAs above should be asked before the actual need to load test.
If you require more info on how to start this process, check out this article from Microsoft:
Performance Modeling.