11. The Reactis Test-Suite Browser#

The Test-Suite Browser allows you to view test suites. Figure 11.1 contains an annotated screen shot of the Test-Suite Browser, which displays the test selected in the test selector button (window item 13). The body of the window consists of three tabs:

Test Data

Displays a matrix whose first column lists the inputs and outputs of the test harness and whose subsequent columns each represent a simulation step. Within each of these latter columns there is a value for each input and output.

Test History

Displays history information logged by Reactis for the currently selected test.

Suite History

Displays history information logged by Reactis for the test suite.

_images/tsBrowserA.png

Fig. 11.1 The Reactis Tester test-suite browser.#

11.1. Labeled Window Items#

The following items are labeled in Figure 11.1:

  1. Display a file-selection dialog to specify an .rst file for loading into the browser.

  1. Open a distribution scope which displays the distribution of values (over the entire test suite) for the selected input or output, as shown in Figure 11.2. Alternatively, it is possible to view the values assumed during a single test or group of tests by right-clicking on the selected input/output and choosing the desired scope from the pop-up menu, or by selecting the desired scope from the View menu (see the Menus section) for details). The distribution scope button is disabled when a filter is active.

  2. Open a scope which plots the values of the selected row over time.

  3. If either of the Test History or Suite History tabs are selected, copy any of the selected log information to the clipboard.

  4. Go back 10 steps in the current test.

  5. Go back 5 steps in the current test.

  6. Go back 1 step in the current test.

  7. Specify a step in the current test to view.

  8. Go forward 1 step in the current test.

  9. Go forward 5 steps in the current test.

  10. Go forward 10 steps in the current test.

  11. Display Reactis Test-Suite Browser help.

  1. This pull-down menu enables you to select a test from the currently loaded test suite to view in the browser. The face of the button shows a message of the form #tnum (tsteps): tname where tnum is the test number, tsteps is the number of steps in the test, and tname is the test name. When a filter is active, the text in parentheses changes to matching of tsteps where matching is the number of steps in the test that match the filter.

  2. Checking this box activates the filter. When a filter is active only steps for which the filter expression evaluates to true will be displayed.

  1. A filter expression may be entered in this text entry box. When a filter is active, the main browser panel shows only test steps for which the expression evaluates to a non-zero value. You activate a filter by:

    • pressing the return key in the entry box, or

    • checking the check box to the left of the entry box, or

    • clicking the enter button to the right of the entry box.

    For example, to display the steps in which the brake is active enter brake == 1 and press return.

    The syntax for filter expressions is ANSI C. The variables in the expression may be the names of inputs or outputs from the test suite. The elements of an array item in the test suite can be accessed using the array indexing notation of the C language (note that indexing is 0-based). Some examples demonstrate the most common operators:

Filter Expression

Result

(brake == 1) && (active == 1)

All steps in which the brake is pressed and the cruise control remains active (indicating a serious error)

(speed < 30) && (active == 1)

All steps in which cruise is active at a speed less than 30

(cancel == 1) || (decelSet == 1)

All steps in which either cancel or decelSet is pressed

(inp[0] > 0) && (inp[1] > 0)

All steps in which the first two elements of vector input inp are positive

  1. Clicking this button activates the filter. When a filter is active only steps for which the filter expression evaluates to true will be displayed.

  2. Clicking this button opens the Filter Editor dialog shown in Figure 11.3. The editor lets you formulate more complicated filters.

  3. This column lists the inputs and outputs of the test harness.

  4. Values of inputs and outputs in step 1 of the current test.

  5. Values of inputs and outputs in step 2 of the current test.

  6. This column lists the name of each configuration variable.

  7. This column lists the value of each configuration variable in the current test.

11.3. Test Step Filter Editor#

The Test Step Filter Editor, shown in Figure 11.3, lets you formulate filters to search for test steps in a suite that satisfy a given condition.

_images/filterEditorA.png

Fig. 11.3 The Filter Editor lets you craft more complex filters to search test suites for steps satisfying a particular condition.#

The labeled items in the figure work as follows.

  1. Enable or disable the filter.

  2. Enter a filter expression in this entry box. When a filter is active, the Test Suite Browser displays only test steps for which the expression evaluates to a non-zero value. The syntax for the expression is ANSI C. The variables in the expression take their values from inputs and outputs from the test suite. The elements of an array item in the test suite can be accessed using the array indexing notation of the C language (note that indexing is 0-based). Some examples demonstrate the most common operators:

Filter Expression

Result

(brake == 1) && (active == 1)

All steps in which the brake is pressed and the cruise control remains active (indicating a serious error)

(speed < 30) && (active == 1)

All steps in which cruise is active at a speed less than 30

(cancel == 1) || (decelSet == 1)

All steps in which either cancel or decelSet is pressed

(inp[0] > 0) && (inp[1] > 0)

All steps in which the first two elements of vector input inp are positive

  1. The variables used in the expression are defined in this section. They are termed inputs because the filter expression can be viewed as the body of a function and the inputs are the formal input parameters of the function. To apply the filter function to a given test step, values from the test step serve as actual parameters fed into the filter function for evaluation of the filter expression. The elements of an array item in the test suite can be accessed using the array indexing notation of the C language (note indexing is 0-based). For example, if an input inp is an array of length 3, then we can check for steps in which all elements of inp are positive with the filter expression:

    (inp[0] > 0) && (inp[1] > 0) && (inp[2] > 0)

  2. Each menu in this column includes an entry for each input and output and the sample time in the test suite. The item selected will be fed into the filter input named in the next column when evaluating the filter expression.

  3. Each entry box in this column names an input/variable to be used in the filter expression.

  4. Clicking this button deletes the filter input.

  5. Clicking this button adds a new filter input.

  6. Open help for the Filter Editor.

  7. Clicking this button causes Reactis to attempt to automatically compute the entries in the inputs section. For each variable in the filter expression an input row will be added if it does not already exist. Furthermore the input will be wired (menu in the first column selected) to the input or output of the same name if one exists in the test suite.

  8. Save the changes made in the Filter Editor and close the dialog.

  9. Discard the changes made in the Filter Editor and close the dialog.