Forum Discussion

taibc's avatar
taibc
Occasional Contributor
6 years ago

How to use strategy load test in SOAPUI

Hi all,

 

I am new in SoapUI, now I need to do a load test. I tried to use 2 strategies: Simple and Fixed-rate as below, but I don't know to analysis them clearly. Could you please explain items for me, what strategy should I choose ?.

 

My expect test requirement:

- I have a weservice to verify OTP

- I have a excel include 100 correct records, include OTP numbers and users

- I want test in 100 threads, each thread (1 user) run 1 row of excel

 

Case 1: I use Simple strategy

 

The error request is 120, but actual it is 60 (because soapui list duplicate error message), for example, both is 61st thread:

 

2018-12-27 13:27:00,Step Status,Verify - Request 1,"TestStep [Verify - Request 1] result status is FAILED; [[XPath Match] XPathContains assertion failed for path [${Verify - Request 1#Response#declare namespace ns='http://www.bidv.com/entity/vn/otp/smartotp_gw/verify/1.0'; declare namespace ns1='http://www.bidv.com/common/envelope/commonheader/1.0'; //ns:VerifyRes[1]/ns1:ResponseStatus[1]/ns1:Status[1]}] : RuntimeException:net.sf.saxon.trans.XPathException: XPath syntax error at char 0 in {}:
    Unexpected token "<eof>" in path expression] [threadIndex=61]"
2018-12-27 13:27:00,Step Status,Verify - Request 1,"TestStep [Verify - Request 1] result status is FAILED; [[XPath Match] XPathContains assertion failed for path [${Verify - Request 1#Response#declare namespace ns='http://www.bidv.com/entity/vn/otp/smartotp_gw/verify/1.0'; declare namespace ns1='http://www.bidv.com/common/envelope/commonheader/1.0'; //ns:VerifyRes[1]/ns1:ResponseStatus[1]/ns1:Status[1]}] : RuntimeException:net.sf.saxon.trans.XPathException: XPath syntax error at char 0 in {}:
    Unexpected token "<eof>" in path expression] [threadIndex=61]"

 

 

Case 2: Fixed-rate strategy, with Rate = 5, no error

 

 

Case 2: Fixed-rate strategy, with Rate = 1, there 13 error

 

 

Many thanks

2 Replies

  • Nastya_Khovrina's avatar
    Nastya_Khovrina
    SmartBear Alumni (Retired)

    If you need 100 users to work with your server at the same time, it's better to use the Virtual Users Load type: 

    Load Types

     

    If you selected the Rate load type for a test, the load profile settings specify how often "users" visit the tested server. That is, the profile does not specify the number of concurrent virtual users on the server, but specifies the number of users arriving to the server every second, minute or hour.

     

    Also, please pay attention to the specifics of the DataSource test step (the Shared option): https://support.smartbear.com/readyapi/docs/loadui/practices/soapui-test-steps.html

     

  • richie's avatar
    richie
    Community Hero

    Hi, taibc

     

    Before trying any of the perf test strategies in SoapUI - I'd go back to your NFRs (nonfunctional requirements) that should define SLA's volumetrics for throughput/virtual users etc. for your system under test.

     

    These NFRs will guide you in your efforts with SoapUI because the requirements/SLAs/volumetrics/number of uses/virtualusers/threads etc. will determine what you need to test and how to test them.  Just hitting one of the perf test strategies won't give you what you need - the most it will do is give you a benchmark as to the system's current performance relative to the perf test strategy you are using and thats if you're using the correct strategy for your system.

     

    You might not even have a NFR for the particular perf test strategy you used - or the NFR could indicate exactly what you need to focus on.

     

    even basic perf testing concepts like 'pacing' and 'thinktime' would be revealed by your NFRs - these change a perf test wildly - especially thinktime (pacing achieves load, thinktime achieves concurrency) - but thinktime might not be a consideration for your system at all, it could just be pacing this is a consideration.

     

    thanks man,

     

    richie