01 March 2010 - 3.5 user guide eclipse intellij netbeans maven download nightly forum bugs blog sf.net eviware


Eviware Logo

Getting Started with Web Service Load Testing

soapUI 1.5 introduces simple and powerful SOAP LoadTesting functionality allowing you to:

  • Validate a Web Services performance under different Load scenarios
  • Maintain Functional validations to see that they don't "break" under load
  • Run several load tests simultaneously to see how they affect each other

Here we will continue from the Functional TestCase created in the previous "Getting Started" document. Start by creating a LoadTest for the created TestCase using its "New LoadTest" popup menu option. The opened LoadTest Editor should be something like the following (depending on which steps you created in your TestCase):

Soa Load Test Runner

The LoadTest is pre configured to run for 60 seconds (top right) with 5 threads using the Simple LoadStrategy. Modify these values as desired (read more about soapUI LoadTest Configuration) and run the test. You will see the statistics table in the middle beginning collecting data and after 60 seconds should have a finished LoadTest as follows (read more about LoadTest Execution):

Soa Load Test Runner executing

Start soapUI Testing
Did you know?

There is a commercial version of soapUI out called soapUI Pro.

soapUI Pro contains productivity enhancements as well as offers Professional World Class support. contains productivity enhancements as well as offers Professional World Class support.

Try soapUI pro to soap test

Add Assertions to a Load Test

soapUI allows you to add LoadTest Assertions to LoadTests just as to Functional TestSteps. When creating a LoadTest, soapUI will always add a TestStep Status Assertion for us, we will add a TestStep Max Assertion to validate that our TestCase never exceeds a certain execution time.

Select the "LoadTest Assertions" tab at the bottom of the LoadTest Editor and press the displayed "Add Assertion" button. Select the "Step Maximum" assertion and configure it as follows in the displayed dialog:

The Step Maximum assertion checks that a steps max-time does not exceed a specified value.
  • Name - the name of the assertion, leave it it for now
  • Minimum Requests - the minimum number of runs that must have been executed before applying this assertion. We will allow the first 10 TestCase runs to pass.
  • Max Time - the maximum allowed step time, we set it to 500 m.
  • Max Errors - the maximum number of errors to allow before canceling the LoadTest, we will allow 5 "breaches" of the 500ms limit before the LoadTest should fail
  • TestStep - the target step to assert. We select the request in our TestCase
Load Test, Test Step Max assertion

Run again!

Now running the LoadTest might give you a result like to following where the TestCase 5 times exceeded the limit of 500ms and failed the LoadTest.

Load Test runner step 2

You can double click an assertion failure in the log and view the actual request that failed, allowing you to debug the request/response message, etc.. Double-clicking one of the errors above shows the following:

Load Test error Viewer

Now What?

Try playing around with the different LoadTest Strategies, Load Test Diagrams, etc..


Next: Configuring Web Service Load Tests