I'm going to build a test plan for an application, and I'm at a bit of a loss as how to test the load.
We are building an application that will be called upon by five separate URLs - all of which may have multiple calls at the same time. How do you test the stability of the application to handle multiple calls from various URLs all at the same time?
I haven't quite wrapped my brain around it, but any ideas would be appreciated!
You might consider testing the application with no regard for the URLs calling them. Even though each URL will call different functions in the application, you can just test each function. With a test harness, just make multiple simultaneous calls to several functions in the application from multiple test clients. You can verify that the application can handle a load while processing each function.
You could do a simple workload characterization (either based on historical data or best guesses) for the amount of traffic from each given URL. Then you have that broken down into various scenarios that you can modify as need be.
If these various URLs are all using the same basic resources on the back-end your task is easier. If they are not, you can simply treat each URL scenario as a staged load. So, for example, if each URL will allow slightly different functionality to be hit, but each hit will be to the same database or to the same application server, you can do a combined load scenario. If there are different databases or Web servers, for example, you can stage each load separately.
It somewhat depends upon how these five URLs active the resources on your overall Web system. That is the key in load (and stress) testing: what resources are used and how are they used.
If I understand correctly, you can use a tool like LoadRunner and use IP spoofing. That will ensure you use the different ips are used. You can setup multiple scenerios to do different functionality to ensure everything is accessed.