Group Tests are complex tests that combine the test coverage of one or more tests. Below is a discussion of the two most common reasons for grouping tests.
Using Group Tests to Improve Diagnostic Efficiency
System designs often contain many low-level tests, each of which might evaluate only a very small part of the system (such as when individual parts report their health via BIT). When a static test sequence is generated using only these tests, the resulting diagnostics are extremely inefficient. A good test sequence begins by asking broad questions like "is the fuel system reporting an error?" and then, only when these broad questions indicate the possibility of a fault, continue with lower-level questions such as "is Check Valve CV3 stuck open?" or "is the Left Fuel Pump running?" These broader questions can be represented by grouping together individual tests (in this case, all tests that report an error in the fuel system) and allowing these tests to be candidates along with the original tests. When the test sequence is generated, eXpress will tend to order the tests in a way that maximizes diagnostic efficiency, asking broader questions first and deferring the more specific tests until the set of suspected failures has been somewhat reduced. (Of course, in certain time-critical situations, diagnostics may actually be more efficient by performing particularly critical tests directly—in this case, the Analyst would use test weightings to establish the proper priorities.)
Using Group Tests to Represent Tests whose Coverage is Constrained in Multiple Lower-Level Designs
Sometimes test coverage needs to be constrained within multiple lower-level designs. For example, a test performed at a particular upper-level location may need to exclude from its coverage specific output functions that exist within more than one lower-level design. This can be done by creating tests in each of the lower-level designs, marking the excluded coverage as non-detectable, inheriting those tests into the upper level and then grouping together the resulting hierarchical tests.
Note: When a Group test is created and one or more of the tests being grouped include in their coverage at least one output function associated with an assembly linked to a design from which another of the tests being grouped has been inherited, then all upper-level functions associated with that object are marked as non-detectable and observation interference is disabled for each of the grouped tests. This will prevent upper-level coverage from wiping out the lower-level distinctions in the inherited tests.