Forum Discussion

jeevesdavid's avatar
jeevesdavid
New Contributor
9 years ago

Are SOAP UI test cases thread safe?

I am planning to have multiple threads execute a SOAP UI test case from within a groovy script step. No two threads will try to access/execute the same test step at the same time. But more than on test step in the test case could get executed concurrently.

 

I have to do this because running test steps in parallel saves time.

 

Now will this work or will it lead to un-predictable behavior?

 

PS: I am cloning test steps to avoid the need to have multiple threads access the same test step concurrently. However I am not cloning the test case. Should I clone the test case too?

 

Thanks,

-David

 

 

3 Replies

  • nmrao's avatar
    nmrao
    Champion Level 3

    I am aware of running test cases in parallel. However, I am hearing this kind of request for the first time.
    I believe that it may not be a valid case for concurrency, becuase, steps are required to run in sequential.
    If you think steps are runnable concurrently, then those steps need not to be in a test case, rather can be come different test cases, so that they can be run in parallel.

    • jeevesdavid's avatar
      jeevesdavid
      New Contributor

      I agree that this use of SOAP UI is unconventional. We do the test step execution and sequencing from a a groovy test step. We read an excel spreadsheet and we execute tests based on the data we read in from the excel.

       

       

      • rupert_anderson's avatar
        rupert_anderson
        Valued Contributor

        Hi,

         

        Have you considered using a load test to execute your TestCase (and therefore its TestSteps) in parallel?

         

        When a load test runs a TestCase you can setup multiple multiple threads, SoapUI creates a clone of the TestCase (and Steps) and is thread-safe from that respect. However if your TestCase updates any properties in higher level or shared objects, like TestSuites / Projects etc, then it is possible to see concurrency issues.

         

        Regards,

        Rupert