McKludge

Testing with multiple loops and virtual users

Discussion created by McKludge on Mar 19, 2015
Latest reply on Mar 30, 2015 by dovle01

We have a system that does content based routing of JMS messages based on their custom JMS properties.  Some messages can have multiple properties to route on.  In one case, the message can have 3 JMS properties, and each property has a finite range of possible values.  I have created a test that is effectively 3 nested for-next loops so that one message of each possible JMS property combination is sent.  For the purposes of testing, the JMS message payload is arbitrary.

 

The loops work like this:  Datasets two and three are configured to Start Over at end of data, but dataset one is configured to End The Test at end of data:

 

Read from dataset one

     Read from dataset two

          Read from dataset three

               Send JMS message using dataset values

               Is value from dataset three the last value?

                    If false, then loop back to dataset three

                    If true, then check if dataset two is last value

                         If false, then loop back to dataset two

                         If true, then loop back to dataset one

 

This works as long as only one instance of the test is running.  But in some cases the total number of JMS property combinations is over 20,000, and with one instance of the test it can take hours.  Is there a way to use this loop structure with multiple instances?  I know that a javascript step would be an easier way to handle nested for-next loops, but I really hate moving data into and out of javascript steps.  Unless there is a way to run a LISA step from inside a javascript step?

 

Just looking for ideas.

Outcomes