Let's take a quick look at the major benefits provided by LoadUI over SoapUI for Load Testing:
- Distributed Load Testing : LoadUI allows you to easily distribute your Load Tests to any desired number of LoadUI Agents by simply dragging and dropping the tests as required which makes it easy to simulate load or traffic not possible from a single machine.
- Run multiple TestCases simultaneously : in LoadUI you can run any number of SoapUI TestCases in any combination required, with different load generators, schedules and agents. For example you might want to divide load between SoapUI TestCase when triggered:een 3 TestCases, all ramping up from one load to another.
- Long-running Tests : LoadUI tests can be run for weeks without consuming your memory or CPU, allowing you to have base-line tests executing in the background with as advanced configurations as neccessary
- Interactive Load Testing : change and load-related parameters in real-time to see how your service and response times are affected.
Head straight over to the LoadUI website if you want to know more about LoadUI, now let's have a look at the integration points available in SoapUI.
Note: both LoadUI and SoapUI have artifacts named "TestCase", in SoapUI it is a functional test containing a number of TestSteps (as you probably know by now), in LoadUI it is a collection of LoadUI components that can be deployed on a LoadUI Agent (read more).
LoadUI Integration Overview
LoadUI provides a "SoapUI Runner" component that runs the configured SoapUI TestCase when triggered:
(more details on this component are at the LoadUI website)
You can add as many of these components as desired to your LoadUI Project, each for running different (or the same) SoapUI TestCase with different loads, assertions, etc. The SoapUI Runner stores a pointer to the target SoapUI project file and contained TestCase which will be read into LoadUI memory upon execution (internally LoadUI uses the same execution engine for the SoapUI TestCase as is used in SoapUI), if the project file is updated on disk while LoadUI is running it will automatically reload the project to ensure that the latest version is being used.