Multiple UUTs Setup and Execution

Starting with v8.0 ATEasy supports running of multiple UUTs in sequential, parallel or mixed run modes. Programs running with sequential mode will run in the same thread while parallel programs will run a different thread. The Test Executive supports running multiple UUTs and the user can set how many UUTs he wishes to run, the run mode (parallel or sequential) and a program or a profile for each UUT. The test executive then displays a tab for each UUT. Each UUT tab display the program or profile tests, a log window and a test properties pane.

Selecting the Start button will start running the UUTs in the sequential mode pool (running under the same main thread) and according to the UUT Switch Level (set by options or using App.UutSwitchLevel property). In addition, UUTs that where set to parallel will also start at the same time and will be executed in their own thread.

Multiple UUT program Selection Examples

Example 1: Sequential Mode UUTs

Two Sequential mode UUTs with two different programs as follows:

then selecting the Start will run as follows:

Program1 Task1, Program2 Task1, Program1 Task2, Program2 Task2, Program1 Task3.   All the UUTs will run in the same thread as the main application thread.

Example 2: Mixed Mode UUTs

Four UUTs, the first two as the first example, UUT 3 and 4 are parallel. In this example when you select Start to run the UUTs, 3 threads will be created. The main thread will run UUT1 and UUT2 in sequential mode as described in Example 1. UUT3 and UUT4 will run the program or profile assigned to them independently each in its own thread (UUT switch level will not be used for these UUTs).

New Features in the Test Executive to Support Multiple UUTs

 Steps Requires to Support Multiple UUTs in the Test Executive

  1. Set the Enable Multiple UUTs option to True using the Customize Dialog - Options Page.

  2. Set the other UUT options as required by your application using the Customize Dialog - Options Page.

  3. Select a program or a profile using the Select Program Dialog. Depends on the options you set the dialog will allow you to override and set the UUT count, select one or more program/profile for your UUTs and select the run mode for each UUT (parallel or sequential).

  4. To test all UUTs, select the Start Command from the Run menu, to test single UUT, select the UUT tab for your UUT and select the Start UUT Command.

Changes to Your Application Code to Support Multiple UUTs

  1. For Sequential run mode, You may add code in OnInitSwitchUut, OnEndSwitchIUut module events (driver, system or program). The code will be executed when ATEasy switches from one UUT to another as set by the App.UutSwitchLevel.

  2. Modify your test code to use the App.UutIndex to perform switching and other UUT index based instrumentation access.

  3. For parallel run mode, synchronize access to resources, test and procedures using the Semaphore property of the module (Driver, system or program) you are trying to lock. Use the Task, Test and Procedure Synchronize flag to allow access to code only from a single thread.

Setting up Multiple UUT Execution

The following example shows how to setup execution for multiple UUT. Similar code exist in the test executive. If you are not using the test executive and would like to set up multiple execution similar code need to be executed. The example runs 3 UUTs. The first two UUTs in sequential mode (same thread and program) and the third in parallel (second thread):

app.UutCount=3

app.UutProgram(0)=app.Programs(0)

app.UutProgram(1)=app.Programs(0)

app.UutProgram(2)=app.Programs(1)

app.UutSwitchLevel=aUutSwitchLevelTask

app.UutRunMode(0)=aUutRunModeSeqential

app.UutRunMode(1)=aUutRunModeSeqential

app.UutRunMode(2)=aUutRunModeParallel

Run All