Steps

Steps are the transitions in the exploration graph. Step labels are action invocations that appear as transition labels in the exploration graph.

At test generation time, these step labels are translated either into method calls to the system under test (or adapter) that implements the call-return pair, or into events expected from that system under test (SUT). At test run time, for the call action step of a call-return pair, the generated test code will call the implementation (or adapter) method. For the matching return action step, the test code will then note the actual output result values given by the SUT. For events coming from the SUT (or adapter), all parameters will be considered outputs. The actual values found at test run time (that is, out parameters, results, and event parameters) will be compared to the expected values predicted by the model. This aspect of the model (that is, a knowledge of expected test values) is sometimes called the oracle. Only if these values meet all corresponding model conditions will the test case succeed.

As a behavioral modeling tool, Spec Explorer is ultimately concerned with what can actually be seen in terms of inputs and outputs of the SUT--that is, with actions. The remaining concern in Spec Explorer is with determining the legal sequence of steps (that is, model behavior) that an SUT will be expected to comply with in a test case. Spec Explorer's advanced notion of state is used only at model exploration time, by a rule determining whether a particular step label would be permitted at that point in the sequence. Thus, state does not partake in the actual test execution; only step labels, interpreted as events or invocations of the SUT (or adapter), are relevant to testing.

See Also

Reference

State Attributes

Concepts

Spec Explorer Concepts
Rules
Actions