In SoapUI itself you can add various assertions to each service. One of the assertion types is 'Response SLA'. This type of assertion allows you to define a max response time in milliseconds. If the service takes longer to respond than the time in assertion, the step fails. Obviously, you have to run each service, look at the response time and then think "what should the max be?". This is fine for a broad brush stroke approach and I use these for spotting poorly performing services.
But in terms of baselining and performance, Response SLA is not ideal.
An approach I have taken is this....
- - Created a test containing various calls I want to monitor.The final step in my test is a groovy script step that logs the response time for each service to the log console.
- - Created a spreadsheet where each tab contains the response times for a single run
- - Created a summary sheet in the spreadsheet that puts each runs results side-by-side
Whenever I test a new build, or there is patching, or the db changes or whatever else, I run the test again; create a new tab in spreadsheet; show results in the summary sheet.
The summary sheet then gives me a clear view of positive of negative change in performance.
Wow, that's a great answer Chris!! really awesome and thanks for explaining step by step.
Here is one of the scenario, I want to run my same Service from 25 Virtual users and want to calculate the baseline performance benchmark. Is this possible in Soap UI or in Load UI or Ready API.
Do we have any examples available.
Thanks once again,
Do you mean 25 virtual users from one machine, or test the service using 25 different machines? If the former, then yes, LoadUI will achieve this as will JMeter.