background image
<< How Synchronization Points Work | Inserting Synchronization Points >>
<< How Synchronization Points Work | Inserting Synchronization Points >>

Why Use Synchronization Points

Synchronization Points
8-9
Why Use Synchronization Points?
By synchronizing virtual testers to perform the same activity at the same time, you
can make that activity occur at some particular point of interest in your test--
for example, when the application-under-test sends a query to the server.
Typically, synchronization points that you insert into scripts are used in conjunction
with timers to determine the effect of varying workload on the timed activity. For
example, to determine workload on data retrieval, you could take the following
general steps:
1. While recording the script (named VU1 in this example) that submits the query
and displays the result, perform the following actions:
a. Insert a synchronization point named
TestQuery
into the script.
b. Click the Start Block button (see page Adding a Block on page 8-6).
The block times the transaction you are about to perform. The block also
associates the block and timer names with the name of the emulation command
that performs the transaction.
c. Submit the query and wait for the results to be displayed.
d. Click the Stop Block button.
2. While recording the virtual tester that provides the workload, insert
another
TestQuery
synchronization point just before you begin to record
the activity that provides the load--for example, just before you click the button
to submit an order form. Name this script VU2.
3. Add VU1 and VU2 to a suite.
4. Run the suite a number of times, each time using a different number of the VU2
virtual testers. However, you only need one VU1 user in each test.
Theoretically, as the number of synchronized VU2 virtual testers increases, the
time reported by the VU1 timer should also increase.
In this example, the
TestQuery
synchronization point ensures that:
All VU2 virtual testers submit their forms at the same time--thereby providing
maximum concurrent workload.
The VU1 virtual tester submits its query at the same time that the VU2 virtual
testers are loading the server--thereby providing maximum workload at a
critical time.