GUI-Level Testing Support

When to Use GUI-Level Testing

Suppose you have an application that implements a traditional client/server architecture. You want to test what happens when multiple instances of the client application access the server simultaneously. An example would be a proprietary time-tracking system that stores the working hours of employees on a server. However, you cannot use any of the existing Silk Performer application types for testing, because the application uses an exotic protocol to communicate between client and server. In such instances, you may want to use GUI-level testing. With GUI-level testing, you can find out how many employees can concurrently access the server and use the time-tracking system without overloading the server.

How GUI-Level Testing Works

As shown in the graphic below, the process begins with the Silk Performer Controller. When you start a load test, the Silk Performer Controller connects to an agent running on a Microsoft Windows Server operating system and has Remote Desktop Service (formerly known as Terminal Services) running. The Silk Performer agent then creates runtimes and within the runtimes the virtual users are created. Each virtual user creates a new session on the agent machine and starts Silk Test within this session. Silk Test then performs the previously recorded steps on the application, or in other words: Silk Test drives the application. The application accesses the server and generates the load, while the virtual users measure the response times.

Sometimes you cannot run more than one instance of an application on a machine or within a single session. This is why each virtual user creates a new session on the agent machine. With this approach, Silk Performer creates several instances of your application, all of which access the system under test simultaneously.

Setting Up a GUI-Level Testing Environment

  1. Set up at least one agent machine that has one of the Microsoft Windows Server editions installed on it.
  2. Install Silk Performer Agent on the machine.
  3. Install Silk Test.
  4. Install your client application.
  5. Use Silk Test to model one or more test cases using the application.
  6. Create a Silk Performer GUI-level testing project that uses the Silk Test project to run the defined test cases against the system under test.

Once you have performed all these steps, you can start the load test in Silk Performer.

Note: You can use the following Silk Test clients for GUI-level testing: Silk Test Classic, Silk4J, and Silk4NET. Make sure that you meet all requirements when you use Silk4J and Silk4NET for GUI-level testing. See Requirements for GUI-Level Testing with Silk4J and Silk4NET for details.

Why is it Called GUI-Level Testing?

Silk Test performs testing directly on the graphical user interface, or in other words, on the GUI-level. With this approach you can watch how Silk Test performs the recorded test steps, for example mouse clicks and keyboard entries, if you connected to one of the sessions on the agent machine.

GUI-Level Testing Functions

Refer to the Silk Performer BDL Reference for full details on the BDL functions that are offered by Silk Performer.

Note: Silk Test can be started in local host mode. With this approach, virtual users use a console session rather than a separate Windows session.
Note: GUI-level testing only works on Windows Server edition platforms. Windows Home or Professional editions can only be used as agents for a single GUI-level testing VUser.

Single Session GUI-Level Testing

For tests against web applications using Google Chrome or Mozilla Firefox, Silk Performer allows you to run all virtual users within a single Windows session. The benefits are that no remote desktop licenses are required and that resource consumption per virtual user is considerably lower compared to the conventional GUI-level testing approach.