BenjaminTenne
13 years agoNew Contributor
Odd behaviour of 'step average' load test assertions
Hi,
I've been having difficult with 'step average' assertions on my load tests (soapUI 4.5.1). I've found no reference to such problems on the forum, so I'm prepared to have it pointed out that I've misunderstood something and/or I'm an idiot
My load test is very simple. I set a 'total runs' limit of 100, set threads=1, test delay=0, random=0. In other words, I'm running 100 iterations of a test case, one at a time, each starting immediately after the previous completes.
Let's say my test has a single step called 'Step A'. I've observed that this typically takes 200ms (i.e. '200' appears in the avg) column and want to add a 'step average' assertion to ensure it never exceeds 300ms. I want this assertion to be applied once, as the end of the test run, so I set the parameters as follows:
minimum request: 100 (i.e. don't evaluate the assertion until after all iterations have completed)
max average: 10 (I'm setting it way lower than the 200 I've observed, as I want to deliberately trigger the assertion every time; I'd change it to 300 once I'm happy)
max errors: 0
sample interval: 100
I run this and the assertion isn't triggered. I change 'sample interval' to 50, and that makes no difference. However, after various experimentation, I sometimes end up in the state where the assertion fires after 2 or 3 iterations, seemingly regardless of how I've set these parameters.
Am I misunderstanding something? Can someone tell me what parameters I should set to have the assertion applied once, at the end of my 100 iteration run?
Many thanks,
Ben.
I've been having difficult with 'step average' assertions on my load tests (soapUI 4.5.1). I've found no reference to such problems on the forum, so I'm prepared to have it pointed out that I've misunderstood something and/or I'm an idiot

My load test is very simple. I set a 'total runs' limit of 100, set threads=1, test delay=0, random=0. In other words, I'm running 100 iterations of a test case, one at a time, each starting immediately after the previous completes.
Let's say my test has a single step called 'Step A'. I've observed that this typically takes 200ms (i.e. '200' appears in the avg) column and want to add a 'step average' assertion to ensure it never exceeds 300ms. I want this assertion to be applied once, as the end of the test run, so I set the parameters as follows:
minimum request: 100 (i.e. don't evaluate the assertion until after all iterations have completed)
max average: 10 (I'm setting it way lower than the 200 I've observed, as I want to deliberately trigger the assertion every time; I'd change it to 300 once I'm happy)
max errors: 0
sample interval: 100
I run this and the assertion isn't triggered. I change 'sample interval' to 50, and that makes no difference. However, after various experimentation, I sometimes end up in the state where the assertion fires after 2 or 3 iterations, seemingly regardless of how I've set these parameters.
Am I misunderstanding something? Can someone tell me what parameters I should set to have the assertion applied once, at the end of my 100 iteration run?
Many thanks,
Ben.