IBM® Rational® Performance Tester
Extension for Citrix Presentation Server allows you to test
the performance of Citrix applications.
Informative performance test results rely upon sound test development.
Each of the following stages contributes to generating meaningful
test results:
- Test creation. You create your test by recording a session
with the Citrix XenApp client. Typically, the recorded session starts
when you log in to the Citrix server. You then interact with the application
to produce a relevant performance test. The session ends when you
log out. The recording is split into window events and contains keyboard
and mouse interactions with the Citrix server. You can use the Citrix
Recording Control window to add screen captures or comments.
You can add image synchronizations to help the test remain synchronized
with the server.
- Test editing. After recording, you can edit the events
in each window element. Because the recorded input is primarily made
of low-level keyboard and mouse input, you can streamline the test
by, for example, replacing key-press events with string inputs. You
can use the comments and recorded screen captures to make navigating
through the test easier. You can replace recorded test values with
variable test data, or add dynamic data to the test. You can also
set verification points on window titles or image synchronizations
to validate that the application behaves as expected.
- Test validation. Before deploying the test, you can run
the test manually as a single virtual user to make sure that the test
synchronizes user input actions and server output correctly in a nominal
environment with minimal server load. You might experience multiple
test editing and validation cycles before your test runs as expected.
- Workload emulation with schedules. When the test runs repeatedly
as anticipated, you specify an execution schedule and user groups
to emulate a workload that is generated by a large number of virtual
users.
- Schedule execution. You run the schedule, deploying test
execution over virtual users that can be hosted on remote hosts. Each
virtual user runs an instance of the Citrix client.
- Evaluation of results. You evaluate the results produced
by the tests through the various reports that are generated during
execution. You can also design custom reports.
Prerequisites
Before
you can test the performance of Citrix applications, a Citrix XenApp
client must be installed on the same computer as IBM Rational Performance
Tester. The Citrix XenApp client is required for recording and execution
of performance tests.
If you are deploying tests over remote
computers to emulate a large number of users, the following software
must be installed on each remote computer:
- The Citrix XenApp client
- The IBM Rational Performance Tester Agent
Limitations
Citrix
performance tests use window creation and change events, and optionally
image recognition techniques, to synchronize user input with server
output. Before you record a session with a Citrix application, the
behavior of that application must be perfectly reproducible. Specifically,
the application must always create windows and GUI elements at the
same locations and in the same sequence. Mouse or keyboard events
must always produce the same output. Consider these examples:
- If the application displays windows or dialog boxes on only the
first execution of a particular program or feature, such as tips or
security warnings, ensure that they are disabled when you record the
test. Any windows or dialog boxes that were recorded but are not displayed
on subsequent executions, or displayed at different coordinates on
the screen, will fail the test and cause synchronization timeouts.
- If you save a file during a recorded session, the application
might issue a warning for an existing filename when you replay the
tests. If the warning was not in the recorded session, this will fail
the test and cause errors.
It is essential to be aware of the context of user actions
when you edit a test. Because the Citrix performance tests interact
with the Citrix XenApp client at a very low level (mouse movements
and key presses) any changes that you make to the test after the recording,
such as moving test elements, adding loops or conditions, or inserting
new sequences, can alter the context of the emulated user actions
and cause synchronization timeouts.