In synchronous remote execution, tests are run that typically involve multiple machines interacting with each other, or accessing the same resource.
As an example of a scenario requiring synchronization, say you wish to set up a test
wherein Machine A sends a message which Machine B then receives and checks. Under
this scenario, the executions of Machines A and B must be synchronized so that B
checks the message only after A has sent it out.
Note: A synchronous remote execution scenario must be explicitly defined as part of the
test case itself – that is, written up as action line sequences. Special
lead-deputy built-in actions dedicated to synchronous remote
execution are employed. This is very different from the case of asynchronous
execution, in which the remote machine(s) are specified at runtime, and the remote
execution is unrelated to the content of the test cases.
synchronous execution, the machine
that initiates execution is called the lead
, while other involved test
machines are the deputies
. Switching control from lead to deputy,
deputy to lead, or between deputies is directed by the six
Under synchronous remote execution, control is passed to a deputy in one of two
modes, serial or parallel. (This is governed by
the parallel argument of the use deputy
action, in which yes = parallel and no = serial.)
- If the deputies are running in parallel mode, each thread
has its own local/global variables. You cannot refer to a variable declared
in another thread no matter whether the variable is local or global.
- If the deputies are running in serial mode, the scoping
rules are the same as for executing normal tests procedures (see Variables for details).
- If a test case variable is declared before both of the use deputy actions,
the deputies can retrieve the value of that local variable regardless of
whether the deputies are running in parallel or
- However, if the deputies write values to an existing local/global variable,
the new value takes effect only if the deputies are running in
serial mode. Otherwise, the new value is
automatically adds controllers executing tests to the controller list in
Lab Manager, and you can monitor
the test progress there.
- Note that, while synchronous (lead/deputy) remote execution applies
specifically to execution on TestArchitect controller hosts, it can be used in mobile testing when those hosts are
controlling mobile devices.
- Note that database actions are not supported on machines operating as