This information is for planning purposes only. The information herein is subject to change or removal without notice before the products described may become available.
The CE/CLM products were renamed in version 7.0. As the help is updated to reflect the changes, the topics might contain inconsistencies. For details on the name change, see Renaming the IBM Continuous Engineering Portfolio.

Execution adapters

You can allocate an execution adapter to run automated tests by explicitly selecting the adapter, or by specifying that a suitable adapter is selected at run time.

Automated test tools integrate with IBM® Engineering Test Management by using adapters. Each adapter bridges between the test tool, such as IBM Rational® Functional Tester, IBM Rational Performance Tester, and the command-line adapter, and Engineering Test Management. The adapter receives requests from Engineering Test Management and then runs tests on the machine where the test tool is installed.

You can allocate an adapter to run automated tests in two ways:
  • Explicitly select an execution adapter to run a test
  • Specify that a suitable adapter is selected at run time
In either case, options are also available for recovery if no adapter is found or is available at run time.

Explicit selection

If you explicitly select an execution adapter, you identify the execution adapter before you start the test. You can assign an adapter in many ways: in the Preferred machine field of a remote test script, in an execution schedule, and in the Run Test Suite window when you run a test suite.

When you assign an adapter, you select the most appropriate adapters that are based on adapter search criteria. You can update the list of available adapters by editing the adapter search criteria.

If you explicitly selected an adapter and scheduled the test to run on a future date, that adapter might not be available when the test begins. For example, the adapter might be deleted, re-registered, or down. To recover, you can set a preference to search for an alternative available adapter.
  1. Log in to Engineering Test Management as a project administrator.
  2. Click the Administration Administration icon in the upper-right portion of the banner, and then click Manage Project Properties.
  3. Click Execution Preferences.
  4. If it is not already selected, select the Search for other available adapter based on applicable adapter search criteria, if assigned adapter is not found check box. This check box is enabled by default. If you do not want your test to run on an adapter other than the assigned adapter, clear the check box.
  5. Click Save.

Selection at run time

A more flexible way to run automated tests is to allow Engineering Test Management to dynamically determine a suitable adapter. Because adapter selection is postponed until the time when the test must run, the possibility that an adapter is not available is minimized. Many factors are considered, including the adapter health and adapter workload.

Use this method of adapter selection unless you must run a test on a specific machine. With dynamic adapter selection, you can use resources more efficiently and avoid the manual steps of selecting the adapter. For example, if your test suite has ten or more automated test cases, you must manually select an adapter for each test case.

You can specify that a suitable adapter is selected at run time by running your test in these ways:
  • Create an execution schedule that uses the "Search Runtime" option for adapter selection.
  • Run a test suite by using a test cell, which is a group of lab resources. All adapters that are running on the lab resources within a test cell are chosen for execution. This option works best when you want to limit the group of machines that run an automated test. This approach also helps to prevent the test bed from being mixed with other environments.
The behavior of searching for the best adapter at run time is influenced by several factors:
  • Adapter selection criteria: You can configure this setting from the execution preferences of the project. By default Engineering Test Management searches for an adapter from all available adapters, but you can restrict the search. For example, you can search for only the adapters that are running on specific test environments. By doing so, you can ensure that a test case execution record or test suite execution record that is planned for one platform does not run on another platform.
  • Preferred machine: You can associate each automated test script with a preferred machine. The adapters that are running on that particular machine are given precedence over other adapters if they meet any selection criteria, even if other adapters have a smaller workload.
  • Search outside of the test cell: This preference is a useful recovery mechanism when no adapter is found at run time within an assigned test cell. By default, Engineering Test Management does not search outside of the test cell for an available adapter unless you set this preference.
  • Restrict the reuse of a lab resource if it is reserved for a test execution: If this preference is set, the adapter search does not include lab resources that are currently reserved by a test case, test suite, or test schedule.

Recovery when no execution adapters are available

If Engineering Test Management cannot find an available adapter, the recovery depends on the context:
  • Test suite execution in parallel mode: If no adapter is available for any step, an error message is shown and testing does not start.
  • Test suite execution in sequential mode: The adapter for each step is chosen only after the previous step is completed. If an adapter is not found for a step, the step result is created with an "Error" state and the test moves on to the next step.
  • Test suite execution that uses the Stop suite execution if any test does not pass option: If no adapter is found for any step in the suite, the test stops.
  • A scheduled test suite execution: The overall state of the schedule step result is set to “Error” for both parallel and sequential tests. For a scheduled sequential test, a test suite result is created with an “Error” state. For a parallel test, the test does not start because an error condition is determined before the test can start.
If the adapter that you chose goes down in the middle of a test run, you can transfer the test to another available adapter from the Execution Console. An adapter might go down if it fails, the machine goes down, or network issues occur.
  1. Open the Execution Console by clicking Execution > Execution Console.
  2. In the list of execution tasks, identify a task that you want to change the adapter for.
  3. Select the row for the execution task and click the Edit Adapter icon Edit Adapter. An adapter selection window opens.
  4. Select an available adapter and click OK. The execution task is transferred to the adapter that you selected.

