A brief tour of the C-based system testing test script should clear up any further mystery about how the virtual testers are implemented.
To modify the test script:
Double click the MobilePhoneVT.pts node on the Project Browser tab.
Maximize the test script
Highlights, from top to bottom (use the IBM Rational Test RealTimePurifyPlus RealTimePurifyPlus for Linux Reference Guide for detailed information regarding the system testing test script API):
DECLARE_INSTANCE - Note how only one INSTANCE block exists in this test script.
MESSAGE - These variables will contain the message sent from the UMTS base station to the mobile phone.
PROC ... END PROC - Used to define a function that will be called multiple times.
PROCSEND ... END PROCSEND - Part of the adaptation layer; describes the steps necessary for a virtual tester to send a message.
CALLBACK ... END CALLBACK - Part of the adaptation layer; describes the steps necessary for a virtual tester to receive a message.
INITIALIZATION ... END INITIALIZATION - Indicates those steps that must occur before any SCENARIO block executes. Only applies to those SCENARIO blocks at the same level as the INITIALIZATION block. In this case, the virtual tester opens a TCP/IP socket to the base station and then connects to it. (Note that the phone has not yet been registered to the base station; the INITIALIZATION block only opens a connection to the phone; with this connection, the mobile phone can then try to register.)
TERMINATION ... END TERMINATION - Indicates those steps that must occur after every SCENARIO block finishes executing. Only applies to those SCENARIO blocks at the same level as the INITIALIZATION block.
SCENARIO ... END SCENARIO - Highest level blocking of specific virtual tester actions. A SCENARIO block can consist of more than one child SCENARIO block. The INSTANCE blocks are typically defined in SCENARIO blocks.
INSTANCE ... END INSTANCE - Contains code specific for a virtual tester instance.
SEND - Sends a message.
WAITTIL - Waits for a message, and tests the message for both content and promptness. Reports a failure if the received message does not match expected, was never received, or was received late.
Take a look around. Notice how the call_busy scenario uses the phone number 5550000, and how the call_success scenario uses the phone number 5550001. As you may recall, these were the phone numbers used in the runtime analysis portion of this tutorial.
Once you are comfortable with the test script, you can proceed to execute the test.