You can define part of a test as
a loop that runs a specified number of times. If the loop contains a synchronization
point, the synchronization point is released after the first iteration of
the loop and stays released for all further iterations.
About this task
You can set a loop within a schedule or a test. The following table
shows the advantages of both methods:
Loop location |
Results |
Schedule |
Loops in schedules are easy to locate and modify. Loops
in schedules close the server connection at the end of each iteration
and reopen it at the beginning of the next iteration. This action
models the behavior of a user closing and reopening a browser.
Use
this method to run a test at a set rate. For more information, see Running tests at a set rate.
|
Test |
Loops in tests can be more granular, and thus
provide a higher level of control. Loops in tests reuse the server
connection during each loop iteration.
Use this method, with
loops that have high iteration counts, to stress test a server.
|
To add a loop to a test:
Procedure
- In the Test Navigator, browse to the test, and double-click it. The test opens.
- Click the page or the request that will be inside the loop. Press Ctrl when clicking to select multiple pages or requests.
- Click Insert, and select Loop.
- You are asked whether you want to move the selected elements into
a the loop. Click Yes. If you click No,
an empty loop is inserted into the test.
- In the Test Element Details area, type the number of iterations
for the loop to repeat.
Option |
Description |
Count-based |
Runs for the number of iterations
that you select. |
Time-based |
Runs at least for the time that
you specify. The loop always finishes the iteration. For example, if you select
a time of 1 second and a loop takes 10 seconds to run, the loop finishes one
iteration, and then checks the time. |
Infinite |
Runs until the test stops. |
- Optional: Select Control the rate of iterations,
and type your preferences for the pacing rate. In specifying a
number of iterations per unit of time, you set a fixed period for the iterations
to complete. If you select Randomly vary the delay between iterations,
the total delay is randomly distributed. If you clear this check box, the
same delay occurs between each iteration.
Note: Statistically, the Randomly
vary the delay between iterations option sets delay amounts
at random from a negative exponential distribution with the same mean
as the fixed delay value. The negative exponential distribution has
a long "tail," which means that a very small number of delays will
have very large values. Therefore, make sure that the application
you are testing is not negatively affected by long periods of inactivity
(such as a timeout that disconnects the user).