Strict reservation-based tests

To run a remote execution script, Engineering Test Management searches a list of available adapters and selects an adapter from that list. If the corresponding machine is not already reserved for the current user, it is reserved for that user and the test is run on that adapter. After the test is finished, the reservation is removed from the machine so that other people can use it.

However, you might want more control of your enterprise lab resources for testing, particularly when you use sophisticated test harnesses and test beds that can be popular and costly resources. In the execution preferences, you can enable test executions to be queued on specific test machines. When the machines are reserved for the user who is running the tests, the tests are automatically run. To enable this behavior, on the Project Properties page, in the Execution preferences section, click Enforce lab machine reservation > Allow tests to be queued on any machine, and when the user receives the machine, automatically start the tests.

After you enable this capability, if you run a remote test script on an adapter and the corresponding machine is not reserved for you at that time, the generated execution task moves into the Awaiting Reservation state. When an execution task is in the Awaiting Reservation state, adapters do not select that task for execution.

After you have the reservation for that machine, the newly generated task moves into the Queued state. Adapters select only the tasks that are in the Queued state, so the task is picked by an adapter when the adapter is free.

If the reservation start time is earlier or equal to current time, the generated execution task instantly moves into the Queued state. If the reservation is for a future time, the task waits until the reservation time. At the reservation time, the generated execution task is moved into the Queued state by an asynchronous task that runs every 5 minutes.

Note: In this mode, the automatic reservation of machines is not supported.

In addition to running a single test case or test suite by queuing the test run on a specific machine, the capability supports these scenarios:

A test is run by using a test cell
When a test suite is run on a test cell, Engineering Test Management searches the adapters at run time. The product first searches for the reserved machine. If a machine is available, the test is queued on that machine. All of the tasks are in the Queued state. Otherwise, the product selects an unreserved machine and runs the test on that machine. In that case, all of the tasks are in the Awaiting Reservation state.
The machine reservation is canceled or the reservation time period ends while you are running a test suite
Consider an example in which five test cases of a test suite that contains 15 test cases already ran, and the sixth test case is running. Someone cancels your machine reservation. The sixth test case run continues. However, the remaining nine test cases move into the Awaiting Reservation state. When the reservation is available for you again, the remaining test cases move into the Queued state. As soon as the adapter is available, the queued tests run.
A test suite is run by using an execution schedule
Typically, scheduled tasks are run by a user who has the ADMIN user ID, which has many enabled permissions. By default, that user ID is not enabled. If a machine is run by the ADMIN user, the machine is automatically reserved for that user and not reserved for other users.
Mixed runs of two separate tests on one machine are prevented
By default, if you reserve a machine and schedule two separate test suites to run, the test cases of the two test suites can run in a mixed manner on the machine. If the Restrict reuse of lab resource if reserved for a Test execution check box is selected in the execution preferences, when you run two or more test suites on the same machine, all of the steps of the first scheduled test suite run. When that execution is completed, the next scheduled test suite runs. The execution tasks for the second test suite are in the Awaiting Reservation state until all of the steps in the first test suite are completed. After the first test suite runs, the tasks for the second test suite move into the Queued state.

Parallel mode

If you run a test suite that contains the same type of automated test scripts in parallel mode on one machine, the steps are run in the order that is listed in the test suite. To set parallel execution mode, in the Run Test Suite window, click the Run this suite in parallel check box.

Common practices for execution adapter selection

  • When you use the default execution preferences, avoid assigning specific adapters for scheduling execution. You do not know whether a machine that is available now will be available when the test runs in the future. Alternatively, you can configure strict reservation-based testing in the project properties.
  • When applicable, use test cells as part of preparing the test bed for automated execution.
  • To confine the adapter search to your chosen machines, associate an execution schedule with a test cell.
    Note: The test cell that is associated with a test suite overrides the test cell that is associated with the execution schedule.
  • Associate any test suites that contain automated tests with a test cell if test machines are known.
  • When you create execution schedules, always use the Search Runtime option. By using that option, you can avoid having to maintain the schedule because of changes in test machines, and you can more efficiently use the available test machines.
  • To ensure that information about the environment where the adapters are running is available, use provisioning tools to provision any lab resources that are associated with execution adapters. Engineering Test Management can use this information to correctly distribute tests that are based on the test environment that is specified at the test case execution record level. For more information, see the “Adapter selection criteria” section. If your provisioning tools are not integrated with Engineering Test Management, you can manually edit the lab resources to provide basic information, such as the operating system, browsers, processor, and the database that is available on the adapter machine.

video icon Video channel
Software Education channel

learn icon Courses

IoT Academy
Skills Gateway

ask icon Community forums library

support icon Support

IBM Support Community
Deployment wiki