12. The Reactis Test-Suite Browser#

The Test-Suite Browser allows you to view test suites. Figure 12.1 contains an annotated screenshot of the Test-Suite Browser, is used to examine the contents of a test suite. The body of the window displays the data for the currently selected test, and consists of three tabs:

Test Data

Displays a matrix whose first column lists the input ports, test points, and output ports of the model and whose subsequent columns each represent a simulation step. Within each of these latter columns there is a value for each inport, test point, and outport.

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. 12.1 The Reactis Test-Suite Browser.#

12.1. Labeled Window Items#

The following items are labeled in Figure 12.1:

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

  1. Open a distribution scope to display the distribution of values the selected port assumes in the test suite, as shown in Figure 12.3. Alternatively, it is possible to view the values assumed during a single test or group of tests, rather than during the entire test suite. This may be done by right-clicking on the selected port or by using the relevant items in the View menu; see the Menus section for details. The button is disabled when a filter is active.

  2. Open a scope for the selected port(s). The scope will be similar to the one shown in Figure 12.2.

  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.

  12. 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.

  13. 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 m ay be the names of inports, outports, or test points from the test suite. The elements of a vector item in the test suite can be accessed using the array indexing notation of the C language (note that indexing is 0-based). The element s of a bus may be accessed using the C structure notation, e.g. X.Y if Y i s an element of bus X. 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

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

  3. Clicking this button opens the Reactis Test Step Filter Editor dialog shown in Figure 12.4. The editor lets you formulate more complicated filters.

  4. This column lists the inports, test points, and outports of the model.

  5. Values of inports, test points, and outports in step 1 of the current test.

  6. Values of inports, test points, and outports in step 2 of the current test.

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

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

_images/testScope.png

Fig. 12.2 A scope which has been opened from within the test-suite browser. Any test in the suite can be selected for viewing.#

12.3. Test Step Filter Editor#

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

_images/filterEditorA.png

Fig. 12.4 The Reactis Test Step 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 inports, outports, or test points from the test suite. The elements of a vector 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) ruise 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 a vector 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 a vector of length 3, then we can check for steps in which elements of inp are positive with the filter expression:

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

    The elements of a bus may be accessed using the C structure notation, e.g. X.Y if Y is an element of bus X.

  2. Each pulldown in this column includes an entry for each input, output, test point, and sample time in the test suite. The item selected will be fed into the 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 (pulldown in the first column selected) to the input, output, or test point 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.