5. The IStrategy interface.
a tester state. For example, the tester may have a counter of how many individual test
steps (transitions) have been made in total to be able to distinguish between different
occurrences of the same model state. In the offline case the value of the counter is
enough for the tester to know what action to select or to expect next, namely if the
counter is n then the next action is the nth action in the test suite (assuming the test
suite contains a single sequence of actions).
With on-the-fly testing, the selection of actions is dynamic and happens during
testing; there is no precomputed test suite and the full state machine does not need to
be known in advance. The tester state needs to be rich enough to record information
needed to select the next action. In particular, the tester state must have a reference
to the current model state in order to know what actions are enabled. An action that
is not enabled in the model must not be selected by the tester, because conformance
to the model would be violated.
A way to realize a particular on-the-fly tester is to implement a custom strategy.
The ct tool can be provided with a custom strategy using the strategy option. A
strategy is implemented by providing the IStrategy interface shown in Figure 12.5
that is assumed to provide the following functionality:
??? The ActionSymbols property gets the set of all possible action symbols in the
model.
Pages:
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272